CBMEM high table memory manager.
[coreboot.git] / src / boot / hardwaremain.c
index 058be24ebc2a95cdb10a7bc7f641785f42a9ee62..5f5b0efb02b9185cfef764e2405eeb1017d3c527 100644 (file)
@@ -25,7 +25,6 @@ it with the version available from LANL.
  * C Bootstrap code for the coreboot
  */
 
-
 #include <console/console.h>
 #include <version.h>
 #include <device/device.h>
@@ -40,12 +39,14 @@ it with the version available from LANL.
 #if CONFIG_HAVE_ACPI_RESUME
 #include <arch/acpi.h>
 #endif
+#if CONFIG_WRITE_HIGH_TABLES
+#include <cbmem.h>
+#endif
 
 /**
- * @brief Main function of the DRAM part of coreboot.
- *
- * Coreboot is divided into Pre-DRAM part and DRAM part. 
+ * @brief Main function of the RAM part of coreboot.
  *
+ * Coreboot is divided into Pre-RAM part and RAM part. 
  * 
  * Device Enumeration:
  *     In the dev_enumerate() phase, 
@@ -57,12 +58,12 @@ void hardwaremain(int boot_complete)
 
        post_code(0x80);
 
-       /* displayinit MUST PRECEDE ALL PRINTK! */
+       /* console_init() MUST PRECEDE ALL printk()! */
        console_init();
        
        post_code(0x39);
 
-       printk_notice("coreboot-%s%s %s %s...\n", 
+       printk(BIOS_NOTICE, "coreboot-%s%s %s %s...\n", 
                      coreboot_version, coreboot_extra_version, coreboot_build,
                      (boot_complete)?"rebooting":"booting");
 
@@ -88,6 +89,9 @@ void hardwaremain(int boot_complete)
        dev_initialize();
        post_code(0x89);
 
+#if CONFIG_WRITE_HIGH_TABLES == 1
+       cbmem_initialize();
+#endif
 #if CONFIG_HAVE_ACPI_RESUME == 1
        suspend_resume();
        post_code(0x8a);
@@ -97,22 +101,11 @@ void hardwaremain(int boot_complete)
         * write our configuration tables.
         */
        lb_mem = write_tables();
-#if CONFIG_CBFS == 1
-# if CONFIG_USE_FALLBACK_IMAGE == 1
+#if CONFIG_USE_FALLBACK_IMAGE == 1
        cbfs_load_payload(lb_mem, "fallback/payload");
-# else
-       cbfs_load_payload(lb_mem, "normal/payload");
-# endif
 #else
-
-#if CONFIG_FS_PAYLOAD == 1
-#warning "CONFIG_FS_PAYLOAD is deprecated."
-       filo(lb_mem);
-#else
-#warning "elfboot will soon be deprecated."
-       elfboot(lb_mem);
-#endif
+       cbfs_load_payload(lb_mem, "normal/payload");
 #endif
-       printk_err("Boot failed.\n");
+       printk(BIOS_ERR, "Boot failed.\n");
 }