[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 15/23] xen, vga: add API for registering the framebuffer
Xen currently uses the name of a memory region to determine whether it is the framebuffer. Replace with an explicit API. Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> --- hw/vga.c | 2 ++ hw/xen.h | 3 +++ xen-all.c | 6 ++++++ xen-stub.c | 4 ++++ 4 files changed, 15 insertions(+), 0 deletions(-) diff --git a/hw/vga.c b/hw/vga.c index ca79aa1..7e1dd5a 100644 --- a/hw/vga.c +++ b/hw/vga.c @@ -28,6 +28,7 @@ #include "vga_int.h" #include "pixel_ops.h" #include "qemu-timer.h" +#include "xen.h" //#define DEBUG_VGA //#define DEBUG_VGA_MEM @@ -2222,6 +2223,7 @@ void vga_common_init(VGACommonState *s, int vga_ram_size) s->is_vbe_vmstate = 0; #endif memory_region_init_ram(&s->vram, NULL, "vga.vram", vga_ram_size); + xen_register_framebuffer(&s->vram); s->vram_ptr = memory_region_get_ram_ptr(&s->vram); s->vram_size = vga_ram_size; s->get_bpp = vga_get_bpp; diff --git a/hw/xen.h b/hw/xen.h index f9f66e8..b46879c 100644 --- a/hw/xen.h +++ b/hw/xen.h @@ -49,6 +49,9 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, struct MemoryRegion *mr); #endif +struct MemoryRegion; +void xen_register_framebuffer(struct MemoryRegion *mr); + #if defined(CONFIG_XEN) && CONFIG_XEN_CTRL_INTERFACE_VERSION < 400 # define HVM_MAX_VCPUS 32 #endif diff --git a/xen-all.c b/xen-all.c index bd89889..51315ce 100644 --- a/xen-all.c +++ b/xen-all.c @@ -33,6 +33,7 @@ #endif static MemoryRegion ram_memory, ram_640k, ram_lo, ram_hi; +static MemoryRegion *framebuffer; /* Compatibility with older version */ #if __XEN_LATEST_INTERFACE_VERSION__ < 0x0003020a @@ -982,3 +983,8 @@ void destroy_hvm_domain(void) xc_interface_close(xc_handle); } } + +void xen_register_framebuffer(MemoryRegion *mr) +{ + framebuffer = mr; +} diff --git a/xen-stub.c b/xen-stub.c index 5fa400f..d403d86 100644 --- a/xen-stub.c +++ b/xen-stub.c @@ -44,3 +44,7 @@ int xen_init(void) { return -ENOSYS; } + +void xen_register_framebuffer(MemoryRegion *mr) +{ +} -- 1.7.7.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |