[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [IA64] introduce efi_memmap_walk_type



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID bb99a6e5456adf9a882662e70cd5e12013803629
# Parent  14a34d811e81cce0d224106d631ce009ce01f145
[IA64] introduce efi_memmap_walk_type

introduce efi_memmap_walk_type() for the next dom0 builder patch.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>

diff -r 14a34d811e81 -r bb99a6e5456a xen/arch/ia64/linux-xen/efi.c
--- a/xen/arch/ia64/linux-xen/efi.c     Tue Apr 25 13:06:57 2006 -0600
+++ b/xen/arch/ia64/linux-xen/efi.c     Tue Apr 25 13:11:15 2006 -0600
@@ -455,6 +455,27 @@ efi_memmap_walk_uc (efi_freemem_callback
        }
 }
 
+#ifdef XEN
+void
+efi_memmap_walk_type(u32 type, efi_walk_type_callback_t callback, void *arg)
+{
+       void *efi_map_start, *efi_map_end, *p;
+       efi_memory_desc_t *md;
+       u64 efi_desc_size;
+
+       efi_map_start = __va(ia64_boot_param->efi_memmap);
+       efi_map_end = efi_map_start + ia64_boot_param->efi_memmap_size;
+       efi_desc_size = ia64_boot_param->efi_memdesc_size;
+
+       for (p = efi_map_start; p < efi_map_end; p += efi_desc_size) {
+               md = p;
+               if (md->type == type) {
+                       if ((*callback)(md, arg) < 0)
+                               return;
+               }
+       }
+}
+#endif
 
 /*
  * Look for the PAL_CODE region reported by EFI and maps it using an
diff -r 14a34d811e81 -r bb99a6e5456a xen/include/asm-ia64/linux-xen/linux/efi.h
--- a/xen/include/asm-ia64/linux-xen/linux/efi.h        Tue Apr 25 13:06:57 
2006 -0600
+++ b/xen/include/asm-ia64/linux-xen/linux/efi.h        Tue Apr 25 13:11:15 
2006 -0600
@@ -293,6 +293,10 @@ extern void efi_map_pal_code (void);
 extern void efi_map_pal_code (void);
 extern void efi_map_memmap(void);
 extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg);
+#ifdef XEN
+typedef int (*efi_walk_type_callback_t)(efi_memory_desc_t *md, void *arg);
+extern void efi_memmap_walk_type(u32 type, efi_walk_type_callback_t callback, 
void *arg);
+#endif
 extern void efi_gettimeofday (struct timespec *ts);
 extern void efi_enter_virtual_mode (void);     /* switch EFI to virtual mode, 
if possible */
 extern u64 efi_get_iobase (void);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.