On Mon, 9 May 2016, Tetsuo Handa wrote: > > It seems to me that APIC_BASE APIC_ICR APIC_ICR_BUSY are all constant > regardless of calling cpu. Thus, native_apic_mem_read() and > native_apic_mem_write() are using globally shared constant memory > address and __xapic_wait_icr_idle() is making decision based on > globally shared constant memory address. Am I right?
No. The APIC address space is per cpu. It's the same address but it's always accessing the local APIC of the cpu on which it is called. Thanks, tglx