| From | Yinghai Lu <> | Subject | [PATCH v6 13/27] x86: use rsi/rdi to pass realmode_data pointer | Date | Thu, 13 Dec 2012 14:02:07 -0800 |
| |
When 64bit bootloader put real mode data above 4g, pointer will be 64bit instead of 32bit
use rsi/rdi instead of esi/edi for real_data pointer passing between asm code and c code.
Signed-off-by: Yinghai Lu <yinghai@kernel.org> --- arch/x86/kernel/head_64.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index 7d13874..4630d20 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -409,9 +409,9 @@ ENTRY(secondary_startup_64) movl initial_gs+4(%rip),%edx wrmsr - /* esi is pointer to real mode structure with interesting info. + /* rsi is pointer to real mode structure with interesting info. pass it to C */ - movl %esi, %edi + movq %rsi, %rdi /* Finally jump to run C code and to be on real kernel address * Since we are running on identity-mapped space we have to jump -- 1.7.10.4
|