[T.Hesketh@unsw.EDU.AU (Tim Hesketh) writes:]
>1. Is the summary of functions in syscall.c a reasonable summary of system
> calls? Are there other places to look as well?
Aside from the exhaustive list of syscalls, you could also look at doc/man/2
for documentation on the messaging system calls.
>2. What is the status of fpu support? I have seen comments referring to
> fpu support in the mail archives, and have found some relevant code,
> but for example, what happens on task/thread switching? Is this user
> controllable? What floating point support is offered within programs? I'm
> experimenting.
We offer access to the 387 FPU in the kernel. The libraries do not support
floating point (i.e., printf()) yet. There are some bootstrap issues; I
need to coordinate with Dave Hudson to get everything up and running.
The kernel does the usual multiprocessor lazy load/strict save of the FPU
context. A task just sees that they can use the FPU instructions. See
the use of T_FPU in mach/trap.c and kern/sched.c.
>3. Are there options for control of task scheduling, and if so, how are they
> invoked?
See kern/sched.c, especially sched_op(). There's nothing along the lines of
an external scheduler.
>4. Can I change machine clock-tick rates?
Sure. Just change HZ, and everything should follow (delta the hardware's
ability to implement what you request--see <mach/pit.h>.
>5. Can you point me at some code that would best illustrate interrupt
> setting-up/handling?
I guess rs232/isr.c (and rs232/main.c to set up interrupt handling) is as
good as anything. Also os/mach/isr.c, to see how it's implemented.
The Amiga/68030 port has an interesting variation of interrupt handling. It
uses a minimal P-code to do the front-line handling of interrupt state
(which must be cleared before you can run other user tasks), with the server
registering the P-code as a part of connecting with a device's interrupt
level.
Regards,
Andy Valencia
Received on Mon Jul 3 06:08:12 1995
This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:27 PDT