Ross Philipson [Wed, 26 Nov 2008 12:34:41 +0000 (12:34 +0000)]
This patch removes the HP vendor specific WLAN device and subsystem
ID check.
This was a workaround in the passthrough code to allow the WLAN
card to work w/in an HVM that did not have the correct SMBIOS
information. The patch to hvmloader to pass in the correct SMBIOS
strings makes this special HP check/mod uneeded.
Committer: Ross Philipson <ross.philipson@citrix.com>
On branch remove_wlan_hpcheck
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
Jean Guyader [Fri, 21 Nov 2008 16:00:02 +0000 (16:00 +0000)]
Fix the switch.
You can use the command node to switch the keyboard only or both
(mouse/keyboard).
If you switch the mouse and the keyboard it will also change the focus to
the new vm.
To switch only the keyboard:
write into /local/domain/0/dom0_driver "keyboard slot-id"
To switch mouse and keyboard:
write into /local/domain/0/dom0_driver "switch slot-id"
Each vm owns a slot-id. It's the value of the dom0-input config option.
Jean Guyader [Thu, 9 Oct 2008 16:51:19 +0000 (17:51 +0100)]
- Pass through some value of the real host in case of intel graphic
card. The graphic card need the know how much merroy has been stolen
from the physical RAM.
Ian Jackson [Thu, 23 Oct 2008 09:21:41 +0000 (10:21 +0100)]
Battery management - compilation fixes
* xenstore_refresh_battery_status declaration and definition
was missing void (interpreted in C as K&R syntax)
* a couple of functions returning int returned NULL on failure
Ian Jackson [Thu, 16 Oct 2008 17:31:04 +0000 (18:31 +0100)]
cirrus vga save/restore and lfb_addr/lfb_end
Cirrus VGA save and restore functions cast lfb_addr into an uint64_t
pointer while lfb_addr is only an unsigned long.
Same thing happened to lfb_end, causing pci_dev to be partially
overwritten by mistake.
Ian Jackson [Thu, 16 Oct 2008 09:29:00 +0000 (10:29 +0100)]
enable usb uhci save/restore
enables the usb uhci save and restore functions that
for some reasons were commented out.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[ These were commented out in 1e4146791b46f0a798589c58a09f18b2841a9212
aka svn://svn.savannah.nongnu.org/qemu/trunk@3609 c046a42c-6fe2-441c-8c8c-71466251a162
apparently by mistake. This commit reverts 1e414679
-Ian Jackson ]
Ian Jackson [Thu, 16 Oct 2008 09:29:00 +0000 (10:29 +0100)]
enable usb uhci save/restore
enables the usb uhci save and restore functions that
for some reasons were commented out.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[ These were commented out in 1e4146791b46f0a798589c58a09f18b2841a9212
aka svn://svn.savannah.nongnu.org/qemu/trunk@3609 c046a42c-6fe2-441c-8c8c-71466251a162
apparently by mistake. This commit reverts 1e414679
-Ian Jackson ]
Ian Jackson [Tue, 14 Oct 2008 10:46:53 +0000 (11:46 +0100)]
Fix blktap device backend patch check
Regarding http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1367,
it appears that the expected backend path check is too strict for'
blktap devices. Therefore if the devtype is `vbd' we allow the
backend to be `tap'.
Thanks to report and inspiration from Yosuke Iwamatsu.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Jean Guyader [Thu, 9 Oct 2008 16:51:19 +0000 (17:51 +0100)]
- Pass through some value of the real host in case of intel graphic
card. The graphic card need the know how much merroy has been stolen
from the physical RAM.
Ian Jackson [Thu, 9 Oct 2008 13:50:51 +0000 (14:50 +0100)]
Fix open_disk for blktap disks to use real bdrv_new
If blktap drives are registered properly, qemu code is much less likely
to get confused by them. Use bdrv_new(), assign a device name and create
an entry in drives_table for them.
Ian Jackson [Thu, 2 Oct 2008 13:22:41 +0000 (14:22 +0100)]
Avoid trusting client-controlled areas of xenstore.
Various parts of xenstore, specifically /local/GUEST/devices, are
writeable by the guest. Information from these areas must be used
with care, to avoid the guest tricking qemu-dm into improperly using
its privileged access to dom0 resources.
To this end:
* Variables and functions referring to client-controlled data have
had `danger' added to their names.
* There is a new sanitisation/checking arrangement for getting
backend paths and information about the configuration of device
backends, given the frontend information. This is so that when
qemu is providing a data path which is parallel to the PV
frontend/backend arrangements, it only uses the configuration from
a genuine backend which is really configured to serve qemu's own
guest.
* For information which should be read from or written to the `vm'
tree, we obtain the guest's uuid from the hypervisor (the `label'
as the hypercall interface calls it) rather than reading it from
the guest-controlled areas of xenstore.
* The `phantom vbd' feature is disabled. It relies on
guest-controlled xenstore areas indicating device paths on the
guest. We do not believe this feature is currently very relevant.
* We _do_ allow the guest of a stubdom qemu to mess up the
correspondence between pv backends and emulated devices, in the
sense that we don't mind if the guest directs qemu to use a `wrong'
frontend.
Ian Jackson [Wed, 1 Oct 2008 11:12:57 +0000 (12:12 +0100)]
vnc integer overflow check fix overzealous zero checking
In a83c1174b942d0f0f0e05927eb5b69fe8489b7ab, we arranged to avoid
integer overflow and calls to realloc(nonzero,0). However
vs->depth==0 is legitimate on entry to vnc_dpy_resize_shared.
We need to move the check for vs->depth until after vnc_colourdepth.
Ian Jackson [Fri, 26 Sep 2008 14:40:11 +0000 (15:40 +0100)]
vnc and xenfb integer overflow and division by zero vuln fixes
row_stride_div0.patch: a malicious frontend can send row_stride==0 and force
qemu-dm to perform division by 0
vnc_resize_doublecheck.patch: there is an unchecked multiplication when
calculating framebuffer size. Cs 17630 sanitizes framebuffer dimensions
passed by the frontend, so most probably no integer overflow can happen, but
there should be a check for overflow close to the actual computation (to
make code review easier and to cope with other codepaths in the future).
(Patches submitted by Rafal Wojtczuk <rafal@invisiblethingslab.com>
against xen-3.2 ioemu; adapted for xen-unstable by Ian Jackson and also
edited to actually compile and do be correct.)
Contributed-by: Rafal Wojtczuk <rafal@invisiblethingslab.com> Modified-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Wed, 17 Sep 2008 11:02:13 +0000 (12:02 +0100)]
few compile time warnings removed
Few small changes to remove some compile time warnings:
- we are not initializing the qemu_alarm_timer pointer in
init_timer_alarm, so I am adding a NULL initialization;
- in the headers include code, we are doing something like:
/* BSD stuff */
/* linux stuff */
/* sun stuff */
that works most of the times but it fails when you try to compile qemu
on mini-os, that is posix but it doesn't define either __sun__ or
__linux__, so I am changing it to:
Ian Jackson [Fri, 12 Sep 2008 15:35:04 +0000 (16:35 +0100)]
vram_addr is 64-bit so print it that way in log messages
Various log messages would print it as %lx. We add a cast to unsigned
long long and use %llx, which makes the output accurate and gets rid
of some warnings.