[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 1/3] x86/smpboot: Re-position the call to tboot_wake_ap()
So all the moving parts are in one function. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Wei Liu <wl@xxxxxxx> CC: Marek Kasiewicz <marek.kasiewicz@xxxxxxxxx> CC: Norbert Kamiński <norbert.kaminski@xxxxxxxxx> CC: Michal Zygowski <michal.zygowski@xxxxxxxxx> CC: Piotr Krol <piotr.krol@xxxxxxxx> CC: Krystian Hebel <krystian.hebel@xxxxxxxxx> CC: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx> CC: Rich Persaud <persaur@xxxxxxxxx> CC: Christopher Clark <christopher.w.clark@xxxxxxxxx> --- xen/arch/x86/smpboot.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 67e727cebd..9eca452ce1 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -426,6 +426,13 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip) int maxlvt, timeout, i; /* + * Some versions of tboot might be able to handle the entire wake sequence + * on our behalf. + */ + if ( tboot_in_measured_env() && tboot_wake_ap(phys_apicid, start_eip) ) + return 0; + + /* * Be paranoid about clearing APIC errors. */ apic_write(APIC_ESR, 0); @@ -570,8 +577,7 @@ static int do_boot_cpu(int apicid, int cpu) set_cpu_state(CPU_STATE_INIT); /* Starting actual IPI sequence... */ - if ( !tboot_in_measured_env() || tboot_wake_ap(apicid, start_eip) ) - boot_error = wakeup_secondary_cpu(apicid, start_eip); + boot_error = wakeup_secondary_cpu(apicid, start_eip); if ( !boot_error ) { -- 2.11.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |