Jan Beulich wrote onĀ 2012-01-10: >>>> On 09.01.12 at 17:01, "Wei, Gang" <gang....@intel.com> 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.cih...@intel.com> >> Signed-off-by: Shane Wang <shane.w...@intel.com> >> Signed-off-by: Gang Wei <gang....@intel.com> >> >> 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 ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ tboot-devel mailing list tboot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tboot-devel