Add automatic SMBIOS table generation
[coreboot.git] / src / include / cbmem.h
index 6f40d4e48524191b245a6a0d68a5b47c56061b7e..7c5ec0784d27823b8def0125f2c0fb0b31629b06 100644 (file)
 #define _CBMEM_H_
 
 /* Reserve 64k for ACPI and other tables */
-#define HIGH_MEMORY_TABLES     ( 64 * 1024 )
+#define HIGH_MEMORY_DEF_SIZE   ( 64 * 1024 )
+extern uint64_t high_tables_base, high_tables_size;
 
 #if CONFIG_HAVE_ACPI_RESUME
-#define HIGH_MEMORY_SIZE       ((CONFIG_RAMTOP - CONFIG_RAMBASE) + HIGH_MEMORY_TABLES)
-#define HIGH_MEMORY_SAVE       ( HIGH_MEMORY_SIZE - HIGH_MEMORY_TABLES )
+#define HIGH_MEMORY_SIZE       ((CONFIG_RAMTOP - CONFIG_RAMBASE) + HIGH_MEMORY_DEF_SIZE)
+#define HIGH_MEMORY_SAVE       ( HIGH_MEMORY_SIZE - HIGH_MEMORY_DEF_SIZE )
 #else
-#define HIGH_MEMORY_SIZE       HIGH_MEMORY_TABLES
+#define HIGH_MEMORY_SIZE       HIGH_MEMORY_DEF_SIZE
 #endif
 
 #define CBMEM_ID_FREESPACE     0x46524545
@@ -37,6 +38,7 @@
 #define CBMEM_ID_PIRQ          0x49525154
 #define CBMEM_ID_MPTABLE       0x534d5054
 #define CBMEM_ID_RESUME                0x5245534d
+#define CBMEM_ID_SMBIOS         0x534d4254
 #define CBMEM_ID_NONE          0x00000000
 
 void cbmem_initialize(void);
@@ -48,8 +50,9 @@ void *cbmem_find(u32 id);
 void cbmem_list(void);
 void cbmem_arch_init(void);
 
+extern struct cbmem_entry *get_cbmem_toc(void);
+
 #ifndef __PRE_RAM__
-struct cbmem_entry *get_cbmem_toc(void);
 void set_cbmem_toc(struct cbmem_entry *);
 #endif
 #endif