[XEN] Make multicall info explicitly PER_CPU.
Also remove cacheline alignment in a few places. We leave
the common timer and schedule_data structures aligned because
they may be accessed randomly by remoted CPUs: at least we can
contain cacheline bouncing to just the offending structures. Signed-off-by: Keir Fraser <keir@xensource.com>
[hvm] Move the mapping of the shared IO page slightly earlier
in the initialisation sequence for HVM guests, so that we can
write vp_eport into the shared after creating the port.
Signed-off-by: Steven Smith <ssmith@xensource.com>
[XENSTAT] Ignore domains that are being created/destroyed during get_info call.
Currently, xenstat_get_node exits with a failure and returns NULL if a
VM is deleted between the time the list of VMs is obtained and the time
it attempts to collect information about the VMs. This patch modifies xenstat
to ignore domains that transition during the call.
Signed-off-by: Simon Graham <Simon.Graham@stratus.com>
Current code doesn't handle vmexits caused by triple fault, INIT, SIPI,
etc, which are listed in IA32 Architecture System Programming Guide 2,
Appendix I VMX Basic Exit Reasons, and calls __hvm_bug() when not
handling such cases, actually domain crash should be good enough.
[XEND] Daemonise vncviewer when it is spawned from xend.
There are various reasons it should be daemonized, but the particular
problem we hit was that YaST called "xm create" and waited on output on
stdout/stderr; xm then spawned vncviewer (which never closed its
inherited stdout and stderr); xm then would exit, but YaST still had
open file descriptors, and therefore waited forever. It would be
possible to work around in YaST, but it seemed cleaner to daemonize
vncviewer.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
This backend use a slot per pci device. Contrary to vpci two functions from
one slot appear as two slots. This is useful on ia64 because it doesn't scan
functions > 0 if function 0 does not exist.
[HVMLOADER] Only install hvmloader if it is built.
This reverts a broken change in changeset 10948 that broke
the ia64 build. Signed-off-by: Al Stone <ahs3@fc.hp.com>
[PYGRUB] Flesh out some of pygrub's functionality as was originally
intended. Changes include:
* Addition of basic command line mode much like grub's so that you can
boot things without having them specified in the config file
* Edit/append mode for modifying kernel command lines, etc
* Fix handling of case where the grub config didn't have a default
specified
[XEN] Clean up shutdown handling and ignore opt_noreboot if dom0
shuts down cleanly. The option is intended only to retain information
on the local console in case of a crash.
Based on a patch from Muli Ben-Yehuda <muli@il.ibm.com>
[xend] Fix reboot for hvm domains with cdrom devices.
The device-type was not added to the device details which caused
cdrom devices to appear as harddisks after a reboot.
From: Alex Brett <Alex.Brett@xensource.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
[HVMLOADER] HVM loader initialises hypercall shim and uses
it to interrogate Xen version information. Also add support
for HVM hypercall execution on 64-bit host.
Signed-off-by: Steven Smith <ssmith@xensource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
[NET] front: Check for received packets in network_open0
Because the backend brings up the interface long before the frontend
has booted up, it is possible that by the time we get here we already
have packets queued up for processing.
If we don't process them here, we may delay them more than what is
necessary. Worse yet, it is possible to miss the notification
interrupt from the backend in such a way that we never get another
one until we bring the interface down and up.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[qemu] Update acpi timer to not use a qemu timer.
Compute the acpi timer's value when it is accessed instead of using
a qemu timer to keep it uptodate.
From: Wang, Winston L <winston.l.wang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
[hvm firmware] Update hvm acpi dsdt table.
1)Code style clean up
2)Mininor fix for pci bus 0, dev 4 apic IRQ number
3)Add support for HCT "unreported IO and Memory" test by reporting low
640 MB mem as motherboard resource
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
[qemu] Make sure disk writes really made it to disk before we report I/O
completion to the guest domain. The DMA_MULTI_THREAD functionality
from the qemu-dm IDE emulation should make the performance overhead
of synchronous writes bearable, or at least comparable to native
hardware.
[XEN] Allow add_to_physmap to be applied to DOMID_SELF.
Also sanitise handling of existing mappings of Xen heap
frames. Signed-off-by: Steven Smith <ssmith@xensource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
[HVM] Add a concept of HVM parameters to the hypervisor.
Each HVM domain has a space of HVM parameters associated with it,
and these can be manipulated via a new hvm_op hypercall. This means
that the hypervisor no longer needs to parse the hvm_info table, so
remove that code.
Signed-off-by: Steven Smith <ssmith@xensource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
For the purpose of quick compile testing of (namely smaller) changes,
provide a
means to build individual pieces underneath the xen dir (could equally
be applied
to tools, and the top level Makefile could also be made aware of this
logic to
make things even more consistent). At once, add a way to only
pre-process files
in case some of the more complicated macros need change and hence
inspection
of the results.
[LINUX] Allows userspace tools on a domU to set up a watch on the xenstore.
It does this by intercepting XS_WATCH requests written
to /proc/xen/xenbus and then re-submitting the request to the
in-kernel xenstore interface, in
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c. When a callback
occurs, an in-kernel function is invoked, which then reconstructs a
response in the format expected by userspace, and sends this response
through /proc/xen/xenbus.
It was necessary to add some supporting infrastructure to
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c, such as an
additional mutex to protect the response queue and a list of active
watches associated with each connection.
Signed-off-by: Michael LeMay <mdlemay@epoch.ncsc.mil>
[TOOLS] Modify xenstore_client.c to include a new utility, xenstore-chmod.
This utility permits developers and administrators to
manually change the permissions on arbitrary locations in XenStore
from the command line. This is often helpful if you're trying to debug an
application that relies on XenStore and is encountering difficulties
with permissions.
Signed-off-by: Michael LeMay <mdlemay@epoch.ncsc.mil>
[HVM] Place all APIC registers into one page in native format.
With this change we can re-use code at include/asm-x86/apicdef.h,
making the code much cleaner. Also it help for future enhancement.
This patch does not change any logic except the change to
CONTROL_REG_ACCESS_NUM, which should be 0xf for CR8 access.
[VMXASSIST] Fix GDTR accesses when paging mode enabled.
The gdtr information in oldctx is an address for guest, not for
vmxassist. When access descriptor on guest gdt, we need to go through
guest page table if guest enable paging. This error may happen if
guest enable PE/PG in one instruction.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>=20 Signed-off-by: Xin Li <xin.b.li@intel.com>
[PCI] back: Fix potential infinite loop in pcistub_match_one().
The for loop in pcistub_match_one will loop forever if the
dev->bus->self links to itself at the uppermost bridge. Adding a
check to prevent linking back in on itself prevents this.