smm: 64bit fixes
Change-Id: I35dab4e66514948aafa912d993fb8d42c5a520a0 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/11089 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
16643aa686
commit
01327d185b
2 changed files with 9 additions and 1 deletions
|
@ -61,14 +61,22 @@ $(obj)/cpu/x86/smm/smmstub.o: $$(smmstub-objs)
|
|||
$(CC_smmstub) $(CFLAGS_smmstub) -nostdlib -r -o $@ $^
|
||||
|
||||
# Link the SMM stub module with a 0-byte heap.
|
||||
ifeq ($(CONFIG_ARCH_RAMSTAGE_X86_32),y)
|
||||
$(eval $(call rmodule_link,$(obj)/cpu/x86/smm/smmstub.elf, $(obj)/cpu/x86/smm/smmstub.o, 0,x86_32))
|
||||
else
|
||||
$(eval $(call rmodule_link,$(obj)/cpu/x86/smm/smmstub.elf, $(obj)/cpu/x86/smm/smmstub.o, 0,x86_64))
|
||||
endif
|
||||
|
||||
$(obj)/cpu/x86/smm/smmstub: $(obj)/cpu/x86/smm/smmstub.elf.rmod
|
||||
$(OBJCOPY_smmstub) -O binary $< $@
|
||||
|
||||
$(obj)/cpu/x86/smm/smmstub.ramstage.manual: $(obj)/cpu/x86/smm/smmstub
|
||||
@printf " OBJCOPY $(subst $(obj)/,,$(@))\n"
|
||||
ifeq ($(CONFIG_ARCH_RAMSTAGE_X86_32),y)
|
||||
cd $(dir $@); $(OBJCOPY_smmstub) -I binary $(notdir $<) -O elf32-i386 -B i386 $(notdir $@)
|
||||
else
|
||||
cd $(dir $@); $(OBJCOPY_smmstub) -I binary $(notdir $<) -O elf64-x86_64 -B x86_64 $(notdir $@)
|
||||
endif
|
||||
|
||||
# C-based SMM handler.
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ static void smi_restore_pci_address(void)
|
|||
outl(pci_orig, 0xcf8);
|
||||
}
|
||||
|
||||
static inline void *smm_save_state(u32 base, int arch_offset, int node)
|
||||
static inline void *smm_save_state(uintptr_t base, int arch_offset, int node)
|
||||
{
|
||||
base += SMM_SAVE_STATE_BEGIN(arch_offset) - (node * 0x400);
|
||||
return (void *)base;
|
||||
|
|
Loading…
Reference in a new issue