2 #include "../port/lib.h"
8 fpudevprocio(Proc* proc, void* a, long n, uintptr offset, int write)
11 * Called from procdevtab.read and procdevtab.write
12 * allow user process access to the FPU registers.
13 * This is the only FPU routine which is called directly
14 * from the port code; it would be nice to have dynamic
15 * creation of entries in the device file trees...
17 USED(proc, a, n, offset, write);
26 * Called when a note is about to be delivered to a
27 * user process, usually at the end of a system call.
28 * Note handlers are not allowed to use the FPU so
29 * the state is marked (after saving if necessary) and
30 * checked in the Device Not Available handler.
38 * Called from sysnoted() via the machine-dependent
40 * Clear the flag set above in fpunotify().
48 * Called early in the non-interruptible path of
49 * sysrfork() via the machine-dependent syscall() routine.
50 * Save the state so that it can be easily copied
51 * to the child process later.
56 fpusysrforkchild(Proc*, Ureg*, Proc*)
59 * Called later in sysrfork() via the machine-dependent
60 * sysrforkchild() routine.
61 * Copy the parent FPU state to the child.
69 * Called from sched() and sleep() via the machine-dependent
71 * About to go in to the scheduler.
72 * If the process wasn't using the FPU
73 * there's nothing to do.
81 * The process has been rescheduled and is about to run.
82 * Nothing to do here right now. If the process tries to use
83 * the FPU again it will cause a Device Not Available
84 * exception and the state will then be restored.
89 fpusysprocsetup(Proc*)
93 * Called from sysexec() via sysprocsetup() to
94 * set the FPU for the new process.
110 postnote(up, 1, up->errstr, NDebug);