From be26b9d25f615d483b1ce255c2ad8c8c97cb8ca4 Mon Sep 17 00:00:00 2001 From: Ashok Raj Date: Fri, 22 Apr 2005 14:46:24 -0700 Subject: [PATCH] --- yaml --- r: 387 b: refs/heads/master c: df6c6804ce1d383c878ab071bce8125125d96abc h: refs/heads/master i: 385: c63cba41547ac3b3cdb0c9c7cd94eef138de4186 383: 489d8ed8235bf3a5f126f68e083fc8300741ea98 v: v3 --- [refs] | 2 +- trunk/arch/ia64/kernel/head.S | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 93c82564a298..416b36217668 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8d8b883e6f029e99c35c88f853501740e322131 +refs/heads/master: df6c6804ce1d383c878ab071bce8125125d96abc diff --git a/trunk/arch/ia64/kernel/head.S b/trunk/arch/ia64/kernel/head.S index 0d535d65eea6..8d3a9291b47f 100644 --- a/trunk/arch/ia64/kernel/head.S +++ b/trunk/arch/ia64/kernel/head.S @@ -95,6 +95,10 @@ RestRR: \ add _idx1=1,_idx1;; \ br.cloop.sptk.few RestRR +#define SET_AREA_FOR_BOOTING_CPU(reg1, reg2) \ + movl reg1=sal_state_for_booting_cpu;; \ + ld8 reg2=[reg1];; + /* * Adjust region registers saved before starting to save * break regs and rest of the states that need to be preserved. @@ -150,7 +154,8 @@ RestRR: \ stf.spill.nta [_reg1]=f31,16;; #else -#define SAL_TO_OS_BOOT_HANDOFF_STATE_SAVE(a1,a2) +#define SET_AREA_FOR_BOOTING_CPU(a1, a2) +#define SAL_TO_OS_BOOT_HANDOFF_STATE_SAVE(a1,a2, a3) #define SAVE_REGION_REGS(_tmp, _r0, _r1, _r2, _r3, _r4, _r5, _r6, _r7) #define STORE_REGION_REGS(ptr, _r0, _r1, _r2, _r3, _r4, _r5, _r6, _r7) #endif @@ -260,8 +265,7 @@ start_ap: ;; 1: // now we are in virtual mode - movl r2=sal_state_for_booting_cpu;; - ld8 r16=[r2];; + SET_AREA_FOR_BOOTING_CPU(r2, r16); STORE_REGION_REGS(r16, r8,r9,r10,r11,r12,r13,r14,r15); SAL_TO_OS_BOOT_HANDOFF_STATE_SAVE(r16,r17,r25)