Revert "cpu/x86/sipi: Add x86_64 support"
This reverts commit 18ad7fa51f
.
Breaks Mpinit. The log shows:
SIPI module has no parameters.
MP initialization failure.
Change-Id: Ideed19437667124a02c0f03aa7be8dec042d0f44
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44734
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
dda2de81c7
commit
0fc1f2fb6f
|
@ -16,12 +16,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#if defined(__RAMSTAGE__)
|
|
||||||
#include <arch/ram_segs.h>
|
|
||||||
#else
|
|
||||||
#include <arch/rom_segs.h>
|
#include <arch/rom_segs.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
setup_longmode:
|
setup_longmode:
|
||||||
/* Get page table address */
|
/* Get page table address */
|
||||||
|
@ -47,12 +42,7 @@ setup_longmode:
|
||||||
movl %eax, %cr0
|
movl %eax, %cr0
|
||||||
|
|
||||||
/* use long jump to switch to 64-bit code segment */
|
/* use long jump to switch to 64-bit code segment */
|
||||||
#if defined(__RAMSTAGE__)
|
|
||||||
ljmp $RAM_CODE_SEG64, $__longmode_start
|
|
||||||
#else
|
|
||||||
ljmp $ROM_CODE_SEG64, $__longmode_start
|
ljmp $ROM_CODE_SEG64, $__longmode_start
|
||||||
|
|
||||||
#endif
|
|
||||||
.code64
|
.code64
|
||||||
__longmode_start:
|
__longmode_start:
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ ifeq ($(CONFIG_PARALLEL_MP),y)
|
||||||
$(TARGET_STAGE)-srcs += $(SIPI_BIN).manual
|
$(TARGET_STAGE)-srcs += $(SIPI_BIN).manual
|
||||||
endif
|
endif
|
||||||
rmodules_$(ARCH-$(TARGET_STAGE)-y)-$(CONFIG_PARALLEL_MP) += sipi_vector.S
|
rmodules_$(ARCH-$(TARGET_STAGE)-y)-$(CONFIG_PARALLEL_MP) += sipi_vector.S
|
||||||
rmodules_$(ARCH-$(TARGET_STAGE)-y)-generic-ccopts += $($(TARGET_STAGE)-generic-ccopts)
|
|
||||||
|
|
||||||
$(SIPI_DOTO): $(call src-to-obj,rmodules_$(ARCH-$(TARGET_STAGE)-y),src/cpu/x86/sipi_vector.S)
|
$(SIPI_DOTO): $(call src-to-obj,rmodules_$(ARCH-$(TARGET_STAGE)-y),src/cpu/x86/sipi_vector.S)
|
||||||
$(LD_rmodules_$(ARCH-$(TARGET_STAGE)-y)) -nostdlib -r -o $@ $^
|
$(LD_rmodules_$(ARCH-$(TARGET_STAGE)-y)) -nostdlib -r -o $@ $^
|
||||||
|
|
|
@ -192,24 +192,11 @@ load_msr:
|
||||||
mov %eax, %cr4
|
mov %eax, %cr4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __x86_64__
|
|
||||||
/* entry64.inc preserves ebx. */
|
|
||||||
#include <cpu/x86/64bit/entry64.inc>
|
|
||||||
|
|
||||||
mov %rsi, %rdi /* cpu_num */
|
|
||||||
|
|
||||||
movl c_handler, %eax
|
|
||||||
call *%rax
|
|
||||||
#else
|
|
||||||
/* c_handler(cpu_num), preserve proper stack alignment */
|
/* c_handler(cpu_num), preserve proper stack alignment */
|
||||||
sub $12, %esp
|
sub $12, %esp
|
||||||
push %esi /* cpu_num */
|
push %esi /* cpu_num */
|
||||||
|
|
||||||
mov c_handler, %eax
|
mov c_handler, %eax
|
||||||
call *%eax
|
call *%eax
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
halt_jump:
|
halt_jump:
|
||||||
hlt
|
hlt
|
||||||
jmp halt_jump
|
jmp halt_jump
|
||||||
|
|
Loading…
Reference in New Issue