]> xenbits.xensource.com Git - qemu-xen-3.4-testing.git/log
qemu-xen-3.4-testing.git
16 years agographical_console_init change (Stefano Stabellini)
Ian Jackson [Tue, 10 Mar 2009 18:06:11 +0000 (18:06 +0000)]
graphical_console_init change (Stefano Stabellini)

Patch 5/7

This patch changes the graphical_console_init function to return an
allocated DisplayState instead of a QEMUConsole.

This patch contains just the graphical_console_init change and few other
modifications mainly in console.c and vl.c.
It was necessary to move the display frontends (e.g. sdl and vnc)
initialization after machine->init in vl.c.

This patch does *not* include any required changes to any device, these
changes come with the following patches.

Patch 6/7

This patch changes the QEMUMachine init functions not to take a
DisplayState as an argument because is not needed any more;

In few places the graphic hardware initialization function was called
only if DisplayState was not NULL, now they are always called.
Apart from these cases, the rest are all mechanical substitutions.

Patch 7/7

This patch updates the graphic device code to use the new
graphical_console_init function.

As for the previous patch, in few places graphical_console_init was called
only if DisplayState was not NULL, now it is always called.
Apart from these cases, the rest are all mechanical substitutions.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
As adapted by Stefano to qemu-xen-unstable in his posting:
 [Xen-devel] [PATCH 6 of 13] graphical_console_init change
which also contains several following fixes.

16 years agoexploiting the new interface in vnc.c (Stefano Stabellini)
Ian Jackson [Tue, 10 Mar 2009 18:04:43 +0000 (18:04 +0000)]
exploiting the new interface in vnc.c (Stefano Stabellini)

This patch exploits the new DisplaySurface and PixelFormat structures in
vnc, making the code easier to read allowing further improvements.

Compared to the last version I fixed a bug that prevented the hextile
encoding from working properly.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
As adapted by Stefano to qemu-xen-unstable in his posting:
 [Xen-devel] [PATCH 5 of 13] exploiting the new interface in vnc.c

16 years agoDisplayState interface change (Stefano Stabellini)
Ian Jackson [Tue, 10 Mar 2009 18:02:58 +0000 (18:02 +0000)]
DisplayState interface change (Stefano Stabellini)

This patch changes the DisplayState interface adding support for
multiple frontends at the same time (sdl and vnc) and implements most
of the benefit of the shared_buf patch without the added complexity.

Currently DisplayState is managed by sdl (or vnc) and sdl (or vnc) is
also responsible for allocating the data and setting the depth.
Vga.c (or another backend) will do any necessary conversion.

The idea is to change it so that is vga.c (or another backend) together
with console.c that fully manage the DisplayState interface allocating
data and setting the depth (either 16 or 32 bit, if the guest uses a
different resolution or is in text mode, vga.c (or another backend) is
in charge of doing the conversion seamlessly).

The other idea is that DisplayState supports *multiple* frontends
like sdl and vnc; each of them can register some callbacks to be called
when a display event occurs.

The interesting changes are:

- the new structures and related functions in console.h and console.c

in particular the following functions are very helpful to manage a
DisplaySurface:

qemu_create_displaysurface
qemu_resize_displaysurface
qemu_create_displaysurface_from
qemu_free_displaysurface

- console_select and qemu_console_resize in console.c
this two functions manage multiple consoles on a single host display

- moving code around in hw/vga.c
as for the shared_buf patch this is necessary to be able to handle a dynamic
DisplaySurface bpp

- changes to vga_draw_graphic in hw/vga.c
this is the place where the DisplaySurface buffer is shared with the
videoram, when possible;

Compared to the last version the only changes are:

- do not remove support to dpy_copy in cirrus_vga
- change the name of the displaysurface handling functions

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
As adapted by Stefano to qemu-xen-unstable in his posting:
 [Xen-devel] [PATCH 4 of 13] DisplayState interface change

16 years agoremove bgr (Stefano Stabellini)
Ian Jackson [Tue, 10 Mar 2009 17:59:47 +0000 (17:59 +0000)]
remove bgr (Stefano Stabellini)

Do not handle bgr host displays in the backends.

Right now a bgr flag exists so that sdl can set it, if the SDL_Surface
is bgr.
Afterwards the graphic device (e.g. vga.c) does the needed conversion.

With this patch series is sdl that is responsible for rendering the format
provided by the graphic device that must provide a DisplaySurface
(ds->surface) in 16 or 32 bpp, rgb.
Afterwards sdl creates a SDL_Surface from the given DisplaySurface and
blits it into the main SDL_Surface using SDL_BlitSurface.

Everything is handled by sdl transparently, because SDL_BlitSurface is
perfectly capable of handling bgr displays by itself.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Patch adapted for qemu-xen-unstable by Stefano Stabellini.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agoIntroduce accessors for DisplayState (Stefano Stabellini)
Ian Jackson [Tue, 10 Mar 2009 17:58:08 +0000 (17:58 +0000)]
Introduce accessors for DisplayState (Stefano Stabellini)

Introducing some accessors:

ds_get_linesize
ds_get_bits_per_pixel
ds_get_width
ds_get_height
ds_get_data

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Patch adapted for qemu-xen-unstable by Stefano Stabellini.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Also additional fixes supplied by Stefano in his message
 [Xen-devel] [PATCH 2 of 13] Introduce accessors for DisplayState
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agoImplement "info chardev" command. (Gerd Hoffmann)
Ian Jackson [Tue, 10 Mar 2009 17:56:42 +0000 (17:56 +0000)]
Implement "info chardev" command. (Gerd Hoffmann)

This patch makes qemu keep track of the character devices in use and
implements a "info chardev" monitor command to print a list.

