This more neatly matches how the two adjacent fields in
the grant-table entry are accessed by the cmpxchg()
function.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Necessary because the modified word may not be the one directly
addressed by the memory parameter (since the parameter actually
points at an array, not a scalar value).
The change to set_bit/__set_bit is reported to fix an issue
on x460 hardware, as reported (and this fix suggested) by
Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
call to determine the initial reservation separately from the amount of
memory to be freed up by ballooning -- when using QEMU, we lose 8 MiB to video
RAM, which must be accounted for when ballooning, but _not_ accounted for
within the domain's memory allocation.
Tidy this code up using the new architecture-specific interface arrangement.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
local migration since this does not seem to work correctly (see tests in
xm test suite). If no vTPM has been attached, the local migration
proceeds as usual.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
With this patch, a checked build of Windows Server 2003 can be installed
and run on top of a VMX domain.
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
This patch makes frontend drivers being shutdown when devices_shutdown()
is called and walks down the device tree. Most of it is handled by the
xenbus core, which got a new function for the bus->shutdown callback.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
Driver changes: Make backend drivers check it when entering Closed
state, only unregister devices when the "online" node is either "0" or
not present. The later maintains backward compatibility.
Tools changes: Update "online" node when creating and hot-unplugging
devices.
Background: When kexec'ing a new kernel, the old kernel's frontend
driver will shutdown, but the backend device should *NOT* disappear
due to that, so the new kernel instance can reconnect.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
Generation of 32-on-64 compat shims is being semi-automated for all
other hypercalls. It seems sensible to teat all hypercalls uniformly
and do the same for the control-stack management interfaces too.
Signed-off-by: Keir Fraser <keir@xensource.com>
This is because it should only contain real I/O memory address ranges,
otherwise we can get false conflicts between a real I/O range and a
'pseudophysical' RAM range, causing drivers to fail to work in a domU.
Also prevent kernel code/data being requested as iomem resources --
they are not contiguous in 'io memory' space so this would not make
sense.
Signed-off-by: Keir Fraser <keir@xensource.com>
open_netdev is called as very last thing in netdev_probe.
This closes at least one initialization race: uninitialized
mac address is visible for a short time in
/sys/class/net/${if}/address
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>