setup percpu variable

Percpu variable implementation:
1. CPU0 percpu var allocated in .percpu
2. other cpus' var dynamically allocated
3. percpu var runtime allocation not supported

NOTES:
1. myid(), get id of the current cpu
2. mycpu(), get cpu struct of the current cpu
3. myid() and mycpu() only available after tls_init()
Alloc percpu variable for APs

Now, we allocate AP's percpu variables with alloc_pages()
Should consider NUMA in the future.
IOAPIC init for CPU0

All ext int are redirect to CPU0 only,
TODO: Fix trap.c: irq_enable