diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2009-07-29 20:41:39 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2009-07-29 20:41:39 -0400 |
commit | c95d2cee36db79c88253d43a90230ceadf0c26cf (patch) | |
tree | 22ba1fd5527278ca9dc5f69370f9c9907c26aeca | |
parent | 8c8a880b584ccf8958d67e99a6750ba32d0b6454 (diff) | |
download | seabios-c95d2cee36db79c88253d43a90230ceadf0c26cf.tar.gz |
Add auto-generated version info to each build.
Add versioning info to initial debug and screen banner output.
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | src/optionroms.c | 8 | ||||
-rw-r--r-- | src/post.c | 2 | ||||
-rw-r--r-- | src/rombios.lds.S | 1 | ||||
-rw-r--r-- | src/util.h | 3 |
5 files changed, 16 insertions, 7 deletions
@@ -4,6 +4,9 @@ # # This file may be distributed under the terms of the GNU LGPLv3 license. +# Program version +VERSION=pre-0.4.2-$(shell date +"%Y%m%d_%H%M%S")-$(shell hostname) + # Output directory OUT=out/ @@ -134,11 +137,13 @@ $(OUT)rom32.o: $(OUT)code32.o $(OUT)rombios32.lds $(Q)$(LD) -r -T $(OUT)rombios32.lds $< -o $@ $(OUT)rom.o: $(OUT)rom16.o $(OUT)rom32.o $(OUT)rombios16.lds $(OUT)rombios.lds - @echo " Linking $@" + @echo " Linking $@ (version \"$(VERSION)\")" + $(Q)echo 'const char VERSION[] __attribute__((section(".data32.version"))) = "$(VERSION)";' > $(OUT)version.c + $(Q)$(CC) $(CFLAGS) -c $(OUT)version.c -o $(OUT)version.o $(Q)$(LD) -T $(OUT)rombios16.lds $(OUT)rom16.o -R $(OUT)rom32.o -o $(OUT)rom16.reloc.o $(Q)$(STRIP) $(OUT)rom16.reloc.o -o $(OUT)rom16.final.o $(Q)$(OBJCOPY) --adjust-vma 0xf0000 $(OUT)rom16.o $(OUT)rom16.moved.o - $(Q)$(LD) -T $(OUT)rombios.lds $(OUT)rom16.final.o $(OUT)rom32.o -R $(OUT)rom16.moved.o -o $@ + $(Q)$(LD) -T $(OUT)rombios.lds $(OUT)rom16.final.o $(OUT)rom32.o $(OUT)version.o -R $(OUT)rom16.moved.o -o $@ $(OUT)bios.bin.elf: $(OUT)rom.o @echo " Prepping $@" diff --git a/src/optionroms.c b/src/optionroms.c index 00fa85dc..819b318c 100644 --- a/src/optionroms.c +++ b/src/optionroms.c @@ -274,7 +274,7 @@ map_pcirom(u16 bdf, u32 vendev) struct rom_header *rom = (void*)orig; for (;;) { - dprintf(5, "Inspecting possible rom at %p (dv=%x bdf=%x)\n" + dprintf(5, "Inspecting possible rom at %p (dv=%08x bdf=%x)\n" , rom, vendev, bdf); if (rom->signature != OPTION_ROM_SIGNATURE) { dprintf(6, "No option rom signature (got %x)\n", rom->signature); @@ -290,7 +290,7 @@ map_pcirom(u16 bdf, u32 vendev) if (vd == vendev && pci->type == PCIROM_CODETYPE_X86) // A match break; - dprintf(6, "Didn't match dev/ven (got %x) or type (got %d)\n" + dprintf(6, "Didn't match dev/ven (got %08x) or type (got %d)\n" , vd, pci->type); if (pci->indicator & 0x80) { dprintf(6, "No more images left\n"); @@ -313,7 +313,7 @@ static int init_pcirom(u16 bdf, int isvga) { u32 vendev = pci_config_readl(bdf, PCI_VENDOR_ID); - dprintf(4, "Attempting to init PCI bdf %02x:%02x.%x (dev/ven %x)\n" + dprintf(4, "Attempting to init PCI bdf %02x:%02x.%x (dev/ven %08x)\n" , pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf), pci_bdf_to_fn(bdf) , vendev); struct rom_header *rom = lookup_hardcode(vendev); @@ -437,7 +437,7 @@ vga_setup() call16_int(0x10, &br); // Write to screen. - printf("Starting SeaBIOS\n\n"); + printf("Starting SeaBIOS (version %s)\n\n", VERSION); } void @@ -202,7 +202,7 @@ _start() init_dma(); debug_serial_setup(); - dprintf(1, "Start bios\n"); + dprintf(1, "Start bios (version %s)\n", VERSION); // Allow writes to modify bios area (0xf0000) make_bios_writable(); diff --git a/src/rombios.lds.S b/src/rombios.lds.S index 0f6e388b..3d59fad4 100644 --- a/src/rombios.lds.S +++ b/src/rombios.lds.S @@ -11,6 +11,7 @@ SECTIONS { .text code32_start : { *(.text32) + *(.data32.version) . = code16_start ; *(.text16) @@ -247,4 +247,7 @@ extern u8 BiosChecksum; // mptable.c extern int irq0override; +// version (auto generated file out/version.c) +extern const char VERSION[]; + #endif // util.h |