[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.