From 25c6d3a35ff673bc12315aec45178f8a9078578f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Sat, 21 Dec 2019 08:40:31 +0200 Subject: [PATCH] arch/x86: Remove walkcbfs() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was used in romcc bootblocks. Change-Id: Ie0cfbf124922d04a3320404d667610ad369ec00b Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/37885 Tested-by: build bot (Jenkins) Reviewed-by: HAOUAS Elyes Reviewed-by: Arthur Heymans --- src/arch/x86/Makefile.inc | 1 - src/arch/x86/include/arch/cbfs.h | 43 -------------------------------- 2 files changed, 44 deletions(-) diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 7e150ff06d..9486bc06cc 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -176,7 +176,6 @@ romstage-y += memmove.c romstage-$(CONFIG_X86_TOP4G_BOOTMEDIA_MAP) += mmap_boot.c romstage-y += postcar_loader.c romstage-$(CONFIG_COLLECT_TIMESTAMPS_TSC) += timestamp.c -romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += walkcbfs.S romstage-srcs += $(wildcard $(src)/mainboard/$(MAINBOARDDIR)/romstage.c) romstage-libs ?= diff --git a/src/arch/x86/include/arch/cbfs.h b/src/arch/x86/include/arch/cbfs.h index ec367ed1de..1e5c59bf4b 100644 --- a/src/arch/x86/include/arch/cbfs.h +++ b/src/arch/x86/include/arch/cbfs.h @@ -19,47 +19,4 @@ #define CBFS_SUBHEADER(_p) ((void *)((((uint8_t *)(_p)) + ntohl((_p)->offset)))) -static struct cbfs_file *walkcbfs_head(char *target) -{ - void *entry; - asm volatile ( - "mov $1f, %%esp\n\t" - "jmp walkcbfs_asm\n\t" - "1:\n\t" : "=a" (entry) : "S" (target) : "ebx", "ecx", "edi", - "esp"); - return entry; -} - -static void *walkcbfs(char *target) -{ - struct cbfs_file *head = walkcbfs_head(target); - if ((u32)head != 0) - return CBFS_SUBHEADER(head); - - /* We should never reach this if 'target' exists */ - return (void *)0; -} - -/* just enough to support findstage. copied because the original version doesn't - * easily pass through romcc - */ -struct cbfs_stage_restricted { - unsigned long compression; - unsigned long entry; // this is really 64bit, but properly endianized -}; - -static inline unsigned long findstage(char *target) -{ - struct cbfs_stage_restricted *stage = walkcbfs(target); - if ((u32)stage != 0) - return stage->entry; - - /* We should never reach this if 'target' exists */ - return 0; -} - -static inline void call(unsigned long addr, unsigned long bist) -{ - asm volatile ("jmp *%0\n\t" : : "r" (addr), "a" (bist)); -} #endif