Rename coreboot_ram stage to ramstage

Rename coreboot_ram stage to ramstage. This is done in order to provide
consistency with other stage names (bootblock, romstage) and to allow any
Makefile rule generalization, required for patches to be submitted later.

Change-Id: Ib66e43b7e17b9c48b2d099670ba7e7d857673386
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: http://review.coreboot.org/5567
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Furquan Shaikh 2014-04-22 10:41:05 -07:00 committed by Patrick Georgi
parent 817149643c
commit 20f25dd5c8
27 changed files with 44 additions and 44 deletions

View File

@ -331,7 +331,7 @@ clean-abuild:
rm -rf coreboot-builds rm -rf coreboot-builds
clean-for-update-target: clean-for-update-target:
rm -f $(obj)/coreboot_ram* $(obj)/coreboot.romstage $(obj)/coreboot.pre* $(obj)/coreboot.bootblock $(obj)/coreboot.a rm -f $(obj)/ramstage* $(obj)/coreboot.romstage $(obj)/coreboot.pre* $(obj)/coreboot.bootblock $(obj)/coreboot.a
rm -rf $(obj)/bootblock* $(obj)/romstage* $(obj)/location.* rm -rf $(obj)/bootblock* $(obj)/romstage* $(obj)/location.*
rm -f $(obj)/option_table.* $(obj)/crt0.S $(obj)/ldscript rm -f $(obj)/option_table.* $(obj)/crt0.S $(obj)/ldscript
rm -f $(obj)/mainboard/$(MAINBOARDDIR)/static.c $(obj)/mainboard/$(MAINBOARDDIR)/config.py $(obj)/mainboard/$(MAINBOARDDIR)/static.dot rm -f $(obj)/mainboard/$(MAINBOARDDIR)/static.c $(obj)/mainboard/$(MAINBOARDDIR)/config.py $(obj)/mainboard/$(MAINBOARDDIR)/static.dot

View File

@ -166,7 +166,7 @@ config INCLUDE_CONFIG_FILE
Name Offset Type Size Name Offset Type Size
cmos_layout.bin 0x0 cmos layout 1159 cmos_layout.bin 0x0 cmos layout 1159
fallback/romstage 0x4c0 stage 339756 fallback/romstage 0x4c0 stage 339756
fallback/coreboot_ram 0x53440 stage 186664 fallback/ramstage 0x53440 stage 186664
fallback/payload 0x80dc0 payload 51526 fallback/payload 0x80dc0 payload 51526
config 0x8d740 raw 3324 config 0x8d740 raw 3324
(empty) 0x8e480 null 3610440 (empty) 0x8e480 null 3610440

View File

