macro-ize access to device address space

Provide IO2V(phys) which works like P2V(phys) for the FE000000..FFFFFFFF
device io space, which is 1:1 mapped in 32bit, but mapped up near the
top of virtual memory in 64bit.

Update ioapic and lapic code to use this macro instead of assuming
the physical and virtual addresses are identical.