[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] x86: add a new SMP bring up way for tboot case



Jan Beulich wrote on 2012-01-10:
>>>> On 09.01.12 at 17:01, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote:
>> tboot may be trying to put APs waiting in MWAIT loops before launching Xen.
>> Xen could check the new flag field in v6 tboot shared page for the
>> hint. If TB_FLAG_AP_WAKE_SUPPORT bit in flag field is set, Xen BSP
>> have to write the monitored memory(g_tboot_shared->ap_wake_trigger)
>> to bring APs out of MWAIT loops. The sipi vector should be written
>> in g_tboot_shared->ap_wake_addr before waking up APs.
>> 
>> Signed-off-by: Joseph Cihula <joseph.cihula@xxxxxxxxx>
>> Signed-off-by: Shane Wang <shane.wang@xxxxxxxxx>
>> Signed-off-by: Gang Wei <gang.wei@xxxxxxxxx>
>> 
>> diff -r 8087674cceb9 xen/arch/x86/smpboot.c
>> --- a/xen/arch/x86/smpboot.c Thu Jan 05 22:42:02 2012 +0800
>> +++ b/xen/arch/x86/smpboot.c Mon Jan 09 23:55:41 2012 +0800
>> @@ -586,7 +586,10 @@
>>      smpboot_setup_warm_reset_vector(start_eip);
>>      
>>      /* Starting actual IPI sequence... */
>> -    boot_error = wakeup_secondary_cpu(apicid, start_eip);
>> +    if ( tboot_in_measured_env() )
>> +        boot_error = tboot_wake_ap(apicid, start_eip);
>> +    else
>> +        boot_error = wakeup_secondary_cpu(apicid, start_eip);
> 
> I'm afraid this is broken now for older tboot - you want to call
> wakeup_secondary_cpu() if tboot_wake_ap() failed. All I had asked in
> the first review round was that you don't call
> tboot_wake_ap() without tboot_in_measured_env() returning true.

Oh, yes. I should not do this in mid-night. V3 patch will fix it.

Jimmy



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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