@ -65,10 +65,10 @@ $(obj)/coreboot.pre: $(CBFSTOOL)
mv $(obj)/coreboot.rom $@ mv $(obj)/coreboot.rom $@
endif endif
$(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/coreboot_ram.elf $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE)
@printf " CBFS $(subst $(obj)/,,$(@))\n" @printf " CBFS $(subst $(obj)/,,$(@))\n"
cp $(obj)/coreboot.pre $@.tmp cp $(obj)/coreboot.pre $@.tmp
$(CBFSTOOL) $@.tmp add-stage -f $(objcbfs)/coreboot_ram.elf -n $(CONFIG_CBFS_PREFIX)/coreboot_ram -c $(CBFS_COMPRESS_FLAG) $(CBFSTOOL) $@.tmp add-stage -f $(objcbfs)/ramstage.elf -n $(CONFIG_CBFS_PREFIX)/ramstage -c $(CBFS_COMPRESS_FLAG)
ifeq ($(CONFIG_PAYLOAD_NONE),y) ifeq ($(CONFIG_PAYLOAD_NONE),y)
@printf " PAYLOAD none (as specified by user)\n" @printf " PAYLOAD none (as specified by user)\n"
endif endif
@ -117,17 +117,17 @@ $(stages_o): $(stages_c) $(obj)/config.h
################################################################################ ################################################################################
# Build the coreboot_ram (stage 2) # Build the ramstage (stage 2)
$(objcbfs)/coreboot_ram.debug: $(objgenerated)/coreboot_ram.o $(src)/arch/armv7/coreboot_ram.ld $(objcbfs)/ramstage.debug: $(objgenerated)/ramstage.o $(src)/arch/armv7/ramstage.ld
@printf " CC $(subst $(obj)/,,$(@))\n" @printf " CC $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y) ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
$(LD) -m armelf_linux_eabi -o $@ -L$(obj) $< -T $(src)/arch/armv7/coreboot_ram.ld $(LD) -m armelf_linux_eabi -o $@ -L$(obj) $< -T $(src)/arch/armv7/ramstage.ld
else else
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/armv7/coreboot_ram.ld $< $(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/armv7/ramstage.ld $<
endif endif
$(objgenerated)/coreboot_ram.o: $(stages_o) $$(ramstage-objs) $(LIBGCC_FILE_NAME) $(objgenerated)/ramstage.o: $(stages_o) $$(ramstage-objs) $(LIBGCC_FILE_NAME)
@printf " CC $(subst $(obj)/,,$(@))\n" @printf " CC $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y) ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
$(LD) -m -m armelf_linux_eabi -r -o $@ --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 --wrap __uidiv --start-group $(ramstage-objs) $(LIBGCC_FILE_NAME) --end-group $(LD) -m -m armelf_linux_eabi -r -o $@ --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 --wrap __uidiv --start-group $(ramstage-objs) $(LIBGCC_FILE_NAME) --end-group

View File

@ -16,7 +16,7 @@
/* /*
* Written by Johan Rydberg, based on work by Daniel Kahlin. * Written by Johan Rydberg, based on work by Daniel Kahlin.
* Rewritten by Eric Biederman * Rewritten by Eric Biederman
* 2005.12 yhlu add coreboot_ram cross the vga font buffer handling * 2005.12 yhlu add ramstage cross the vga font buffer handling
*/ */
/* We use ELF as output format. So that we can debug the code in some form. */ /* We use ELF as output format. So that we can debug the code in some form. */

View File

@ -16,7 +16,7 @@
/* /*
* Written by Johan Rydberg, based on work by Daniel Kahlin. * Written by Johan Rydberg, based on work by Daniel Kahlin.
* Rewritten by Eric Biederman * Rewritten by Eric Biederman
* 2005.12 yhlu add coreboot_ram cross the vga font buffer handling * 2005.12 yhlu add ramstage cross the vga font buffer handling
*/ */
/* We use ELF as output format. So that we can debug the code in some form. */ /* We use ELF as output format. So that we can debug the code in some form. */

View File

@ -99,10 +99,10 @@ $(REFCODE_BLOB): $(RMODTOOL)
$(RMODTOOL) -i $(CONFIG_REFCODE_BLOB_FILE) -o $@ $(RMODTOOL) -i $(CONFIG_REFCODE_BLOB_FILE) -o $@
endif endif
$(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/coreboot_ram.elf $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $$(VBOOT_STUB) $(REFCODE_BLOB) $(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $$(VBOOT_STUB) $(REFCODE_BLOB)
@printf " CBFS $(subst $(obj)/,,$(@))\n" @printf " CBFS $(subst $(obj)/,,$(@))\n"
cp $(obj)/coreboot.pre $@.tmp cp $(obj)/coreboot.pre $@.tmp
$(CBFSTOOL) $@.tmp add-stage -f $(objcbfs)/coreboot_ram.elf -n $(CONFIG_CBFS_PREFIX)/coreboot_ram -c $(CBFS_COMPRESS_FLAG) $(CBFSTOOL) $@.tmp add-stage -f $(objcbfs)/ramstage.elf -n $(CONFIG_CBFS_PREFIX)/ramstage -c $(CBFS_COMPRESS_FLAG)
ifeq ($(CONFIG_PAYLOAD_NONE),y) ifeq ($(CONFIG_PAYLOAD_NONE),y)
@printf " PAYLOAD none (as specified by user)\n" @printf " PAYLOAD none (as specified by user)\n"
endif endif
@ -205,31 +205,31 @@ $(objcbfs)/%.elf: $(objcbfs)/%.debug
mv $@.tmp $@ mv $@.tmp $@
################################################################################ ################################################################################
# Build the coreboot_ram (stage 2) # Build the ramstage (stage 2)
ramstage-libs ?= ramstage-libs ?=
ifeq ($(CONFIG_RELOCATABLE_RAMSTAGE),y) ifeq ($(CONFIG_RELOCATABLE_RAMSTAGE),y)
$(eval $(call rmodule_link,$(objcbfs)/coreboot_ram.debug, $(objgenerated)/coreboot_ram.o, $(CONFIG_HEAP_SIZE))) $(eval $(call rmodule_link,$(objcbfs)/ramstage.debug, $(objgenerated)/ramstage.o, $(CONFIG_HEAP_SIZE)))
# The rmodule_link defintion creates an elf file with .rmod extension. # The rmodule_link defintion creates an elf file with .rmod extension.
$(objcbfs)/coreboot_ram.elf: $(objcbfs)/coreboot_ram.debug.rmod $(objcbfs)/ramstage.elf: $(objcbfs)/ramstage.debug.rmod
cp $< $@ cp $< $@
else else
$(objcbfs)/coreboot_ram.debug: $(objgenerated)/coreboot_ram.o $(src)/arch/x86/coreboot_ram.ld $(objcbfs)/ramstage.debug: $(objgenerated)/ramstage.o $(src)/arch/x86/ramstage.ld
@printf " CC $(subst $(obj)/,,$(@))\n" @printf " CC $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y) ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
$(LD) -m elf_i386 -o $@ -L$(obj) $< -T $(src)/arch/x86/coreboot_ram.ld $(LD) -m elf_i386 -o $@ -L$(obj) $< -T $(src)/arch/x86/ramstage.ld
else else
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/x86/coreboot_ram.ld $< $(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/x86/ramstage.ld $<
endif endif
endif endif
$(objgenerated)/coreboot_ram.o: $$(ramstage-objs) $(LIBGCC_FILE_NAME) $$(ramstage-libs) $(objgenerated)/ramstage.o: $$(ramstage-objs) $(LIBGCC_FILE_NAME) $$(ramstage-libs)
@printf " CC $(subst $(obj)/,,$(@))\n" @printf " CC $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y) ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
$(LD) -m elf_i386 -r -o $@ --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 --start-group $(ramstage-objs) $(ramstage-libs) $(LIBGCC_FILE_NAME) --end-group $(LD) -m elf_i386 -r -o $@ --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 --start-group $(ramstage-objs) $(ramstage-libs) $(LIBGCC_FILE_NAME) --end-group

View File

@ -16,7 +16,7 @@
/* /*
* Written by Johan Rydberg, based on work by Daniel Kahlin. * Written by Johan Rydberg, based on work by Daniel Kahlin.
* Rewritten by Eric Biederman * Rewritten by Eric Biederman
* 2005.12 yhlu add coreboot_ram cross the vga font buffer handling * 2005.12 yhlu add ramstage cross the vga font buffer handling
*/ */
/* We use ELF as output format. So that we can debug the code in some form. */ /* We use ELF as output format. So that we can debug the code in some form. */

View File

@ -36,7 +36,7 @@ static inline __attribute__((always_inline)) void disable_cache_as_ram(void)
#if CONFIG_DCACHE_RAM_SIZE > 0x8000 #if CONFIG_DCACHE_RAM_SIZE > 0x8000
wrmsr(MTRRfix4K_C0000_MSR, msr); wrmsr(MTRRfix4K_C0000_MSR, msr);
#endif #endif
/* disable fixed mtrr from now on, it will be enabled by coreboot_ram again*/ /* disable fixed mtrr from now on, it will be enabled by ramstage again*/
msr = rdmsr(SYSCFG_MSR); msr = rdmsr(SYSCFG_MSR);
msr.lo &= ~(SYSCFG_MSR_MtrrFixDramEn | SYSCFG_MSR_MtrrFixDramModEn); msr.lo &= ~(SYSCFG_MSR_MtrrFixDramEn | SYSCFG_MSR_MtrrFixDramModEn);

View File

@ -153,7 +153,7 @@ cache_as_ram_new_stack (void *resume_backup_memory __attribute__ ((unused)))
set_sysinfo_in_ram(1); // So other core0 could start to train mem set_sysinfo_in_ram(1); // So other core0 could start to train mem
/*copy and execute coreboot_ram */ /*copy and execute ramstage */
copy_and_run(); copy_and_run();
/* We will not return */ /* We will not return */

View File

@ -42,11 +42,11 @@ static const msrinit_t msr_table[] =
/* Pre-setup access to memory above 1Mb. Here we set up about 500Mb of memory. /* Pre-setup access to memory above 1Mb. Here we set up about 500Mb of memory.
* It doesn't really matter in fact how much, however, because the only usage * It doesn't really matter in fact how much, however, because the only usage
* of this extended memory will be to host the coreboot_ram stage at RAMBASE, * of this extended memory will be to host the ramstage stage at RAMBASE,
* currently 1Mb. * currently 1Mb.
* These registers will be set to their correct value by the Northbridge init code. * These registers will be set to their correct value by the Northbridge init code.
* *
* WARNING: if coreboot_ram could not be loaded, these registers are probably * WARNING: if ramstage could not be loaded, these registers are probably
* incorrectly set here. You may comment the following two lines and set RAMBASE * incorrectly set here. You may comment the following two lines and set RAMBASE
* to 0x4000 to revert to the previous behavior for LX-boards. * to 0x4000 to revert to the previous behavior for LX-boards.
*/ */

View File

@ -162,7 +162,7 @@ _clear_mtrrs_:
post_code(0x38) post_code(0x38)
/* Enable Write Back and Speculative Reads for the first MB /* Enable Write Back and Speculative Reads for the first MB
* and coreboot_ram. * and ramstage.
*/ */
movl $MTRRphysBase_MSR(0), %ecx movl $MTRRphysBase_MSR(0), %ecx
movl $(0x00000000 | MTRR_TYPE_WRBACK), %eax movl $(0x00000000 | MTRR_TYPE_WRBACK), %eax

View File

@ -227,7 +227,7 @@ before_romstage:
post_code(0x38) post_code(0x38)
/* Enable Write Back and Speculative Reads for the first MB /* Enable Write Back and Speculative Reads for the first MB
* and coreboot_ram. * and ramstage.
*/ */
movl $MTRRphysBase_MSR(0), %ecx movl $MTRRphysBase_MSR(0), %ecx
movl $(0x00000000 | MTRR_TYPE_WRBACK), %eax movl $(0x00000000 | MTRR_TYPE_WRBACK), %eax

View File

@ -239,7 +239,7 @@ before_romstage:
post_code(0x38) post_code(0x38)
/* Enable Write Back and Speculative Reads for the first MB /* Enable Write Back and Speculative Reads for the first MB
* and coreboot_ram. * and ramstage.
*/ */
movl $MTRRphysBase_MSR(0), %ecx movl $MTRRphysBase_MSR(0), %ecx
movl $(0x00000000 | MTRR_TYPE_WRBACK), %eax movl $(0x00000000 | MTRR_TYPE_WRBACK), %eax

View File

@ -1,5 +1,5 @@
/* /*
2005.12 yhlu add coreboot_ram cross the vga font buffer handling 2005.12 yhlu add ramstage cross the vga font buffer handling
*/ */
#include <console/console.h> #include <console/console.h>

View File

@ -36,7 +36,7 @@ static const struct ramstage_loader_ops *loaders[] = {
&cbfs_ramstage_loader, &cbfs_ramstage_loader,
}; };
static const char *ramstage_name = CONFIG_CBFS_PREFIX "/coreboot_ram"; static const char *ramstage_name = CONFIG_CBFS_PREFIX "/ramstage";
static const uint32_t ramstage_id = CBMEM_ID_RAMSTAGE; static const uint32_t ramstage_id = CBMEM_ID_RAMSTAGE;
static void static void

View File

@ -34,7 +34,7 @@ SECTIONS
/* The driver sections are to allow linking coreboot's /* The driver sections are to allow linking coreboot's
* ramstage with the rmodule linker. Any changes made in * ramstage with the rmodule linker. Any changes made in
* coreboot_ram.ld should be made here as well. */ * ramstage.ld should be made here as well. */
pci_drivers = . ; pci_drivers = . ;
*(.rodata.pci_driver) *(.rodata.pci_driver)
epci_drivers = . ; epci_drivers = . ;

View File

@ -29,7 +29,7 @@
#include <bootmem.h> #include <bootmem.h>
#include <payload_loader.h> #include <payload_loader.h>
/* from coreboot_ram.ld: */ /* from ramstage.ld: */
extern unsigned char _ram_seg; extern unsigned char _ram_seg;
extern unsigned char _eram_seg; extern unsigned char _eram_seg;
@ -418,7 +418,7 @@ static int load_self_segments(
/* Zero the extra bytes */ /* Zero the extra bytes */
memset(middle, 0, end - middle); memset(middle, 0, end - middle);
} }
/* Copy the data that's outside the area that shadows coreboot_ram */ /* Copy the data that's outside the area that shadows ramstage */
printk(BIOS_DEBUG, "dest %p, end %p, bouncebuffer %lx\n", dest, end, bounce_buffer); printk(BIOS_DEBUG, "dest %p, end %p, bouncebuffer %lx\n", dest, end, bounce_buffer);
if ((unsigned long)end > bounce_buffer) { if ((unsigned long)end > bounce_buffer) {
if ((unsigned long)dest < bounce_buffer) { if ((unsigned long)dest < bounce_buffer) {

View File

@ -87,7 +87,7 @@ void main(void)
a1x_set_cpu_clock(384); a1x_set_cpu_clock(384);
} }
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram"); entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage");
printk(BIOS_INFO, "entry is 0x%p, leaving romstage.\n", entry); printk(BIOS_INFO, "entry is 0x%p, leaving romstage.\n", entry);
stage_exit(entry); stage_exit(entry);

View File

@ -23,7 +23,7 @@ void main(void)
console_init(); console_init();
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram"); entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage");
stage_exit(entry); stage_exit(entry);
} }

