Xen has its own IPI mechanisms, and has no dependency on anyAPIC-based IPI. The smp_ops hooks and the flush_tlb_others pv_opallow a Xen guest to avoid all APIC code in arch/i386 (the only apicoperation is a single apic_read for the apic version number).

One subtle point which needs to be addressed is unpinning pagetableswhen another cpu may have a lazy tlb reference to the pagetable. Xenwill not allow an in-use pagetable to be unpinned, so we must find anyother cpus with a reference to the pagetable and get them to shootdown their references.