[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |