The section is informative only.
The Linux AMD64 kernel uses internally the same calling conventions as user-level applications (see section for details). User-level applications that like to call system calls should use the functions from the C library. The interface between the C library and the Linux kernel is the same as for the user-level applications with the following differences:
Any program or kernel can expect that a AMD64 processor implements the features mentioned in table . In general a program has to check itself whether those features are available but for AMD64 systems, these should always be available. Tablereffeatures uses the names for the processor features as documented in the processor manual.
Linux Kernel code is not allowed to change the x87 and SSE units. If those are changed by kernel code, they have to be restored properly before sleeping or leaving the kernel. On preemptive kernels also more precautions may be needed.
Jan Hubicka 2003-05-04