View File

@ -274,7 +274,7 @@ void main(void)
cbmem_initialize_empty(); cbmem_initialize_empty();
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram"); entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage");
simple_spi_test(); simple_spi_test();
stage_exit(entry); stage_exit(entry);
} }

View File

@ -186,6 +186,6 @@ void main(void)
cbmem_initialize_empty(); cbmem_initialize_empty();
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram"); entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage");
stage_exit(entry); stage_exit(entry);
} }

View File

@ -32,7 +32,7 @@ void main(void)
console_init(); console_init();
printk(BIOS_INFO, "Hello from romstage.\n"); printk(BIOS_INFO, "Hello from romstage.\n");
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram"); entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage");
printk(BIOS_INFO, "entry is 0x%p, leaving romstage.\n", entry); printk(BIOS_INFO, "entry is 0x%p, leaving romstage.\n", entry);
stage_exit(entry); stage_exit(entry);

View File

@ -1033,7 +1033,7 @@ struct nodes_info_t {
u32 up_planes; // down planes will be [up_planes, planes) u32 up_planes; // down planes will be [up_planes, planes)
} __attribute__((packed)); } __attribute__((packed));
/* be careful with the alignment of sysinfo, bacause sysinfo may be shared by coreboot_car and coreboot_ram stage. and coreboot_ram may be running at 64bit later.*/ /* be careful with the alignment of sysinfo, bacause sysinfo may be shared by coreboot_car and ramstage stage. and ramstage may be running at 64bit later.*/
#if !CONFIG_AMDMCT #if !CONFIG_AMDMCT
//#define MEM_CS_COPY 1 //#define MEM_CS_COPY 1

View File

@ -80,7 +80,7 @@ unsigned node_link_to_bus(unsigned node, unsigned link)
* pci1234[0] will record the south bridge link and bus range * pci1234[0] will record the south bridge link and bus range
* pci1234[i] will record HT chain i. * pci1234[i] will record HT chain i.
* *
* For example, on the Tyan S2885 coreboot_ram will put the AMD8151 chain (HT * For example, on the Tyan S2885 ramstage will put the AMD8151 chain (HT
* link 0) into the register 0xE0, and the AMD8131/8111 HT chain into the * link 0) into the register 0xE0, and the AMD8131/8111 HT chain into the
* register 0xE4. * register 0xE4.
* *

View File

@ -177,7 +177,7 @@ static void bcm5785_early_setup(void)
byte |= (1<<0); // SATA enable byte |= (1<<0); // SATA enable
pci_write_config8(dev, 0x84, byte); pci_write_config8(dev, 0x84, byte);
// WDT and cf9 for later in coreboot_ram to call hard_reset // WDT and cf9 for later in ramstage to call hard_reset
bcm5785_enable_wdt_port_cf9(); bcm5785_enable_wdt_port_cf9();
bcm5785_enable_msg(); bcm5785_enable_msg();

View File

@ -26,6 +26,6 @@ that.
Great use is: Great use is:
make make
./genprof /tmp/yourlog ; gprof ../../build/coreboot_ram | ./gprof2dot.py -e0 -n0 | dot -Tpng -o output.png ./genprof /tmp/yourlog ; gprof ../../build/ramstage | ./gprof2dot.py -e0 -n0 | dot -Tpng -o output.png
Which generates a PNG with a call graph. Which generates a PNG with a call graph.

View File

@ -10,9 +10,9 @@ A=`echo $line | cut -c 1`
if [ "$A" = '~' ] ; then if [ "$A" = '~' ] ; then
FROM=`echo $line | tr \~ \( | tr \) \( | awk -F\( '{print $3}'` FROM=`echo $line | tr \~ \( | tr \) \( | awk -F\( '{print $3}'`
TO=`echo $line | tr \~ \( | tr \) \(|awk -F\( '{print $2}'` TO=`echo $line | tr \~ \( | tr \) \(|awk -F\( '{print $2}'`
addr2line -e ../../build/cbfs/fallback/coreboot_ram.debug "$FROM" | tr -d "\n" addr2line -e ../../build/cbfs/fallback/ramstage.debug "$FROM" | tr -d "\n"
echo -n " calls " echo -n " calls "
addr2line -e ../../build/cbfs/fallback/coreboot_ram.debug "$TO" addr2line -e ../../build/cbfs/fallback/ramstage.debug "$TO"
else else
echo "$line" echo "$line"
fi fi