From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Mon, 3 Jun 2013 09:28:07 -0400 To: 9fans@9fans.net Message-ID: In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] Go and 21-bit runes (and a bit of Go status) Topicbox-Message-UUID: 61bc63f2-ead8-11e9-9d60-3106f5b1d025 On Mon Jun 3 01:39:33 EDT 2013, lucio@proxima.alt.za wrote: > > there are things that could be done. but before getting radical in a > > hurry, is there any place other than runtime=C2=B7memmove() that > > would use sse in a note handler? >=20 > I presumed, perhaps incorrectly, that users are allowed to write their > own signal handlers and are not prohibited from using floating point > instructions in them. there are no signals in plan 9. i assume that you mean note handlers. note handlers may be user set but may not do floating point. see notify(2) for documentation. as cinap pointed out, this is because the fp save area for the process is (potentially) busy when the note is delivered. think of it this way here up =3D user process. this is the kernel convention. some details of this are slightly incorrect for clarity. user kernel generates fault saves up registers, saves up floating point, sets fp state to FPillegal the save area is already used. starts note handler generates fp fault saves up registers, finds that we're in FPillegal state, and process becomes Broken - erik