Patrick Rudolph has uploaded this change for review.

View Change

ironlake: Add support for x86_64

Allow to compile the experimental x86_64 code.

Tested on Lenovo Thinkpad T410. Works without issues.

Change-Id: I60f2fccba357cb5fb5d85feb4ee8d02abfe6bc7e
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
M src/cpu/intel/microcode/microcode_asm.S
M src/cpu/intel/model_2065x/Kconfig
M src/cpu/x86/early_reset.S
3 files changed, 14 insertions(+), 4 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/99/45699/1
diff --git a/src/cpu/intel/microcode/microcode_asm.S b/src/cpu/intel/microcode/microcode_asm.S
index f02351a..5a8b907 100644
--- a/src/cpu/intel/microcode/microcode_asm.S
+++ b/src/cpu/intel/microcode/microcode_asm.S
@@ -45,6 +45,7 @@

.section .text
.global update_bsp_microcode
+.code32

update_bsp_microcode:
/* Keep return address */
diff --git a/src/cpu/intel/model_2065x/Kconfig b/src/cpu/intel/model_2065x/Kconfig
index 78cac30..19eeab0 100644
--- a/src/cpu/intel/model_2065x/Kconfig
+++ b/src/cpu/intel/model_2065x/Kconfig
@@ -3,12 +3,20 @@

if CPU_INTEL_MODEL_2065X

+config ARCH_EXP_X86_64
+ bool "Experimental 64bit support"
+ default n
+
config CPU_SPECIFIC_OPTIONS
def_bool y
- select ARCH_BOOTBLOCK_X86_32
- select ARCH_VERSTAGE_X86_32
- select ARCH_ROMSTAGE_X86_32
- select ARCH_RAMSTAGE_X86_32
+ select ARCH_BOOTBLOCK_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_BOOTBLOCK_X86_64 if ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_64 if ARCH_EXP_X86_64
select SSE2
select UDELAY_TSC
select TSC_MONOTONIC_TIMER
diff --git a/src/cpu/x86/early_reset.S b/src/cpu/x86/early_reset.S
index 6ce9d52..c6d0703 100644
--- a/src/cpu/x86/early_reset.S
+++ b/src/cpu/x86/early_reset.S
@@ -9,6 +9,7 @@

.section .text
.global check_mtrr
+.code32

check_mtrr:
/* Use the MTRR default type MSR as a proxy for detecting INIT#.

To view, visit change 45699. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I60f2fccba357cb5fb5d85feb4ee8d02abfe6bc7e
Gerrit-Change-Number: 45699
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-MessageType: newchange