qemu_chr_open() sticks the devices into a linked list now.  It got a new
argument (label), so there is a name for each device.  It also assigns a
filename to each character device.  By default it just copyes the
filename passed in.  Individual drivers can fill in something else
though.  qemu_chr_open_pty() sets the filename to name of the pseudo tty
allocated.

Output looks like this:

  (qemu) info chardev
  monitor: filename=unix:/tmp/run.sh-26827/monitor,server,nowait
  serial0: filename=unix:/tmp/run.sh-26827/console,server
  serial1: filename=pty:/dev/pts/5
  parallel0: filename=vc:640x480

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Patch adapted for qemu-xen-unstable by Stefano Stabellini.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agoOverride default cache mode for disk images to write-back t.master-before-merge
Ian Jackson [Mon, 2 Mar 2009 11:21:51 +0000 (11:21 +0000)]
Override default cache mode for disk images to write-back

Upstream qemu changed the default cache mode to write-through (ie,
O_DSYNC) which is much slower.  We do not need this as we have
explicit control of cacheing with the IDE cache control commands.

Original patch by Yang Zhang modified by Ian Jackson.

Signed-off-by: Yang Zhang <yang.zhang@intel.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agomake various functions in i386-dm/helper2.c static
Ian Jackson [Mon, 2 Mar 2009 11:16:16 +0000 (11:16 +0000)]
make various functions in i386-dm/helper2.c static

These functions don't seem to be used outside of i386-dm/helper2.c

Signed-off-by: Simon Horman <horms@verge.net.au>
16 years agowake up PCI passthru device on boot
Ian Jackson [Mon, 2 Mar 2009 11:15:37 +0000 (11:15 +0000)]
wake up PCI passthru device on boot

Commit 8c771eb6294afc5b3754a9e3de51568d4e5986c2 enables a guest
OS to program D0-D3hot states, thus PCI passsthru devices transit
into D3hot state when the guest Windows shutdown.
That disables reboot from passthru devices because the device is
not active in the POST phase. Actually, the option ROM can't be read
from the guest bios.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
16 years agopassthrough: MSI-X mask bit acceleration
Ian Jackson [Mon, 2 Mar 2009 11:13:44 +0000 (11:13 +0000)]
passthrough: MSI-X mask bit acceleration

Read MSI-X mask bit directly from the device, since buffered version
may not be up-to-date when MSI-X mask bit interception is working.
Also rebind every MSI-X vector on guest PCI BAR rebalancing so that
MSI-X mask bit intercept handler can get the correct gpa

[ Also, fix declaration of pt_msix_update_remap in pt-msi.h, which
  was misspelled pt_msi_update_remap. -iwj ]

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agohw/pass-through.c: fix a leak on error in pt_init()
Ian Jackson [Tue, 24 Feb 2009 12:32:01 +0000 (12:32 +0000)]
hw/pass-through.c: fix a leak on error in pt_init()

vslots needs to be freed on error

Signed-off-by: Simon Horman <horms@verge.net.au>
16 years ago[PATCH] ioemu: piix4acpi.c: remove ACPI_PHP_SLOT_NUM
Ian Jackson [Mon, 23 Feb 2009 09:33:48 +0000 (09:33 +0000)]
[PATCH] ioemu: piix4acpi.c: remove ACPI_PHP_SLOT_NUM

ACPI_PHP_SLOT_NUM is equivalent to PHP_SLOT_LEN and both
are used inside piix4acpi.c. So for the sake of consistency
remove ACPI_PHP_SLOT_NUM.

Signed-off-by: Simon Horman <horms@verge.net.au>
16 years ago[PATCH] ioemu: piix4acpi.c: remove unnecessary assignment of pci_slots to local variables
Ian Jackson [Mon, 23 Feb 2009 09:33:00 +0000 (09:33 +0000)]
[PATCH] ioemu: piix4acpi.c: remove unnecessary assignment of pci_slots to local variables

Signed-off-by: Simon Horman <horms@verge.net.au>
16 years ago[PATCH] ioemu: piix4acpi.c: Consistently dont cast opaque to PHPSlots
Ian Jackson [Mon, 23 Feb 2009 09:32:11 +0000 (09:32 +0000)]
[PATCH] ioemu: piix4acpi.c: Consistently dont cast opaque to PHPSlots

Some instances were cast and others were not.
This patch makes all instances not cast opaque into PHPSlots.

Also consistently use hotplug_slots as the variable to which
opaque is assigned.

Signed-off-by: Simon Horman <horms@verge.net.au>
16 years ago[PATCH] ioemu: piix4acpi.c: Simplfy PHPSlots structure
Ian Jackson [Mon, 23 Feb 2009 09:31:31 +0000 (09:31 +0000)]
[PATCH] ioemu: piix4acpi.c: Simplfy PHPSlots structure

The anonymouys structure inside PHPSlots only has one element,
so things can be simplified by moving the element into PHPSlots
and removing the anonymous structure.

Signed-off-by: Simon Horman <horms@verge.net.au>
16 years ago[PCI passthrough] Fix the segfault on assigning device without PM capability
Ian Jackson [Mon, 23 Feb 2009 16:29:49 +0000 (16:29 +0000)]
[PCI passthrough] Fix the segfault on assigning device without PM capability

This patch fixes the segmentation fault on assigning device without
Power Management Capability Structure.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
16 years agoCleanup PCI passthrough code
Ian Jackson [Mon, 23 Feb 2009 11:33:56 +0000 (11:33 +0000)]
Cleanup PCI passthrough code

The patch cleanups the code of PCI passthrough.

- Use LIST_FOREACH(). Don't use lh_first, le_next directly.
- Use pci_{read, write}_block instead of "switch(len) case [124]
  pci_{read, write}_{byte, word, long}();".
