Displaying 4 results from an estimated 4 matches for "ebda_addr_pointer".
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 09/17] paravirt_ops - bios changes
...dex: 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....
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 09/17] paravirt_ops - bios changes
...dex: 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....
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...============================
--- clean-start.orig/arch/x86_64/kernel/setup.c
+++ clean-start/arch/x86_64/kernel/setup.c
@@ -327,10 +327,7 @@ static void discover_ebda(void)
* there is a real-mode segmented pointer pointing to the
* 4K EBDA area at 0x40E
*/
- ebda_addr = *(unsigned short *)EBDA_ADDR_POINTER;
- ebda_addr <<= 4;
-
- ebda_size = *(unsigned short *)(unsigned long)ebda_addr;
+ ebda_info(&ebda_addr,&ebda_size);
/* Round EBDA up to pages */
if (ebda_size == 0)
@@ -341,6 +338,12 @@ static void discover_ebda(void)
ebda_size = 64*1024;
}
+/* Overridden in paravirt.c if...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...============================
--- clean-start.orig/arch/x86_64/kernel/setup.c
+++ clean-start/arch/x86_64/kernel/setup.c
@@ -327,10 +327,7 @@ static void discover_ebda(void)
* there is a real-mode segmented pointer pointing to the
* 4K EBDA area at 0x40E
*/
- ebda_addr = *(unsigned short *)EBDA_ADDR_POINTER;
- ebda_addr <<= 4;
-
- ebda_size = *(unsigned short *)(unsigned long)ebda_addr;
+ ebda_info(&ebda_addr,&ebda_size);
/* Round EBDA up to pages */
if (ebda_size == 0)
@@ -341,6 +338,12 @@ static void discover_ebda(void)
ebda_size = 64*1024;
}
+/* Overridden in paravirt.c if...