soc/amd/picasso: Add support for 64bit builds
Tested on google/vilboz (running the PCI rom with yabel). Change-Id: Icd72c4eef7805aacba6378632cbac7de9527673b Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/63727 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
This commit is contained in:
parent
c429ee1d97
commit
df09680626
|
@ -25,6 +25,10 @@ bootblock_resume_entry:
|
||||||
bootblock_pre_c_entry:
|
bootblock_pre_c_entry:
|
||||||
post_code(0xa0)
|
post_code(0xa0)
|
||||||
|
|
||||||
|
#if ENV_X86_64
|
||||||
|
#include <cpu/x86/64bit/entry64.inc>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Clear .bss section */
|
/* Clear .bss section */
|
||||||
cld
|
cld
|
||||||
xor %eax, %eax
|
xor %eax, %eax
|
||||||
|
@ -40,10 +44,17 @@ bootblock_pre_c_entry:
|
||||||
and $0xfffffff0, %esp
|
and $0xfffffff0, %esp
|
||||||
sub $8, %esp
|
sub $8, %esp
|
||||||
|
|
||||||
|
#if ENV_X86_64
|
||||||
|
movd %mm2, %rdi
|
||||||
|
shlq $32, %rdi
|
||||||
|
movd %mm1, %rsi
|
||||||
|
or %rsi, %rdi
|
||||||
|
#else
|
||||||
movd %mm2, %eax
|
movd %mm2, %eax
|
||||||
pushl %eax /* tsc[63:32] */
|
pushl %eax /* tsc[63:32] */
|
||||||
movd %mm1, %eax
|
movd %mm1, %eax
|
||||||
pushl %eax /* tsc[31:0] */
|
pushl %eax /* tsc[31:0] */
|
||||||
|
#endif
|
||||||
|
|
||||||
post_code(0xa2)
|
post_code(0xa2)
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,7 @@ config CPU_SPECIFIC_OPTIONS
|
||||||
select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
|
select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
select X86_INIT_NEED_1_SIPI
|
select X86_INIT_NEED_1_SIPI
|
||||||
|
select HAVE_EXP_X86_64_SUPPORT
|
||||||
|
|
||||||
config CHIPSET_DEVICETREE
|
config CHIPSET_DEVICETREE
|
||||||
string
|
string
|
||||||
|
|
|
@ -143,8 +143,8 @@ PSP_APOB_BASE=$(CONFIG_PSP_APOB_DRAM_ADDRESS)
|
||||||
# type = 0x62
|
# type = 0x62
|
||||||
PSP_BIOSBIN_FILE=$(obj)/amd_biospsp.img
|
PSP_BIOSBIN_FILE=$(obj)/amd_biospsp.img
|
||||||
PSP_ELF_FILE=$(objcbfs)/bootblock.elf
|
PSP_ELF_FILE=$(objcbfs)/bootblock.elf
|
||||||
PSP_BIOSBIN_SIZE=$(shell $(READELF_bootblock) -l $(PSP_ELF_FILE) | grep LOAD | awk '{print $$5}')
|
PSP_BIOSBIN_SIZE=$(shell $(READELF_bootblock) -Wl $(PSP_ELF_FILE) | grep LOAD | awk '{print $$5}')
|
||||||
PSP_BIOSBIN_DEST=$(shell $(READELF_bootblock) -l $(PSP_ELF_FILE) | grep LOAD | awk '{print $$3}')
|
PSP_BIOSBIN_DEST=$(shell $(READELF_bootblock) -Wl $(PSP_ELF_FILE) | grep LOAD | awk '{print $$3}')
|
||||||
# type = 0x63 - construct APOB NV base/size from flash map
|
# type = 0x63 - construct APOB NV base/size from flash map
|
||||||
# The flashmap section used for this is expected to be named RW_MRC_CACHE
|
# The flashmap section used for this is expected to be named RW_MRC_CACHE
|
||||||
APOB_NV_SIZE=$(shell awk '$$2 == "FMAP_SECTION_RW_MRC_CACHE_SIZE" {print $$3}' $(obj)/fmap_config.h)
|
APOB_NV_SIZE=$(shell awk '$$2 == "FMAP_SECTION_RW_MRC_CACHE_SIZE" {print $$3}' $(obj)/fmap_config.h)
|
||||||
|
|
Loading…
Reference in New Issue