Steven Rostedt
2007-Apr-18 13:02 UTC
[RFC/PATCH PV_OPS X86_64 09/17] paravirt_ops - bios changes
plain text document attachment (xx-paravirt-bios.patch)
Add an interface for paravirt ops and e820.
Signed-off-by: Steven Rostedt srostedt@redhat.com
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Index: clean-start/arch/x86_64/kernel/e820.c
==================================================================---
clean-start.orig/arch/x86_64/kernel/e820.c
+++ clean-start/arch/x86_64/kernel/e820.c
@@ -567,7 +567,7 @@ void __init setup_memory_region(void)
if (copy_e820_map(E820_MAP, E820_MAP_NR) < 0)
early_panic("Cannot find a valid memory map");
printk(KERN_INFO "BIOS-provided physical RAM map:\n");
- e820_print_map("BIOS-e820");
+ e820_print_map(MAP_TYPE_STR);
}
static int __init parse_memopt(char *p)
Index: clean-start/include/asm-x86_64/e820.h
==================================================================---
clean-start.orig/include/asm-x86_64/e820.h
+++ clean-start/include/asm-x86_64/e820.h
@@ -55,7 +55,22 @@ extern void finish_e820_parsing(void);
extern struct e820map e820;
+#define EBDA_ADDR_POINTER 0x40E
+static inline void native_ebda_info(unsigned *addr,unsigned *size)
+{
+ *addr = *(unsigned short *)EBDA_ADDR_POINTER;
+ *addr <<= 4;
+ *size = *(unsigned short *)(unsigned long)*addr;
+}
+
extern unsigned ebda_addr, ebda_size;
+#ifdef CONFIG_PARAVIRT
+#include <asm/paravirt.h>
+#else
+#define ebda_info native_ebda_info
+#define MAP_TYPE_STR "BIOS-e820"
+#endif
+
#endif/*!__ASSEMBLY__*/
#endif/*__E820_HEADER*/
--
Apparently Analagous Threads
- [RFC/PATCH PV_OPS X86_64 09/17] paravirt_ops - bios changes
- [RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
- [RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
- [PATCH] x86-64: IOMMU compilation
- [RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
