Add list.h keyword-like macros to syntax file
SET_SEGS macro

This macro generates asm to set the segment registers.
Allocate timers in shared kernel memory.

This will allow the (hardware) timer ISR to run without switching to the
kernel's page table.
Allocate pf_info structures in batches

Instead of allocating pf_info structures for every available page at
once during init, allocate them as they are needed.  Currently, a
page-worth of pf_infos are allocated at a time.
Don't copy arguments for zero-arg ISRs
Separate timer creation and starting

The timer_create() function no longer starts the timer.  Instead,
timer_start() must be called.  This should make it easier to implement
POSIX timers.
Fix typo, omission in syntax file
compiler.h

likely()/unlikely() and __always_inline stolen from linux.
register semantics

Use %ebx for base pointer, %ecx for loop counter, etc. when possible.