]> xenbits.xensource.com Git - seabios.git/commitdiff
Minor - collect biostable copy code into new func copy_table().
authorKevin O'Connor <kevin@koconnor.net>
Sat, 9 Jun 2012 17:08:02 +0000 (13:08 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Sat, 9 Jun 2012 17:08:02 +0000 (13:08 -0400)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/biostables.c
src/coreboot.c
src/util.h
src/xen.c

index 57a5c5753b446ef46d6d835dd4031d7b53ffa432..0a8c39ad3cf37323adfac680be0407dc1be61346 100644 (file)
@@ -11,7 +11,7 @@
 #include "mptable.h" // MPTABLE_SIGNATURE
 #include "smbios.h" // struct smbios_entry_point
 
-void
+static void
 copy_pir(void *pos)
 {
     struct pir_header *p = pos;
@@ -33,7 +33,7 @@ copy_pir(void *pos)
     PirOffset = (u32)newpos - BUILD_BIOS_ADDR;
 }
 
-void
+static void
 copy_mptable(void *pos)
 {
     struct mptable_floating_s *p = pos;
@@ -57,7 +57,7 @@ copy_mptable(void *pos)
     memcpy((void*)newpos + length, (void*)p->physaddr, mpclength);
 }
 
-void
+static void
 copy_acpi_rsdp(void *pos)
 {
     if (RsdpAddr)
@@ -83,7 +83,7 @@ copy_acpi_rsdp(void *pos)
     RsdpAddr = newpos;
 }
 
-void
+static void
 copy_smbios(void *pos)
 {
     if (SMBiosAddr)
@@ -106,3 +106,12 @@ copy_smbios(void *pos)
     memcpy(newpos, pos, p->length);
     SMBiosAddr = newpos;
 }
+
+void
+copy_table(void *pos)
+{
+    copy_pir(pos);
+    copy_mptable(pos);
+    copy_acpi_rsdp(pos);
+    copy_smbios(pos);
+}
index d93196f12af471507a84873e7eae2e8114d6d219..9de99af7c6e552fb9d5015c0ada22f093d8c5a59 100644 (file)
@@ -198,12 +198,8 @@ scan_tables(u32 start, u32 size)
 {
     void *p = (void*)ALIGN(start, 16);
     void *end = (void*)start + size;
-    for (; p<end; p += 16) {
-        copy_pir(p);
-        copy_mptable(p);
-        copy_acpi_rsdp(p);
-        copy_smbios(p);
-    }
+    for (; p<end; p += 16)
+        copy_table(p);
 }
 
 void
index ba396781ea5d828ee9774ad37ead70a61b57055f..dbee0e5f07510572c0f140cf35145346fd362b47 100644 (file)
@@ -365,10 +365,7 @@ void coreboot_setup(void);
 void coreboot_cbfs_setup(void);
 
 // biostable.c
-void copy_pir(void *pos);
-void copy_mptable(void *pos);
-void copy_acpi_rsdp(void *pos);
-void copy_smbios(void *pos);
+void copy_table(void *pos);
 
 // vgahooks.c
 void handle_155f(struct bregs *regs);
index 40727930849fdbab550b1e5f7a2a2e8887976fd5..961e31685cf32dd13954ae813efe899bf1ff2ba4 100644 (file)
--- a/src/xen.c
+++ b/src/xen.c
@@ -107,17 +107,12 @@ void xen_init_hypercalls(void)
 void xen_copy_biostables(void)
 {
     struct xen_seabios_info *info = (void *)INFO_PHYSICAL_ADDRESS;
-    u32 *tables = (u32 *)info->tables;
+    void **tables = (void*)info->tables;
     int i;
 
     dprintf(1, "xen: copy BIOS tables...\n");
-    for (i=0; i<info->tables_nr; i++) {
-        void *table = (void *)tables[i];
-        copy_acpi_rsdp(table);
-        copy_mptable(table);
-        copy_pir(table);
-        copy_smbios(table);
-    }
+    for (i=0; i<info->tables_nr; i++)
+        copy_table(tables[i]);
 }
 
 void xen_setup(void)