- Eliminate duplicate codes using PT_MEARGE_VALUE macro.
- Define PCI_ERR_* macro in pass-through.h if libpci is old.
- Remove the unreasonable loop from pt_aer_reg_{save,restore}.
- Enable pt_aer_reg_{save,restore}, even if libpci is old.
- Fix ro_mask and remove unnecessary pt_xxx_reg_write functions.
- Add "Error:" or "Warning:" to messages.
- Remove verbose messages.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
16 years agohw/passthrough.[ch], pt-msi.[ch]: remove trailing whitespace
Ian Jackson [Mon, 23 Feb 2009 11:32:31 +0000 (11:32 +0000)]
hw/passthrough.[ch], pt-msi.[ch]: remove trailing whitespace

Trailing whitespace does not survive some people's mailers, with the
result that their patches do not apply.  Therefore in this commit I'm
removing it from the pass-through code, which is currently entirely in
the Xen tree.

This change is the result of this rune:
 perl -i~ -pe 's/[\t ]*$//' hw/pass-through.[ch] hw/pt-msi.[ch]

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agofix raw_aio_remove list walk bug (really)
Ian Jackson [Mon, 23 Feb 2009 11:29:14 +0000 (11:29 +0000)]
fix raw_aio_remove list walk bug (really)

Fix typo in my backport of Stefano's fix, which broke the build
in 8adde1cbba18de2704a30a76f20855f89c664a88.

16 years agofix raw_aio_remove list walk bug
Ian Jackson [Thu, 19 Feb 2009 17:55:54 +0000 (17:55 +0000)]
fix raw_aio_remove list walk bug

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cherry picked and cross-ported by Ian Jackson
from Stefano's submission to qemu-devel, 18 Feb 2009 16:56:16 GMT.

16 years agoblock-vbd: Fix vbd_aio_flush() no-op case
Ian Jackson [Thu, 19 Feb 2009 17:40:03 +0000 (17:40 +0000)]
block-vbd: Fix vbd_aio_flush() no-op case

Call the completion function if flush features are not supported in blkfront.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agofix memory/fd leak in pt_msix_init()
Ian Jackson [Mon, 9 Feb 2009 10:40:12 +0000 (10:40 +0000)]
fix memory/fd leak in pt_msix_init()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agofix error recovery in pass-through.c
Ian Jackson [Mon, 9 Feb 2009 10:34:50 +0000 (10:34 +0000)]
fix error recovery in pass-through.c

return NULL when error. fix error recovery path.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agohw/pass-through.c: workaround for old libpci
Ian Jackson [Fri, 6 Feb 2009 16:16:06 +0000 (16:16 +0000)]
hw/pass-through.c: workaround for old libpci

Old versions of libpci (including the ones on the automatic tests
which control Xen staging propagation) do not define
PCI_LIB_VERSION or the PCI_ERR_{UNCOR_MASK,...} constants.

This means that change 8c771eb6294afc5b3754a9e3de51568d4e5986c2 breaks
the build.  In this changeset I apply what is intended to be a
workaround for this problem but it may not be completely correct; this
is therefore perhaps an interim fix.

The potential problem is that the save/restore of some PCI passthrough
error handling registers (across suspend/resume) may not work properly
with old versions of libpci.  However non-passthrough and non-suspect
use cases should now be fine.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoSlightly improve error check in xenstore_vm_write()
Ian Jackson [Thu, 5 Feb 2009 16:26:24 +0000 (16:26 +0000)]
Slightly improve error check in xenstore_vm_write()

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agoEnable guest OS to program D0-D3hot states of an assigned device
Ian Jackson [Thu, 5 Feb 2009 15:54:13 +0000 (15:54 +0000)]
Enable guest OS to program D0-D3hot states of an assigned device

This patch enables guest OS to program D0-D3hot states of assigned
device.

This patch is revised version based on the review comments.

- Use LIST_FOREACH(). Don't use lh_first, le_next directly.
- Use pci_{read, write}_block instead of "switch(len) case [124]
  pci_{read, write}_{byte, word, long}():".

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
16 years agoclean up piix3_reset() (no more need to set 0x61..0x63 in pci config)
Ian Jackson [Thu, 5 Feb 2009 14:50:07 +0000 (14:50 +0000)]
clean up piix3_reset() (no more need to set 0x61..0x63 in pci config)

Now #ifdef CONFIG_DM part become bogus because of
477afee37ca29e156e3309874d100de0bf4e6fd0.
So remove it.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agofix PCI ROM handling problem in passthrough
Ian Jackson [Thu, 5 Feb 2009 14:48:50 +0000 (14:48 +0000)]
fix PCI ROM handling problem in passthrough

The ROM BAR doesn't get updated after writing '1' to the
/sys/bus/pci/devices/.../rom which causes ROM mapping problem.

This fix makes the ROM enabling revert to old mechanism (write
ROM BAR directly).

Kouya, thank you for testing the fix!

Reported-by: Kouya Shimura <kouya@jp.fujitsu.com>
Tested-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoMerge branch 'master' of ../qemu-iwj
Ian Jackson [Thu, 5 Feb 2009 14:48:10 +0000 (14:48 +0000)]
Merge branch 'master' of ../qemu-iwj

16 years agofix raw_aio_read/write error handling
Ian Jackson [Thu, 5 Feb 2009 14:45:25 +0000 (14:45 +0000)]
fix raw_aio_read/write error handling

Currently when qemu_paio_read or qemu_paio_write return an error we call
qemu_aio_release without removing the request from the list.
I know that in the current implementation qemu_paio_write/read don't return
any error, but still the behavior is wrong, especially considering
that the implementation of these two functions is likely to change in is
the future.
This patch fixes the problem adding a raw_aio_remove function that
removes the callback from the queue and also calls qemu_aio_release.
raw_aio_remove is called by raw_aio_read, raw_aio_write and
raw_aio_cancel.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Backported-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoRestore xenfb.h and atkbd_ translation tables for xenfbfront
Ian Jackson [Tue, 27 Jan 2009 12:06:19 +0000 (12:06 +0000)]
Restore xenfb.h and atkbd_ translation tables for xenfbfront

Commit ef21d5fda2be46163d9bc3f65d64a6bfd97dd06e removed xenfb.h but
this broke the stubdom build.  Necessary changes to get the build
working again:
  * un-#if-0 atkbd_set2_keycode and atkbd_unxlate_table in xenfb.c
  * make those two tables not `static'
  * restore xenfb.h, with their declarations
  * adjust the comment in the new xenfb.c

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoGet guest uuid from xenstore
Ian Jackson [Tue, 27 Jan 2009 11:39:10 +0000 (11:39 +0000)]
Get guest uuid from xenstore

xenstore_get_guess_uuid() retrieves the guest uuid by using a sysctl
hypercall through libxc now, but when we use the ioemu-stubdom, the
hcall is not allowed to be invoked.
This patch makes ioemu get the guest uuid from xenstore, instead of
using libxc.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agoReplacement PV xenfb backend (Gerd Hoffman)
Ian Jackson [Mon, 26 Jan 2009 15:07:08 +0000 (15:07 +0000)]
Replacement PV xenfb backend (Gerd Hoffman)

Description from Gerd's message:
    This patch adds a framebuffer (and kbd+mouse) backend driver.  It
    it based on current xen-unstable code.  It has been changed to make
    use of the common backend driver code.  It also has been changed to
    compile with xen headers older than unstable (aka soon-to-be 3.3).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(Applied as-is.)

16 years agouse the sysfs interface to enable the PCI ROM
Ian Jackson [Mon, 26 Jan 2009 12:09:25 +0000 (12:09 +0000)]
use the sysfs interface to enable the PCI ROM

Writing the base address directly to the ROM BAR may cause problem
since the kernel is not aware of the operation.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoadd libpci fixup to handle recent change in PCIUtils
Ian Jackson [Mon, 26 Jan 2009 12:08:54 +0000 (12:08 +0000)]
add libpci fixup to handle recent change in PCIUtils

The following commit of PCIUtils changes what 'base_addr' contains.
Add a fixup to make sure the pass-through works when building against
different versions of PCIUtils.

  commit 6d143c3283855c474445a3cf27c65280ed7ab1b7
  Author: Yu Zhao <yu.zhao@intel.com>
  Date:   Fri Dec 26 09:59:28 2008 +0800

    Fix base address flags when using sysfs method

    The base address flags are ignored when using sysfs method, while
    the proc and generic methods combined the flags into 'base_addr'.
    This inconsistency may fail some applications using libpci.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agocheck mmap return value when mapping MSI-x table
Ian Jackson [Mon, 26 Jan 2009 12:07:15 +0000 (12:07 +0000)]
check mmap return value when mapping MSI-x table

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoMerge branch 'iwj.kraxel'
Ian Jackson [Fri, 16 Jan 2009 16:44:38 +0000 (16:44 +0000)]
Merge branch 'iwj.kraxel'

16 years agoinitialize vram area to 0xff
Ian Jackson [Fri, 16 Jan 2009 16:26:41 +0000 (16:26 +0000)]
initialize vram area to 0xff

Initialize vram memory in xen_vga_populate_vram().
and some fixes.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Modified-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoReplacement PV console backend (Gerd Hoffman)
Ian Jackson [Fri, 16 Jan 2009 16:02:18 +0000 (16:02 +0000)]
Replacement PV console backend (Gerd Hoffman)

Description from Gerd's message:
    xen: add console backend driver.

    This patch adds a xenconsole backend driver.  It it based on current
    xen-unstable code.  It has been changed to make use of the common
    backend driver code.

Note that this driver is not used at all in the default configurations
of upstream Xen.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(Applied as-is.)

16 years agoProvide alternative Xen backend infrastructure (Gerd Hoffman)
Ian Jackson [Fri, 16 Jan 2009 15:52:44 +0000 (15:52 +0000)]
Provide alternative Xen backend infrastructure (Gerd Hoffman)

Description from Gerd's message:

    Subject: [PATCH] xen: backend driver core

    This patch adds infrastructure for xen backend drivers living in qemu,
    so drivers don't need to implement common stuff on their own.  It's
    mostly xenbus management stuff: some functions to access xentore,
    setting up xenstore watches, callbacks on device discovery and state
    changes, handle event channel, ...

In this patch, this is just additional machinery, which will be used
in the forthcoming change(s).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(Applied as-is.)

16 years agoNew options for Xen invocation (Gerd Hoffman)
Ian Jackson [Fri, 16 Jan 2009 15:52:14 +0000 (15:52 +0000)]
New options for Xen invocation (Gerd Hoffman)

Description from Gerd's message:
    [PATCH] xen: groundwork for xen support
    - wind up new machine type.
    - a bunch of smaller tweaks.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(Applied as-is.)

16 years agoAdd *.orig to .gitignore
Ian Jackson [Fri, 16 Jan 2009 15:51:50 +0000 (15:51 +0000)]
Add *.orig to .gitignore

16 years agodon't use magic number 0xff00000 on ia64
Ian Jackson [Thu, 15 Jan 2009 12:36:55 +0000 (12:36 +0000)]
don't use magic number 0xff00000 on ia64

don't use magic number 0xff00000.
define VRAM_RESERVED_ADDRESS and use it.
On ia64, the area is already used by firmware so define it
to 0xfd0000000.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agoDisable battery management on BSD
Ian Jackson [Wed, 14 Jan 2009 16:27:42 +0000 (16:27 +0000)]
Disable battery management on BSD

BSD lacks ioperm, inb, outb, so the battery management support does
not build on BSD.  We therefore disable it there.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
16 years agoDisable buffer cache invalidation on non-linux hosts
Ian Jackson [Wed, 14 Jan 2009 16:26:38 +0000 (16:26 +0000)]
Disable buffer cache invalidation on non-linux hosts

The BLKFLSBUF ioctl is Linux-specific.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
16 years agoMerge branch 'master' of ../qemu-iwj
Ian Jackson [Wed, 14 Jan 2009 11:10:38 +0000 (11:10 +0000)]
Merge branch 'master' of ../qemu-iwj

16 years agoDon't expose MSI/MSI-X capabilities to IA64 HVM guest in ioemu.
Ian Jackson [Wed, 14 Jan 2009 11:09:39 +0000 (11:09 +0000)]
Don't expose MSI/MSI-X capabilities to IA64 HVM guest in ioemu.

At present IA64 Xen doesn't support MSI for passthrough, so let's not
expose MSI/MSI-X capabilities to IA64 HVM guest for now.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
16 years agostdvga improvements - new videoram allocation system
Ian Jackson [Wed, 14 Jan 2009 11:04:04 +0000 (11:04 +0000)]
stdvga improvements - new videoram allocation system

This patch is the "stdvga improvements" patch to qemu-xen-unstable with
the due changes for the new videoram allocation system.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
(This is Stefano's [PATCH 4 of 4] ioemu;
 1 and 2 are already applied and 3 is in xen-unstable. -iwj)

16 years agoRemove unused struct
Ian Jackson [Tue, 13 Jan 2009 15:47:28 +0000 (15:47 +0000)]
Remove unused struct

Remove
    struct xen_remove_from_physmap xrfp;
which is unused now and about to be removed from Xen.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agopopulate guest videoram
Ian Jackson [Tue, 13 Jan 2009 15:41:01 +0000 (15:41 +0000)]
populate guest videoram

This patch applies to qemu-xen-unstable and implements the new way of
populating the videoram in the guest and mapping it in qemu.  Initially
the videoram is populated at the address 0xff000000 in the guest memory
address space.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
(This is Stefano's [PATCH 2 of 4] ioemu;
 1 is in xen-unstable and 3 and 4 will go in shortly -iwj.)

16 years agoContain MSI errors in msi emulation code
Ian Jackson [Tue, 13 Jan 2009 11:28:04 +0000 (11:28 +0000)]
Contain MSI errors in msi emulation code

If msi=0 is specified and guest want to enable msi, qemu finds it can
not enable it and quits.  (This problem is not appicable for xen
unstable since the "msi=x" switch is removed.)  This patch let these
cases be handled inside msi emulation code. If qemu can not enable
msi, guest will not receive MSI.  But Qemu can still go on.  But if
guest driver does not test MSI's functionality, guest device will stop
to function.

Submitted-By: Haitao Shan
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
(cherry picked from commit 35f55c5b0b54e310c787c39bde0f723a1390e839)

Cherry pick requested by Dexuan Cui:
 In the latest Xen-unstable, MSI in xen was disabled temporarily and
 many guests with MSI-capable NIC assigned fail to bootup.  Could you
 please pull the following commit of qemu-xen-3.3-testing.git into
 qemu-xen-unstable.git?

Conflicts:
hw/pass-through.c

16 years agoconstify some xenstore_... functions for -Wwrite-strings
Ian Jackson [Mon, 12 Jan 2009 14:32:13 +0000 (14:32 +0000)]
constify some xenstore_... functions for -Wwrite-strings

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agopassthrough: MSI-INTx interrupt translation support
Ian Jackson [Mon, 12 Jan 2009 14:28:45 +0000 (14:28 +0000)]
passthrough: MSI-INTx interrupt translation support

This patch enables Xen to use MSI for MSI-capable devices as the
underlying interrupt source even if the guest does not explicitly
use it. The guest will still see an IO-APIC based INTx interrupt
translated by Xen from the MSI irq.

If the guest enables MSI or MSI-X for the passthrough device, this
translation is automatically turned off. It can also be disabled in
the config file at domain startup time.

Signed-off-by: Qing He <qing.he@intel.com>
16 years agoWork around old make's broken interpretation of `#' in $(warning ...)
Ian Jackson [Fri, 9 Jan 2009 16:35:07 +0000 (16:35 +0000)]
Work around old make's broken interpretation of `#' in $(warning ...)

It seems unable to cope with it even like this
 $(warning "### something ###")
so we will change the ### to === instead and hope that works.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoMerge branch 'qemu'
Ian Jackson [Fri, 9 Jan 2009 12:00:10 +0000 (12:00 +0000)]
Merge branch 'qemu'

16 years agoRemove duplicate copy of announce_self_create.
Ian Jackson [Fri, 9 Jan 2009 11:59:37 +0000 (11:59 +0000)]
Remove duplicate copy of announce_self_create.

In 73b0037b2278812fcadadec9d8eac656f1716074,
 `send arp like packets for hvm live migration',
another copy of announce_self_create was introduced.

We remove it in favour of the qemu upstream one, and shuffle a few
bits around to make the build work.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoFix syntax error in xen-hooks.mak
Ian Jackson [Fri, 9 Jan 2009 11:44:02 +0000 (11:44 +0000)]
Fix syntax error in xen-hooks.mak

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoMerge branch 'qemu'
Ian Jackson [Thu, 8 Jan 2009 19:09:22 +0000 (19:09 +0000)]
Merge branch 'qemu'

16 years agosend arp like packets for hvm live migration
Ian Jackson [Thu, 8 Jan 2009 19:07:45 +0000 (19:07 +0000)]
send arp like packets for hvm live migration

When two servers connect different switch/hub and do live migration
between them, network connect will no reponse about 30 seconds,
it caused by migration finished, target server do not broadcast
guest os's network info.

In pvm, when backend changed, netfront driver will send fake arp
to network, so, hvm also need this.

Uri Lublin [wrote] the patch for it:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg09306.html

I [Joe] add send arp like packets at tap_receive(), and it looked like
work fine.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Tested-by: Deepak Patel <deepak.patel@oracle.com>
CC: Keir Fraser <keir.fraser@eu.citrix.com>
CC: Kurt C. Hackel <kurt.hackel@oracle.com>
16 years agoMerge branch 'master' of ../qemu-iwj
Ian Jackson [Wed, 7 Jan 2009 15:18:06 +0000 (15:18 +0000)]
Merge branch 'master' of ../qemu-iwj

16 years agofix usb-hid emulation SET_IDLE
Ian Jackson [Wed, 7 Jan 2009 15:16:04 +0000 (15:16 +0000)]
fix usb-hid emulation SET_IDLE

there is a bug in the current usb-hid emulation code that affects the
way the idle flag is handled: the spec clearly states that when SET_IDLE
is called with a value == 0 means "do not send any event unless there is
an actual change". However we are currently assuming the opposite
meaning of the flag.
This patch fixes it and it also fixes a possible initialization issue
that is uncovered by using the default idle flag set to 0.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[supplied patch also trivially changed by Ian Jackson]

16 years agoxen-hooks.mak: Do not print `***' when compiling unless we fall over
Ian Jackson [Tue, 6 Jan 2009 16:07:04 +0000 (16:07 +0000)]
xen-hooks.mak: Do not print `***' when compiling unless we fall over

make prints `***' when it stops due to an error.  With make -j, and/or
with automated build systems, this error marker can be in the middle
of a large logfile.  It is useful to be able to search for it.

