arch/x86: Remove walkcbfs()
This was used in romcc bootblocks. Change-Id: Ie0cfbf124922d04a3320404d667610ad369ec00b Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37885 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
945b698f82
commit
25c6d3a35f
|
@ -176,7 +176,6 @@ romstage-y += memmove.c
|
||||||
romstage-$(CONFIG_X86_TOP4G_BOOTMEDIA_MAP) += mmap_boot.c
|
romstage-$(CONFIG_X86_TOP4G_BOOTMEDIA_MAP) += mmap_boot.c
|
||||||
romstage-y += postcar_loader.c
|
romstage-y += postcar_loader.c
|
||||||
romstage-$(CONFIG_COLLECT_TIMESTAMPS_TSC) += timestamp.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-srcs += $(wildcard $(src)/mainboard/$(MAINBOARDDIR)/romstage.c)
|
||||||
romstage-libs ?=
|
romstage-libs ?=
|
||||||
|
|
|
@ -19,47 +19,4 @@
|
||||||
|
|
||||||
#define CBFS_SUBHEADER(_p) ((void *)((((uint8_t *)(_p)) + ntohl((_p)->offset))))
|
#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
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue