[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [v6][PATCH 5/7] hvmloader: introduce hypercall for xc_reserved_device_memory_map
We will introduce that hypercall xc_reserved_device_memory_map to hvmloader. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index 80d822f..90dbb6e 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -828,6 +828,28 @@ int hpet_exists(unsigned long hpet_base) return ((hpet_id >> 16) == 0x8086); } +int get_reserved_device_memory_map(struct xen_mem_reserved_device_memory entries[], + uint32_t max_entries) +{ + static int map_done = 0; + struct xen_mem_reserved_device_memory_map memmap = { + .nr_entries = max_entries + }; + + if ( map_done ) + return 0; + + set_xen_guest_handle(memmap.buffer, entries); + + if ( hypercall_memory_op(XENMEM_reserved_device_memory_map, + &memmap) != 0 ) + BUG(); + + map_done = 1; + + return 0; +} + /* * Local variables: * mode: C diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h index a70e4aa..cca0d5b 100644 --- a/tools/firmware/hvmloader/util.h +++ b/tools/firmware/hvmloader/util.h @@ -241,6 +241,9 @@ int build_e820_table(struct e820entry *e820, unsigned int bios_image_base); void dump_e820_table(struct e820entry *e820, unsigned int nr); +#include <xen/memory.h> +int get_reserved_device_memory_map(struct xen_mem_reserved_device_memory entries[], + uint32_t max_entries); #ifndef NDEBUG void perform_tests(void); #else -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |