[coreboot] [FILO] r98 - in trunk/filo: . i386

svn at coreboot.org svn at coreboot.org
Sun May 24 16:56:59 CEST 2009


Author: stepan
Date: 2009-05-24 16:56:59 +0200 (Sun, 24 May 2009)
New Revision: 98

Modified:
   trunk/filo/Makefile
   trunk/filo/i386/linux_load.c
Log:
This update contains two fixes for FILO when used with newer libpayload
versions. 
- don't unconditionally use coreboot memory entries from libpayload, but
  instead only look at those that are memory.
- specify architecture include for multi platform libpayload
- sort symbol table (cosmetical but maybe useful)

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Stefan Reinauer <stepan at coresystems.de>



Modified: trunk/filo/Makefile
===================================================================
--- trunk/filo/Makefile	2009-05-24 14:54:19 UTC (rev 97)
+++ trunk/filo/Makefile	2009-05-24 14:56:59 UTC (rev 98)
@@ -76,7 +76,7 @@
 LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
 
 OBJS     := $(patsubst %,$(obj)/%,$(TARGETS-y))
-INCLUDES := -I$(INCPAYLOAD) -Iinclude -I$(ARCHDIR-y)/include -Ibuild
+INCLUDES := -I$(INCPAYLOAD) -I$(INCPAYLOAD)/$(ARCHDIR-y) -Iinclude -I$(ARCHDIR-y)/include -Ibuild
 INCLUDES += -I$(GCCINCDIR)
 
 try-run= $(shell set -e; \
@@ -107,7 +107,7 @@
 
 $(TARGET): $(obj)/filo $(obj)/util/ebchecksum
 	$(Q)cp $(obj)/filo $@
-	$(Q)$(NM) $(obj)/filo > $(obj)/filo.map
+	$(Q)$(NM) $(obj)/filo | sort > $(obj)/filo.map
 	$(Q)printf "  STRIP   $(subst $(shell pwd)/,,$(@))\n"
 	$(Q)$(STRIP) -s $@
 	$(Q)printf "  EBCHECK $(subst $(shell pwd)/,,$(@))\n"

Modified: trunk/filo/i386/linux_load.c
===================================================================
--- trunk/filo/i386/linux_load.c	2009-05-24 14:54:19 UTC (rev 97)
+++ trunk/filo/i386/linux_load.c	2009-05-24 14:56:59 UTC (rev 98)
@@ -271,9 +271,9 @@
 	    /* Convert to BIOS e820 style */
 	    linux_map->addr = filo_map->base;
 	    linux_map->size = filo_map->size;
-	    linux_map->type = E820_RAM;
-	    debug("%016Lx - %016Lx\n", linux_map->addr,
-		    linux_map->addr + linux_map->size);
+	    linux_map->type = filo_map->type;
+	    debug("%016Lx - %016Lx (%d)\n", linux_map->addr,
+		    linux_map->addr + linux_map->size, linux_map->type);
 	    params->e820_map_nr = i+1;
 	}
 
@@ -284,6 +284,7 @@
 		ramtop = (u32) end;
 	}
     }
+
     debug("ramtop=%#x\n", ramtop);
     /* Size of memory above 1MB in KB */
     params->alt_mem_k = (ramtop - (1<<20)) >> 10;





More information about the coreboot mailing list