Therefore change occurrences of `*' to `#' for information and warning
messages.  `***' is reserved for cases where the build stops.

A corresponding change is being submitted to xen-unstable.hg.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agomagic ioport 0x10 protocol - give owner names
Ian Jackson [Wed, 31 Dec 2008 16:18:01 +0000 (16:18 +0000)]
magic ioport 0x10 protocol - give owner names

Product IDs should have named owners to discourage reuse and identify
who is supposed to be using them.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agomagic ioport 0x10 protocol - allocate for "gplpv-windows"
Ian Jackson [Wed, 31 Dec 2008 16:16:56 +0000 (16:16 +0000)]
magic ioport 0x10 protocol - allocate for "gplpv-windows"

Allocate code 2 for James Harper's GPL-PV Windows drivers.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agomagic ioport 0x10 protocol - allocate "experimental"
Ian Jackson [Wed, 31 Dec 2008 16:15:40 +0000 (16:15 +0000)]
magic ioport 0x10 protocol - allocate "experimental"

Allocate product code 0xffff == 65535 for experimental pre-release
drivers.  This will help by giving developers something to use which
doesn't tread on anyone's toes.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agomagic ioport 0x10 protocol - clean up document
Ian Jackson [Wed, 31 Dec 2008 16:12:51 +0000 (16:12 +0000)]
magic ioport 0x10 protocol - clean up document

Clean up the README and product number registry comment:
 - removing mail headers
 - specifying that the magic number will be reversed
   if the drivers are blacklisted
 - clarifying that logging is permitted if drivers are
   blacklisted
 - specifying clearly when people should allocate new numbers

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agodisable qemu PCI devices in HVM domains - protocol document
Ian Jackson [Wed, 31 Dec 2008 16:02:18 +0000 (16:02 +0000)]
disable qemu PCI devices in HVM domains - protocol document

This is the protocol specification for the IO port 0x10 feature as
posted to xen-devel by Steven Smith.

Contributed-By: Steven Smith <steven.smith@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agodisable qemu PCI devices in HVM domains
Ian Jackson [Wed, 31 Dec 2008 16:00:20 +0000 (16:00 +0000)]
disable qemu PCI devices in HVM domains

Magic ioport (0x10) protocol for negotating with guest PV drivers
during startup, and allowing PV drivers to disable hardware emulations
thus preventing guest from seeing the same device through two paths.

Protocol and implementation from the Citrix Xenserver product line.
Documentation (protocol spec) will follow in a moment.

Contributed-By: Steven Smith <steven.smith@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoDo not install signal handlers in qemu-dm
Ian Jackson [Tue, 30 Dec 2008 16:49:29 +0000 (16:49 +0000)]
Do not install signal handlers in qemu-dm

Instead, if we get a terminating signal, just die.  This means that
xend can kill us.  Unlike upstream qemu, we are not at risk from being
sent random console signals as an attempt to cleanly terminate the
domain.

Thanks to report from Dexuan Cui <dexuan.cui@intel.com>.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agostubdom: Fix live migration of HVM domain
Ian Jackson [Wed, 17 Dec 2008 11:39:21 +0000 (11:39 +0000)]
stubdom: Fix live migration of HVM domain

Live-migration fails because stubdom-dm doesn't respond to the request
from xc_save for the logdirty bitmap segment. The attached patch
simply generated from old ioemu tree will fix the issue, then.

Derived from old xen internal tools/ioemu tree.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agoposix_aio_init: Explicitly unblock SIGUSR2 not USR1
Ian Jackson [Tue, 16 Dec 2008 16:03:12 +0000 (16:03 +0000)]
posix_aio_init: Explicitly unblock SIGUSR2 not USR1

In 1f4f23ae9fc220eec55aa742f67f5bb47716bcc6 I arranged to explicitly
unblock the wrong signal - the occurrence of SIGUSR1 was a leftover
from my various debugging trees.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agousb-hid.c: fix usb mouse wheel
Ian Jackson [Thu, 11 Dec 2008 18:04:47 +0000 (18:04 +0000)]
usb-hid.c: fix usb mouse wheel

This patch fixes the usb mouse wheel of usb devices.

[ Previously, tablets would fail to subtract dz from e->dz thus
  producing an infinite stream of reports; also the wheel direction
  inversions had been multipled by merge damage resulting in the wrong
  number of inversions for mice. -iwj ]

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agoposix_aio_init: Explicitly unblock SIGUSR1
Ian Jackson [Thu, 11 Dec 2008 17:38:28 +0000 (17:38 +0000)]
posix_aio_init: Explicitly unblock SIGUSR1

On Centos 4.3 as invoked by xend it seems that SIGUSR1 can be blocked.

This is almost certainly a libc bug; I checked by using sigprocmask to
obtain what was allegedly the current signal mask and printing it out
and SIGUSR1 wasn't listed, although my strace showed rt_sigprocmask
calls which clearly implied it was blocked - and indeed it wasn't
delivered.

Explicitly enabling it is an easy workaround.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoMerge branch 'master' of ../qemu-2iwj
Ian Jackson [Thu, 11 Dec 2008 17:22:37 +0000 (17:22 +0000)]
Merge branch 'master' of ../qemu-2iwj

16 years agoAlways treat floppy images as raw
Ian Jackson [Wed, 10 Dec 2008 15:30:49 +0000 (15:30 +0000)]
Always treat floppy images as raw

The fix for the image format guessing vulnerability breaks raw floppy
images.  In our environment it is difficult to apply the same
configuration change as envisaged upstream, so instead we arrange to
always treat a floppy image as raw.

Two-line patch supplied by James Harper <james.harper@bendigoit.com.au>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoblock: make raw aio signaling non-blocking (Gerd Hoffman)
aliguori [Thu, 13 Nov 2008 19:23:17 +0000 (19:23 +0000)]
block: make raw aio signaling non-blocking (Gerd Hoffman)

This patch switches the read handle of the signaling pipe into
non-blocking mode.  This avoids unwanted blocking reads and also
allows to read all bytes out of the signaling pipe in case we got
signaled more that once before the handler ran.

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@5716 c046a42c-6fe2-441c-8c8c-71466251a162
(cherry picked from commit e20e830bbdc502986d6fd30c26b06c37a5ee0611)

16 years agoMerge ../qemu-iwj
Ian Jackson [Thu, 4 Dec 2008 18:17:04 +0000 (18:17 +0000)]
Merge ../qemu-iwj

16 years agoreintroduce -std-vga option
Ian Jackson [Thu, 4 Dec 2008 18:16:18 +0000 (18:16 +0000)]
reintroduce -std-vga option

For compatibility with xend (which we will change later to remove
this) we support -std-vga again.  This corresponds to the stdvga=1
xmconfig option.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agofix invisibility of PCI Option ROM
Ian Jackson [Thu, 4 Dec 2008 10:40:03 +0000 (10:40 +0000)]
fix invisibility of PCI Option ROM

If 'lspci -v' command on Dom0 shows '[virtual]' as follows,
the option ROM can't be read by the guest.

$ lspci -v -s 0:1
...
        [virtual] Expansion ROM at fdb00000 [disabled] [size=256K]

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
16 years agohw/ide.c: tidy up ide_utterly_broken checks
Ian Jackson [Mon, 1 Dec 2008 12:11:45 +0000 (12:11 +0000)]
hw/ide.c: tidy up ide_utterly_broken checks

Some previous merge seems to have harmlessly duplicated some of these,
and one of the comments needed fixing too.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agocirrus_vga fix save/restore lfb_addr/lfb_end printfs
Ian Jackson [Thu, 27 Nov 2008 12:08:44 +0000 (12:08 +0000)]
cirrus_vga fix save/restore lfb_addr/lfb_end printfs

A couple of printf calls needed casts to (unsigned long) adding to
avoid compiler compliants, following commits
 97e3066c43477c79b56f4afeb08c330fc2c244b7
 ea324bf41565322b370b27253b1a7eaa3cc360b9
(cherry picked from commit 9722cbb9b813974ee2b2149b683485b077daf078)

Conflicts:

hw/cirrus_vga.c

16 years agocirrus_vga fix save/restore endian incompatibility
Ian Jackson [Thu, 27 Nov 2008 11:31:06 +0000 (11:31 +0000)]
cirrus_vga fix save/restore endian incompatibility

This patch fixes the cirrus_vga save/restore functions to keep
compatibility with older ioemu statefiles.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agocirrus rop bounds checks (CVE-2007-1320)
Ian Jackson [Wed, 26 Nov 2008 17:25:12 +0000 (17:25 +0000)]
cirrus rop bounds checks (CVE-2007-1320)

This patch adds bounds checks to the new cirrus rop functions,
completing the fix for CVE-2007-1320.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agoMerge branch 'master' of latara:/usr/groups/xencore/HG/qemu-xen-unstable
Ian Jackson [Mon, 24 Nov 2008 17:16:19 +0000 (17:16 +0000)]
Merge branch 'master' of latara:/usr/groups/xencore/HG/qemu-xen-unstable

16 years agofix a few variable initializations
Ian Jackson [Mon, 24 Nov 2008 17:03:16 +0000 (17:03 +0000)]
fix a few variable initializations

Fix few variable initializations.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdom: fix xenstore VM parameters read
Keir Fraser [Mon, 10 Nov 2008 10:45:28 +0000 (10:45 +0000)]
stubdom: fix xenstore VM parameters read

For now, stub domains can not read the uuid, and thus
xenstore_vm_key_path fails(). We have to cope with that instead of
passing NULL to xs_read().

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agoFix few variable initializations.
Keir Fraser [Mon, 10 Nov 2008 10:44:48 +0000 (10:44 +0000)]
Fix few variable initializations.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agousb-linux.c: provide our own copy of <linux/usbdevice_fs.h>
Ian Jackson [Tue, 28 Oct 2008 10:25:11 +0000 (10:25 +0000)]
usb-linux.c: provide our own copy of <linux/usbdevice_fs.h>

The version on the Xensource build machines is too old.  And since
this is a stable ABI it is permitted to copy the headers from Linux
into applications.

Original-Author: Thomas Sailer <sailer@ife.ee.ethz.ch>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agousb-uchi: post-merge: Revert asynchronous completion changes
Ian Jackson [Mon, 27 Oct 2008 15:32:19 +0000 (15:32 +0000)]
usb-uchi: post-merge: Revert asynchronous completion changes

Previously, during the merge, I resolved the changeset
  2cfc40201be5562a942615452fc2c4ee45d1165c
  usb-uhci: correctly deal with interrupt in asynchronous completion
which came from xen-unstable
  changeset:   12775:60bbcf799384d779c2a561b9d9ba30f28e31d970
  date:        Thu Dec 07 11:52:26 2006 +0000
  files:       tools/ioemu/hw/usb-hid.c tools/ioemu/hw/usb-uhci.c
  description:
  [HVM] qemu mouse: Adds support for USB mouse/tablet status check and
  ...
  And UHC should leave a TD active when receiving NAK and execute this
  incompleted TD in a subseqent frame. UHC only generates an interrupt
  on complete after the TD with ICO bit is completed.
  ...
Signed-off-by: Xinmei Huang <xinmei.huang@intel.com>
with the new uhci controller in upstream qemu.

However, in the context of the new uhci controller this is a broken
change; it causes the polling of the usb tablet (for example) to cease
after the first two polls.

So I'm reverting it.

16 years agomerge fixup: ram_save_live return value
Ian Jackson [Mon, 27 Oct 2008 12:07:28 +0000 (12:07 +0000)]
merge fixup: ram_save_live return value

ram_save_live should return 1 for saving to work.

16 years agovga.c: Call dpy_update when stealing vram
Ian Jackson [Fri, 24 Oct 2008 18:09:49 +0000 (19:09 +0100)]
vga.c: Call dpy_update when stealing vram

When we steal the vram, we copy the old data into it.  It may be the
case that the display output is already running - eg a VNC client
already connected.  In this case it is necessary to call dpy_update to
ensure that the data is sent to the client.

Without this change the initial screen clearing (done by the BIOS
before vram is stole) may be missed if the vnc client is fast at VM
startup, resulting in a white vnc screen with bits of black-backed
text painted over (which can be rectified by asking for a screen
refresh).

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agovnc.c: fix visible_[xywh] computations for multiple-update-requesters
Ian Jackson [Fri, 24 Oct 2008 18:07:32 +0000 (19:07 +0100)]
vnc.c: fix visible_[xywh] computations for multiple-update-requesters

The spec is unclear about the semantics of several update requests
with various different regions.  Some clients (eg tightvnc 1.3.9-4 as
in etch) send a number of small nonincremental requests for areas they
have lost, followed by a large incremental one.

Our code will throw away the `modified' bits for areas outside our
idea of the client's visible area, and redraw them if that idea grows
again.  So any client which sends many sequential requests in this way
will end up with some pointless retransmissions.

