[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor driver
On Thu, May 03, 2012 at 04:47:46PM +0200, Stefan Bader wrote: > On 03.05.2012 14:58, Stefan Bader wrote: > > >>>>> So this shoudl solve the problem for the bootup processor. > >>>>>> > >>>>>> -boris > >>>>>> > >>>>>> > >>>>>>> + }; > >>>>>>> + int ret = 0; > >>>>>>> + > >>>>>>> + /* Shouldn't need this as APIC is turned off for PV, and we only > >>>>>>> + * get called on the bootup processor. But just in case. */ > >>>>>>> + if (!xen_initial_domain() || smp_processor_id()) > >>>>>>> + return 0; > >>>>>>> + > >>>>>>> + if (reg == APIC_LVR) > >>>>>>> + return 0x10; > >>>>>>> + > >>>>>>> + if (reg != APIC_ID) > >>>>>>> + return 0; > >>>>>>> + > >>>>>>> + ret = HYPERVISOR_dom0_op(&op); > >>>>>>> + if (ret) > >>>>>>> + return 0; > >>>>>>> + > >>>>>>> + return op.u.pcpu_info.apic_id; > >>>>>>> } > >>>>>>> > >>>>>>> static void xen_apic_write(u32 reg, u32 val) > > > > I added debugging to all exit paths that could return 0 (which is what the > > boot_cpu_physical_apicid is set to with that patch. Which would only leave > > the > > case of the HV call returning the wrong value somehow... > > > Hmmm, so xen_apic_read is still correct... > > [ 0.000000] ACPI: Local APIC address 0xfee00000 > [ 0.000000] xxx xen_apic_read(20) > [ 0.000000] xxx xen_apic_read -> 10 > [ 0.000000] boot_cpu_physical_apicid = 0 > [ 0.000000] xxx xen_apic_read(30) > [ 0.000000] +- apic version = 10 > > there seems to be a slightly strange tweak (at least for me) in > read_apic_id... > > static inline unsigned int read_apic_id(void) > { > unsigned int reg; > > reg = apic_read(APIC_ID); // calls apic->read(reg) > > return apic->get_apic_id(reg); Duh!! Let me spin out a new patch that will do this. > } > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |