From 417311203a70d6c22086a65b4b28abdfadcfd304 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Thu, 22 Feb 2007 22:09:10 +0000 Subject: [PATCH] Diffs which get us to stage two. It's slightly broken by the merge, but we want to get it in. Will be fixed tomorrow. Signed-off-by: Ronald G. Minnich Acked-by: Ronald G. Minnich Acked-by: Stefan Reinauer git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@79 f3766cd6-281f-0410-b1cd-43a5c92072e9 --- arch/x86/Makefile | 22 +++++++++++++++++++--- mainboard/emulation/qemu-i386/Makefile | 23 ++++++++++++++--------- mainboard/emulation/qemu-i386/initram.c | 2 +- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/arch/x86/Makefile b/arch/x86/Makefile index e3791e117a..2f201b13ce 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -52,9 +52,25 @@ initram: # This needs to be compressed with the default compressor # -$(obj)/linuxbios.stage2: $(obj)/statictree.o - $(Q)echo "building linuxbios_ram" - touch $(obj)/linuxbios.stage2 +$(obj)/linuxbios.stage2: $(obj)/stage0.init $(obj)/statictree.o + $(Q)echo "Building linuxbios.stage2" + # + # main + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/stage2.c -o $(obj)/stage2.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/devices/device.c -o $(obj)/device.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/devices/device_util.c -o $(obj)/device_util.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/mem.c -o $(obj)/mem.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/malloc.c -o $(obj)/malloc.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/clog2.c -o $(obj)/clog2.o + $(Q)$(CC) $(INITCFLAGS) -c -I$(src) $(src)/statictree.c -o $(obj)/statictree.o + $(Q)$(CC) $(INITCFLAGS) -c mainboard/$(MAINBOARDDIR)/mainboard.c -o $(obj)/mainboard.o + + # leave a .o with full symbols in it for debugging. + $(Q)cd $(obj); $(LD) -R stage0.o -Ttext 0x0 stage2.o \ + -o $(obj)/linuxbios.stage2.o device.o device_util.o mem.o malloc.o clog2.o mainboard.o statictree.o + objcopy -O binary $(obj)/linuxbios.stage2.o $(obj)/linuxbios.stage2 + + $(Q)chmod 644 $(obj)/linuxbios.stage2 # # The payload as we love it. Get it from somewhere. diff --git a/mainboard/emulation/qemu-i386/Makefile b/mainboard/emulation/qemu-i386/Makefile index 548f06f29f..9f712bff72 100644 --- a/mainboard/emulation/qemu-i386/Makefile +++ b/mainboard/emulation/qemu-i386/Makefile @@ -26,28 +26,33 @@ $(obj)/linuxbios.vpd: @printf "Building dummy VPD ..." - @dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=240 count=1 + @dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 @printf "ok.\n" # -# this is going to be the enable car code, lar parser and such: +# this is going to be the init ram code: # -linuxbios.initram: +$(obj)/linuxbios.initram: $(obj)/stage0.init $(Q)echo Building linuxbios.initram # # main $(Q)$(CC) $(INITCFLAGS) -c $(src)/mainboard/$(MAINBOARDDIR)/initram.c -o $(obj)/initram.o # # console lib - $(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/console.c -o $(obj)/console.o - $(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/serial.c -o $(obj)/serial.o - $(Q)$(CC) $(INITCFLAGS) -c $(src)/console/vtxprintf.c -o $(obj)/vtxprintf.o - $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/uart8250.c -o $(obj)/uart8250.o + #$(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/console.c -o $(obj)/console.o + #$(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/serial.c -o $(obj)/serial.o + #$(Q)$(CC) $(INITCFLAGS) -c $(src)/console/vtxprintf.c -o $(obj)/vtxprintf.o + #$(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/uart8250.c -o $(obj)/uart8250.o - cd $(obj); $(Q)$(LD) -Ttext 0x00000000 -s --oformat binary initram.o console.o uart8250.o \ - serial.o vtxprintf.o -o $(obj)/linuxbios.initram + #cd $(obj); $(Q)$(LD) -Ttext 0x00000000 -s --oformat binary initram.o console.o uart8250.o \ + # serial.o vtxprintf.o -o $(obj)/linuxbios.initram + + $(Q)$(LD) -R stage0.o -Ttext 0x80000 $(obj)/initram.o \ + -o $(obj)/linuxbios.initram.o + + $(Q)objcopy -O binary $(obj)/linuxbios.initram.o $(obj)/linuxbios.initram $(Q)chmod 644 $(obj)/linuxbios.initram diff --git a/mainboard/emulation/qemu-i386/initram.c b/mainboard/emulation/qemu-i386/initram.c index cd35dfab99..f09d4baa2f 100644 --- a/mainboard/emulation/qemu-i386/initram.c +++ b/mainboard/emulation/qemu-i386/initram.c @@ -34,7 +34,7 @@ int main(void) { printk(BIOS_INFO, "RAM init code started\n"); - die("Nothing to do."); + printk(BIOS_INFO, "Nothing to do."); return 0; }