summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-22 15:19:53 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-22 15:19:53 +0000
commit94909d9fd931367a3d5fabfb7bf5439eb05568e9 (patch)
treecc35f998f2387453fdca31105a92d9f0fe0575e5
parent28b85ed8db996e06c7f371d6034b7cd3876f9012 (diff)
downloadqemu-94909d9fd931367a3d5fabfb7bf5439eb05568e9.tar.gz
xen: add -vga xenfb option, configure xenfb (Gerd Hoffmann)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7228 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/xen_machine_pv.c6
-rw-r--r--qemu-options.hx2
-rw-r--r--sysemu.h1
-rw-r--r--vl.c4
4 files changed, 12 insertions, 1 deletions
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 56b01aa99f..58209b89a9 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -82,6 +82,12 @@ static void xen_init_pv(ram_addr_t ram_size, int vga_ram_size,
xen_be_register("qdisk", &xen_blkdev_ops);
xen_be_register("qnic", &xen_netdev_ops);
+ /* configure framebuffer */
+ if (xenfb_enabled) {
+ xen_config_dev_vfb(0, "vnc");
+ xen_config_dev_vkbd(0);
+ }
+
/* configure disks */
for (i = 0; i < 16; i++) {
index = drive_get_index(IF_XEN, 0, i);
diff --git a/qemu-options.hx b/qemu-options.hx
index 108502e363..aa786e3bc1 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -465,7 +465,7 @@ Rotate graphical output 90 deg left (only PXA LCD).
ETEXI
DEF("vga", HAS_ARG, QEMU_OPTION_vga,
- "-vga [std|cirrus|vmware|none]\n"
+ "-vga [std|cirrus|vmware|xenfb|none]\n"
" select video card type\n")
STEXI
@item -vga @var{type}
diff --git a/sysemu.h b/sysemu.h
index e97fc010bf..50438a67e8 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -88,6 +88,7 @@ extern int bios_size;
extern int cirrus_vga_enabled;
extern int std_vga_enabled;
extern int vmsvga_enabled;
+extern int xenfb_enabled;
extern int graphic_width;
extern int graphic_height;
extern int graphic_depth;
diff --git a/vl.c b/vl.c
index b14f7b0123..05e760cfd5 100644
--- a/vl.c
+++ b/vl.c
@@ -216,6 +216,7 @@ static int rtc_date_offset = -1; /* -1 means no change */
int cirrus_vga_enabled = 1;
int std_vga_enabled = 0;
int vmsvga_enabled = 0;
+int xenfb_enabled = 0;
#ifdef TARGET_SPARC
int graphic_width = 1024;
int graphic_height = 768;
@@ -4225,12 +4226,15 @@ static void select_vgahw (const char *p)
cirrus_vga_enabled = 0;
std_vga_enabled = 0;
vmsvga_enabled = 0;
+ xenfb_enabled = 0;
if (strstart(p, "std", &opts)) {
std_vga_enabled = 1;
} else if (strstart(p, "cirrus", &opts)) {
cirrus_vga_enabled = 1;
} else if (strstart(p, "vmware", &opts)) {
vmsvga_enabled = 1;
+ } else if (strstart(p, "xenfb", &opts)) {
+ xenfb_enabled = 1;
} else if (!strstart(p, "none", &opts)) {
invalid_vga:
fprintf(stderr, "Unknown vga type: %s\n", p);