Breakup rombios32.c into pciinit.c and smbios.c
diff --git a/src/post.c b/src/post.c
index b41e77f..e1ec630 100644
--- a/src/post.c
+++ b/src/post.c
@@ -16,6 +16,8 @@
 #include "disk.h" // floppy_drive_setup
 #include "memmap.h" // add_e820
 #include "pic.h" // pic_setup
+#include "pci.h" // create_pirtable
+#include "acpi.h" // acpi_bios_init
 
 #define bda ((struct bios_data_area_s *)MAKE_FARPTR(SEG_BDA, 0))
 #define ebda ((struct extended_bios_data_area_s *)MAKE_FARPTR(SEG_EBDA, 0))
@@ -120,6 +122,24 @@
 }
 
 static void
+init_bios_tables(void)
+{
+    if (CONFIG_COREBOOT)
+        // XXX - not supported on coreboot yet.
+        return;
+
+    smm_init();
+
+    create_pirtable();
+
+    mptable_init();
+
+    smbios_init();
+
+    acpi_bios_init();
+}
+
+static void
 init_boot_vectors()
 {
     dprintf(3, "init boot device ordering\n");
@@ -247,7 +267,9 @@
 
     printf("BIOS - begin\n\n");
 
-    rombios32_init();
+    pci_bios_setup();
+
+    init_bios_tables();
 
     memmap_finalize();