> So here's basically what the kernel needs:
>
> - if we don't touch a field, the compiler doesn't touch it.
>
>This is the rule that gcc now violates with bitfields.
>
>This is a gcc bug. End of story. The "volatile" example proves it -
> anybody who argues otherwise is simply wrong, a
> a. the int $0x80 instruction is much slower than syscall. An actual
>i386 process can use the syscall instruction which is disambiguated
>by the CPU based on mode, but an x32 process is in the same CPU mode
>as a normal 64-bit process.
So set a flag, whoopee
> b. 64-bit arguments h
> The actual idea is to use the i386 compat ABI for memory layout, but
> with a 64-bit register convention. That means that system calls that
> don't make references to memory structures can simply use the 64-bit
> system calls, otherwise we're planning to reuse the i386 compat system
> calls, but