On Thu, Mar 17, 2011 at 04:12:48PM +0000, Jan Beulich wrote:
> >>> On 17.03.11 at 16:52, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >>> wrote:
> > 2.6.38 fixes this by allowing in acpi_register_lapic_address, the
> > the set_fixmap_nocache(FIX_APIC_BASE, address) to be called and we
> > can provide it with a dummy page and native_apic_read can happily
> > read from that fake page.
> I wonder whether that's going to be appropriate in cases...
If you boot the 2.6.38 it works, but it does provide these ugly and untrue
0.000000] ACPI: IOAPIC (id[0x0f] address[0xfec00000] gsi_base)
[ 0.000000] IOAPIC: apic_id 15, version 255, address 0xfec00000, GSI 0-255
[ 0.000000] ACPI: IOAPIC (id[0x0e] address[0xfec01000] gsi_base)
[ 0.000000] IOAPIC: apic_id 14, version 255, address 0xfec01000, GSI
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 00, APIC ID f, APIC INT
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 8 global_irq 8 low edge)
[ 0.000000] Int: type 0, pol 3, trig 1, bus 00, IRQ 08, APIC ID f, APIC INT
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 low edge)
[ 0.000000] Int: type 0, pol 3, trig 1, bus 00, IRQ 0e, APIC ID f, APIC INT
[ 0.000000] Int: type 0, pol 3, trig 3, bus 00, IRQ 09, APIC ID f, APIC INT
[ 0.000000] ACPI: IRQ0 used by override.
I don't remember if it was suggested to hpa/ingo/tglx whether we could
provide another 'struct apic' that would be Xen specific and the apic->probe()
would either provide a struct mostly filled with dummy functions that return
nothing, or the Xen apic->probe() function would over-write the current
'apic->read,write, etc' with the xen dummy functions.
However we seem to achieve this already by providing a dummy page that
is read/writen to by the native_apic_[read|write].
Xen-devel mailing list