So what we do here is a bit of a workaround: we avoid shrinking the
visible window on a nonincremental update.  We assume that a client's
incremental update specifies a new visible area (possibly shrinking)
but a nonincremental one may only grow it.  Hopefully the client which
has really had its visible area reduced will shortly send us an
incremental update request.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoMerge cleanup: delete some leftover junk from #includes
Ian Jackson [Fri, 24 Oct 2008 18:03:52 +0000 (19:03 +0100)]
Merge cleanup: delete some leftover junk from #includes

16 years agohw/xen_machine_*: set max_cpus
Ian Jackson [Fri, 24 Oct 2008 18:01:33 +0000 (19:01 +0100)]
hw/xen_machine_*: set max_cpus

The merged qemu checks the cpus requested against the machine's
max_cpus, so we need to set these to 1.

16 years agoPost stubdom merge compilation fixes
Ian Jackson [Thu, 23 Oct 2008 16:43:06 +0000 (17:43 +0100)]
Post stubdom merge compilation fixes

16 years agoMerge branch 'qemu'
Ian Jackson [Thu, 23 Oct 2008 15:11:36 +0000 (16:11 +0100)]
Merge branch 'qemu'

16 years agobt-host.c: Indirect disabling via NO_BLUETOOTH_PASSTHROUGH
Ian Jackson [Thu, 23 Oct 2008 15:11:23 +0000 (16:11 +0100)]
bt-host.c: Indirect disabling via NO_BLUETOOTH_PASSTHROUGH

We set NO_BLUETOOTH_PASSTHROUGH on _WIN32.  This allows other
configurations to disable it too.  (Eg, Xen stubdomains.)

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
16 years agoMerge branch 'master' of ../qemu-iwj
Ian Jackson [Thu, 23 Oct 2008 15:01:35 +0000 (16:01 +0100)]
Merge branch 'master' of ../qemu-iwj

16 years agoconst-correctness fixes for xen-specific code
Ian Jackson [Thu, 23 Oct 2008 15:01:11 +0000 (16:01 +0100)]
const-correctness fixes for xen-specific code

hw/pass-through.c and xenstore.c had a few cases of a string "..."
being assigned to a char*, which causes a warning with

16 years agoMerge branch 'master' of ../qemu-iwj
Ian Jackson [Thu, 23 Oct 2008 14:06:53 +0000 (15:06 +0100)]
Merge branch 'master' of ../qemu-iwj

Conflicts:

xen-hooks.mak