Displaying 11 results from an estimated 11 matches for "e820map".
Did you mean:
e820_map
2011 Jul 19
0
[PATCH 2/3] x86-64/MMCFG: finally make Fam10 enabling work
...86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -563,6 +563,55 @@ static void __init machine_specific_memo
clip_to_limit(top_of_ram, "MTRRs do not cover all of memory.");
}
+/* This function relies on the passed in e820->map[] being sorted. */
+int __init e820_add_range(
+ struct e820map *e820, uint64_t s, uint64_t e, uint32_t type)
+{
+ unsigned int i;
+
+ for ( i = 0; i < e820->nr_map; ++i )
+ {
+ uint64_t rs = e820->map[i].addr;
+ uint64_t re = rs + e820->map[i].size;
+
+ if ( rs == e && e820->map[i].type == type )
+ {...
2005 Aug 17
2
[PATCH] Increasing E820MAX
We found machines with >32 E820 memory map entries, where Xen fails to
boot (but Linux does boot fine). The native Linux (both x86 and x86_86)
already has:
#define E820MAX 128 /* number of entries in E820MAP */
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Jun
---
Intel Open Source Technology Center
--
diff -r 3bb1857981e6 -r 51e9c0c806b2 xen/include/asm-x86/e820.h
--- a/xen/include/asm-x86/e820.h Tue Aug 16 19:38:22 2005
+++ b/xen/include/asm-x86/e820.h Wed Aug 17 17:00:29 2005
@@ -3,...
2013 Nov 25
0
Re: [edk2] [PATCH RFC v2 7/7] OvmfPkg: introduce XenMemMapInitialization
...0xC000,
> + 0x4000
> + );
> +
> + //
> + // Video memory + Legacy BIOS region
> + //
> + AddIoMemoryRangeHob (0x0A0000, BASE_1MB);
> +
> + //
> + // Parse RAM in E820 map
> + //
> + if (Info->E820EntryCount > 0) {
> + EFI_E820_ENTRY64 *E820Map, *Entry;
> + UINT16 Loop;
> +
> + E820Map = Info->E820;
> + for (Loop = 0; Loop < Info->E820EntryCount; Loop++) {
> + Entry = E820Map + Loop;
> +
> + // only care about RAM
> + if (Entry->Type != EfiAcpiAddressRangeMemory)
> + co...
2013 May 21
26
New Xen boot infrastructure proposal
...structure. */
typedef struct {
/*
* Amount of lower memory accordingly to The Multiboot
* Specification version 0.6.96.
*/
u32 lower;
/*
* Amount of upper memory accordingly to The Multiboot
* Specification version 0.6.96.
*/
u32 upper;
u32 map_size;
struct e820entry *e820map;
} xbia_mem_t;
/* Xen Boot Info Arch (XBIA). */
typedef struct {
EFI_SYSTEM_TABLE *efi_system_table;
u64 mps; /* Pointer to MPS. */
u64 acpi; /* Pointer to ACPI RSDP. */
u64 smbios; /* Pointer to SMBIOS. */
xbia_mem_t mem;
struct xen_vga_console_info vga_console_info;
struct edd_info...
2013 Aug 26
5
[RFC PATCH 0/2] GLOBAL() macro for asm code.
Hello,
This series has been split into two patches, one for arm and one for x86. I
figured that this was easier than doing it as a single combined patch,
especially as the changes are functionally independent.
x86 has been boot tested, but arm has not even been compile tested as I lack a
suitable cross compiler. However, the changes are just text replacement, so I
dont expect any issues.
The
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 09/17] paravirt_ops - bios changes
...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_P...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 09/17] paravirt_ops - bios changes
...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_P...
2008 Oct 26
4
Bug#503556: crashes on geode
...all trace:
(XEN) [<ff146c26>] amd_mcheck_init+0x26/0xe0
(XEN) [<ff1464cc>] identify_cpu+0x1fc/0x210
(XEN) [<ff1b3fbe>] subarch_init_memory+0x4e/0x70
(XEN) [<ff1ad999>] __start_xen+0xab9/0x1380
(XEN) [<ff1a1fff>] e820nr+0x0/0x4
(XEN) [<ff1a15ff>] e820map+0x0/0xa00
(XEN) [<ff10006c>] __high_start+0x58/0x5a
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) GENERAL PROTECTION FAULT
(XEN) [error_code=0000]
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
----------...
2006 Aug 11
0
[PATCH] [4/5] SMBIOS -- generate SMBIOS tables
...(char*)start);
+}
+
+/* This tries to figure out how much pseudo-physical memory (in MB)
+ is allocated to the current domU.
+
+ It iterates through the e820 table, adding up the ''usable'' and
+ ''reserved'' entries and rounding up to the nearest MB.
+
+ The e820map is not at e820 in hvmloader, so this uses the
+ E820_MAP_* constants from e820.h to pick it up where libxenguest
+ left it.
+ */
+static uint64_t
+get_memsize(void)
+{
+ struct e820entry *map = NULL;
+ uint8_t num_entries = 0;
+ uint64_t memsize = 0;
+ uint8_t i;
+
+ map = (struc...
2007 May 09
0
[patch 9/9] lguest: the documentation, example launcher
...)(boot+0x21c) = initrd_size;
+ *(unsigned char *)(boot+0x210) = 0xFF;
+ }
+
+ /* Set up the initial linar pagetables. */
+ pgdir = setup_pagetables(mem, initrd_size, page_offset);
+
+ /* E820 memory map: ours is a simple, single region. */
+ *(char*)(boot+E820NR) = 1;
+ *((struct e820entry *)(boot+E820MAP))
+ = ((struct e820entry) { 0, mem, E820_RAM });
+ /* Command line pointer and command line (at 4096) */
+ *(void **)(boot + 0x228) = boot + 4096;
+ concat(boot + 4096, argv+optind+2);
+ /* Paravirt type: 1 == lguest */
+ *(int *)(boot + 0x23c) = 1;
+
+ lguest_fd = tell_kernel(pgdir, start, page_o...
2007 May 09
0
[patch 9/9] lguest: the documentation, example launcher
...)(boot+0x21c) = initrd_size;
+ *(unsigned char *)(boot+0x210) = 0xFF;
+ }
+
+ /* Set up the initial linar pagetables. */
+ pgdir = setup_pagetables(mem, initrd_size, page_offset);
+
+ /* E820 memory map: ours is a simple, single region. */
+ *(char*)(boot+E820NR) = 1;
+ *((struct e820entry *)(boot+E820MAP))
+ = ((struct e820entry) { 0, mem, E820_RAM });
+ /* Command line pointer and command line (at 4096) */
+ *(void **)(boot + 0x228) = boot + 4096;
+ concat(boot + 4096, argv+optind+2);
+ /* Paravirt type: 1 == lguest */
+ *(int *)(boot + 0x23c) = 1;
+
+ lguest_fd = tell_kernel(pgdir, start, page_o...