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