xen.git
17 years agovmx: Better diagnostic messages when VMXON might have failed due to
Keir Fraser [Mon, 2 Jun 2008 09:55:55 +0000 (10:55 +0100)]
vmx: Better diagnostic messages when VMXON might have failed due to
bad setting of the IA32_FEATURE_CONTROL MSR.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agovtd: Fix pagetable teardown on domain detsruction.
Keir Fraser [Mon, 2 Jun 2008 09:04:19 +0000 (10:04 +0100)]
vtd: Fix pagetable teardown on domain detsruction.
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
17 years agovtd: build fix.
Keir Fraser [Mon, 2 Jun 2008 09:03:18 +0000 (10:03 +0100)]
vtd: build fix.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Mon, 2 Jun 2008 02:35:39 +0000 (11:35 +0900)]
merge with xen-unstable.hg

17 years ago[IA64] compilation fix of c/s 17723:c684cf331f94
Isaku Yamahata [Mon, 2 Jun 2008 02:35:02 +0000 (11:35 +0900)]
[IA64] compilation fix of c/s 17723:c684cf331f94

This patch fixes the compilation error caused by the c/s 17723:c684cf331f94.
Define stub functions which return -ENOSYS.

ia64-linux-gnu-ld -g -T xen.lds.s -N \
                -Map map.out linux-xen/head.o xen-unstable.hg/xen/common/built_in.o xen-unstable.hg/xen/drivers/built_in.o xen-unstable.hg/xen/xsm/built_in.o xen-unstable.hg/xen/arch/ia64/built_in.o \
                xen-unstable.hg/xen/common/symbols-dummy.o -o xen-unstable.hg/xen/xen-syms
xen-unstable.hg/xen/common/built_in.o: In function `__gnttab_unmap_common':
xen-unstable.hg/xen/common/grant_table.c:566: undefined reference to `iommu_unmap_page'
xen-unstable.hg/xen/common/built_in.o: In function `__gnttab_map_grant_ref':
xen-unstable.hg/xen/common/grant_table.c:388: undefined reference to `iommu_map_page'

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agox86: Fix teardown of relocated vcpu_info structures.
Keir Fraser [Sun, 1 Jun 2008 08:16:26 +0000 (09:16 +0100)]
x86: Fix teardown of relocated vcpu_info structures.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: i8254 device model is shared between PV and HVM guests, so must
Keir Fraser [Fri, 30 May 2008 18:31:18 +0000 (19:31 +0100)]
x86: i8254 device model is shared between PV and HVM guests, so must
take care not to run hvm_get_guest_time() on a PV VCPU. The spinlock
is not initialised and spin_lock() can thus spin forever.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86 hvm: Fix task-switch operation ordering.
Keir Fraser [Fri, 30 May 2008 15:44:13 +0000 (16:44 +0100)]
x86 hvm: Fix task-switch operation ordering.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86 hvm: Support task switch when task state segments straddle page
Keir Fraser [Fri, 30 May 2008 15:30:40 +0000 (16:30 +0100)]
x86 hvm: Support task switch when task state segments straddle page
boundaries. Also improve error diagnostics from hvm_map().

Fixes multi-processor shutdown for some types of Windows OS.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoAdd xen_phys_start value in the crash info note
Keir Fraser [Fri, 30 May 2008 15:04:20 +0000 (16:04 +0100)]
Add xen_phys_start value in the crash info note

This patch makes the vmcore utilities (ex. crash, makedumpfile) be
able to get the relocation address of the xen hypervisor from a
vmcore. It is necessary for the utilities to find the data of the
hypervisor structures.

Note that this patch does not raise any comptibility issue for the
utilities (which I know) nor the other components of xen.

Signed-off-by: Itsuro Oda <oda@valinux.co.jp>
17 years ago[IA64] compilation fix of iommu.h
Keir Fraser [Fri, 30 May 2008 14:09:40 +0000 (15:09 +0100)]
[IA64] compilation fix of iommu.h

Trivial compilation fix of iommu.h.
It includes asm/msi.h for struct msi_desc and struct msi_msg
definition.
msi.h doesn't exist yet on ia64 so declare struct msi_desc and
struct msi_msg in iommu.h and don't include asm/msi.h.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agovtd: Various cleanups and fixes:
Keir Fraser [Fri, 30 May 2008 14:06:08 +0000 (15:06 +0100)]
vtd: Various cleanups and fixes:
 * Handle DRHDs with different supported AGAWs. To support this we
   create page tables which always have 4 levels, and skip top levels
   for units which support only 2 or 3 levels.
 * Handle systems with mixed DRHD support for cache snooping. We must
   pessimistically CLFLUSH if any DRHD does not support snooping.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agovtd: Remove dead code.
Keir Fraser [Thu, 29 May 2008 13:30:48 +0000 (14:30 +0100)]
vtd: Remove dead code.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxend: Add node parameter to do_migrate() for HTTP interface
Keir Fraser [Thu, 29 May 2008 12:38:31 +0000 (13:38 +0100)]
xend: Add node parameter to do_migrate() for HTTP interface
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years agoia64: Do not guest_physmap_remove_page() old page in gnttab_transfer op.
Keir Fraser [Thu, 29 May 2008 10:19:16 +0000 (11:19 +0100)]
ia64: Do not guest_physmap_remove_page() old page in gnttab_transfer op.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Fix reboot failure after S3
Keir Fraser [Thu, 29 May 2008 08:42:59 +0000 (09:42 +0100)]
x86: Fix reboot failure after S3

"warm reset vector" is used to start APs. At booting time, it is set
by BP, and cleared after all APs have started. When do S3, similar work
need to do. However, when enable non-boot CPUs after S3, Xen just sets
this vector, but forgets to clear it after APs startup.

Signed-off-by: Huacai Chen <huacai.chen@intel.com>
17 years agopv-on-hvm: Change barrier from rmb to wmb.
Keir Fraser [Thu, 29 May 2008 08:40:07 +0000 (09:40 +0100)]
pv-on-hvm: Change barrier from rmb to wmb.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
17 years agovtd: addr_to_dma_page_maddr() must release its lock.
Keir Fraser [Thu, 29 May 2008 08:39:23 +0000 (09:39 +0100)]
vtd: addr_to_dma_page_maddr() must release its lock.
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
17 years agovtd: More TLB flush fixes.
Keir Fraser [Wed, 28 May 2008 15:14:10 +0000 (16:14 +0100)]
vtd: More TLB flush fixes.
 - Made the non-present flush testing a bit simpler.
 - Removed dma_addr_level_page_maddr().  Use a modified
   addr_to_dma_page_maddr() instead.
 - Upon mapping new context entry: flush old entry using domid 0 and
   always flush iotlb.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agoiommu: Handle sibling device assignment correctly
Keir Fraser [Wed, 28 May 2008 13:41:23 +0000 (14:41 +0100)]
iommu: Handle sibling device assignment correctly

Domctl interface is extended to allow libxc retrieve device group
information from hypervisor. Vendor-specific iommu_ops is also
extended by adding a new operation "get_device_group_id()", which is
currently a null pointer but could be implemented later for vt-d.

Error will be raised from tools side when user trying to assign PCI
device with a sibling device being driven by dom0. User will keep
being prompted until he has hidden the entire device group (at least,
the sibling devices driven by dom0) in dom0 kernel
parameter. Hopefully this framework could be flexible enough to
support both amd iommu and vt-d.

The following 2 cases are not covered by this patch, but should be
easy to handle.
* Checking for hot-plug devices (maybe we can delay calling
ImageHandler.signalDeviceModel() until all checks are done?)
* Checking for splitted device group between different passthru
domains

Signed-off-by: Wei Wang <wei.wang2@amd.com>
17 years agoioemu: set up all xenstore watches even if there are no VBDs.
Keir Fraser [Wed, 28 May 2008 11:22:36 +0000 (12:22 +0100)]
ioemu: set up all xenstore watches even if there are no VBDs.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
17 years agogrant_table: Flush host CPU TLBs during grant transfer.
Keir Fraser [Wed, 28 May 2008 10:43:37 +0000 (11:43 +0100)]
grant_table: Flush host CPU TLBs during grant transfer.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years ago[IA64] cleanup: vcpu_set_psr_sm.
Isaku Yamahata [Wed, 28 May 2008 09:10:44 +0000 (18:10 +0900)]
[IA64] cleanup: vcpu_set_psr_sm.

It is pointless to set the machine psr.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
17 years agovtd: TLB flush fixups.
Keir Fraser [Wed, 28 May 2008 09:05:57 +0000 (10:05 +0100)]
vtd: TLB flush fixups.
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
17 years agohvmloader: No need to map shared_info page into the legacy VGA MMIO
Keir Fraser [Wed, 28 May 2008 09:02:00 +0000 (10:02 +0100)]
hvmloader: No need to map shared_info page into the legacy VGA MMIO
hole. We can access address 0xfffff000 from 32-bit protected mode.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agovtd: IOTLB flush fixups
Keir Fraser [Wed, 28 May 2008 08:31:49 +0000 (09:31 +0100)]
vtd: IOTLB flush fixups

On map: only flush when old PTE was valid or invalid PTE may be
cached.
On unmap: always flush old entry, but skip flush for unaffected
IOMMUs.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agostubdom: Save main_thread value by moving it out from app_bss which
Keir Fraser [Wed, 28 May 2008 08:31:04 +0000 (09:31 +0100)]
stubdom: Save main_thread value by moving it out from app_bss which
gets cleared.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: make the build more generic by moving as many stubdom parts
Keir Fraser [Wed, 28 May 2008 08:30:48 +0000 (09:30 +0100)]
stubdom: make the build more generic by moving as many stubdom parts
into stubdom/ as possible.  That also permits to build all of
ioemu, c and caml stubdoms at the same time.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agovtd: interrupt remapping for MSI/MSI-x.
Keir Fraser [Wed, 28 May 2008 08:29:05 +0000 (09:29 +0100)]
vtd: interrupt remapping for MSI/MSI-x.

Signed-off-by: Weidong Han <weidong.han@intel.com>
17 years agovtd: Fix bugs of ioapic interrupt remapping.
Keir Fraser [Wed, 28 May 2008 08:28:42 +0000 (09:28 +0100)]
vtd: Fix bugs of ioapic interrupt remapping.

Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
17 years agominios: We do not need to pin the page tables, as they implicitly get
Keir Fraser [Tue, 27 May 2008 12:03:05 +0000 (13:03 +0100)]
minios: We do not need to pin the page tables, as they implicitly get
pinned when we point the permanent page directory to them.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoioemu: Force floppy disk images to be interpreted as raw.
Keir Fraser [Tue, 27 May 2008 10:51:33 +0000 (11:51 +0100)]
ioemu: Force floppy disk images to be interpreted as raw.
Fixes specifying fda/fdb image names in domain configs.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoRevert 17731:eafb252f141.
Keir Fraser [Tue, 27 May 2008 10:50:43 +0000 (11:50 +0100)]
Revert 17731:eafb252f141.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoFix 17725:c0c0f4fa8850: use type paddr_t instead of unsigned long for physcial memory...
Keir Fraser [Tue, 27 May 2008 09:35:10 +0000 (10:35 +0100)]
Fix 17725:c0c0f4fa8850: use type paddr_t instead of unsigned long for physcial memory address

Otherwise, the address overflows on PAE system with memory size > 4G.

Signed-off-by: Yang, Xiaowei <xiaowei.yang@intel.com>
17 years agoxend: fix a typo in domain_migrate().
Keir Fraser [Tue, 27 May 2008 09:31:55 +0000 (10:31 +0100)]
xend: fix a typo in domain_migrate().
 - @rtype:  ->  @type node:

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years agoxend: add a reset button to Web interface.
Keir Fraser [Tue, 27 May 2008 09:31:25 +0000 (10:31 +0100)]
xend: add a reset button to Web interface.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years agoxend: take care of dead qemu-dm process
Keir Fraser [Mon, 26 May 2008 07:53:25 +0000 (08:53 +0100)]
xend: take care of dead qemu-dm process

This patch fix xend as when fatal error happened (e.g. qemu-dm process
was killed) log error message then mark that domain as crashed, do
what specified on crashed in the domain config file. Added some code in
xend to check those crashed hvm DM status each 30 seconds.

Signed-off-by: Xiaowei Hu <xiaowei.hu@oracle.com>
17 years agox86 hvm: Drop pagetable reference when resetting a VCPU to real mode.
Keir Fraser [Mon, 26 May 2008 07:45:59 +0000 (08:45 +0100)]
x86 hvm: Drop pagetable reference when resetting a VCPU to real mode.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoFix domain names that xentop shows
Keir Fraser [Mon, 26 May 2008 07:37:43 +0000 (08:37 +0100)]
Fix domain names that xentop shows

When I changed the name of a domain by using xm rename command, the
name of the domain that xentop shows did not change.  This patch
reflects new domain name to the name of domains that xentop shows.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years ago[IA64] remove warnings caused by c/s 17723:c684cf331f94
Keir Fraser [Mon, 26 May 2008 07:27:19 +0000 (08:27 +0100)]
[IA64] remove warnings caused by c/s 17723:c684cf331f94

This patch removes the following warnings on ia64 by
including necessary header files.
On x86 the necessary files are included by recusive inclusion.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agoFix XendAPI VM_migrate parameters
Keir Fraser [Mon, 26 May 2008 07:26:37 +0000 (08:26 +0100)]
Fix XendAPI VM_migrate parameters

This patch removes unused resource parameter and fixes the default
value for domain_migrate. Also removes tab indent in XendOptions.py.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
17 years agoVT-d: flush iotlb of selective iommu when a domain's VT-d table is changed
Keir Fraser [Mon, 26 May 2008 07:25:36 +0000 (08:25 +0100)]
VT-d: flush iotlb of selective iommu when a domain's VT-d table is changed

When a domain's VT-d table is changed, only the iommus under which the
domain has assigned devices need to be flushed.

Signed-off-by: Yang, Xiaowei <xiaowei.yang@intel.com>
17 years agoVT-d: remove Xen and tboot range from dom0's VT-d table
Keir Fraser [Mon, 26 May 2008 07:24:55 +0000 (08:24 +0100)]
VT-d: remove Xen and tboot range from dom0's VT-d table

This a step forward to fix the security hole introduced by dom0's 1:1
mapping VT-d table: remove the critical code and data from it. The
more flexible solution is to update dom0's VT-d table on demand as what
will be done for other PV domains. However, there could bring a
performance issue even with software optimization. Iotlb flush of some
hardware is time-consuming.

Signed-off-by: Yang, Xiaowei <xiaowei.yang@intel.com>
17 years agoHandle IOMMU device assignment for PV guests
Keir Fraser [Sat, 24 May 2008 08:45:37 +0000 (09:45 +0100)]
Handle IOMMU device assignment for PV guests

Added more informative error codes for device assignment domctls.
Introduced python bindings for device assignment and enable xend to
also perform IOMMU device assignment when assigning PCI devices.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agoHandle dynamic IOMMU map/unmap for guests
Keir Fraser [Sat, 24 May 2008 08:42:02 +0000 (09:42 +0100)]
Handle dynamic IOMMU map/unmap for guests

Perform IOMMU map/unmap when (a) frame type changes, (b) memory
reservation changes, and (c) a grant reference is newly mapped or
completely unmapped from a domain.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agoEnable IOMMU for PV guests
Keir Fraser [Sat, 24 May 2008 08:37:35 +0000 (09:37 +0100)]
Enable IOMMU for PV guests

Introduce 'iommu_pv' boot parameter (default off).  Added a need_iommu
flag which is set if guest has PCI devices assigned.  IOMMU page
tables are populated with current guest memory when IOMMU is first
enabled for the guest.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agoVT-d: Improve page table debug output
Keir Fraser [Sat, 24 May 2008 08:35:05 +0000 (09:35 +0100)]
VT-d: Improve page table debug output

Ignore 'current' domain when dumping VT-d page tables.  Also add page
type summary for domain pages output.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agoFix iommu_unmap_page for VT-d
Keir Fraser [Sat, 24 May 2008 08:27:48 +0000 (09:27 +0100)]
Fix iommu_unmap_page for VT-d

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agoRemove physmap page upon granttab xfer
Keir Fraser [Sat, 24 May 2008 08:25:04 +0000 (09:25 +0100)]
Remove physmap page upon granttab xfer

Mapping should be removed from current domain's p2m table when doing a
grant table transfer.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
17 years agominios: Fix width of shifted 1
Keir Fraser [Sat, 24 May 2008 08:24:25 +0000 (09:24 +0100)]
minios: Fix width of shifted 1

Shifting 1 more that 32 bits requires 1 to be long-typed.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoCx fix - Add wrap-back calculation for 24b PM timer ticks.
Keir Fraser [Sat, 24 May 2008 08:23:40 +0000 (09:23 +0100)]
Cx fix - Add wrap-back calculation for 24b PM timer ticks.

Signed-off-by: Wei Gang <gang.wei@intel.com>
17 years agohvm: Build guest timers on monotonic system time.
Keir Fraser [Sat, 24 May 2008 08:27:03 +0000 (09:27 +0100)]
hvm: Build guest timers on monotonic system time.

Move hvm platform timers from underlying physical CPU TSC to Xen
system time and ensure domain-wide monotonicity. TSC on many systems
may skew between processors leading to 'time going backwards' messages
from some guests.

Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86_emulate: Check single-step status at instruction start rather than end.
Keir Fraser [Sat, 24 May 2008 07:54:59 +0000 (08:54 +0100)]
x86_emulate: Check single-step status at instruction start rather than end.

This fixes booting of FreeDOS with HIMEM.SYS enabled.

Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agorombios: Remove annoying 3-second boot delay waiting for user to hit
Keir Fraser [Fri, 23 May 2008 10:58:08 +0000 (11:58 +0100)]
rombios: Remove annoying 3-second boot delay waiting for user to hit
F10 to select boot device. This will be rarely used, and it is
possible to hit F10 before the message is displayed and the keypress
will still register. So in practice it is quite possibel to use this
boot feature reliably without needing a multi-second delay.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Fixes to VLAPIC and S3 state resets.
Keir Fraser [Fri, 23 May 2008 10:46:36 +0000 (11:46 +0100)]
x86: Fixes to VLAPIC and S3 state resets.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Fix Xen boot on 8-node AMD machines
Keir Fraser [Fri, 23 May 2008 10:15:19 +0000 (11:15 +0100)]
x86: Fix Xen boot on 8-node AMD machines

In xen/arch/x86/cpu/amd.c the function disable_c1_ramping iterates
over the northbridges using NR_CPUS as an upper bound for the number of
nodes. If there are no more northbridges found, it stops iterating.
Sadly it just adds the northbridge number to 0x18 and uses this as a
PCI device number, so probing the 9th northbridge on an 8 node system will
be caught by the newly inserted assertion in pci_conf_read in current
unstable. We fix this by first querying the number of nodes from the
first northbridge to avoid the overflow.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Verified by Mark.Johnson@sun.com

17 years agoxend: Import TRIGGER_S3RESUME and HVM_PARAM_ACPI_S_STATE into XendDomain.py.
Keir Fraser [Fri, 23 May 2008 09:57:03 +0000 (10:57 +0100)]
xend: Import TRIGGER_S3RESUME and HVM_PARAM_ACPI_S_STATE into XendDomain.py.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agorools/examples: Fix 'make install'.
Keir Fraser [Fri, 23 May 2008 09:47:16 +0000 (10:47 +0100)]
rools/examples: Fix 'make install'.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoAdd -s --ssl option to xm migrate
Keir Fraser [Fri, 23 May 2008 09:42:11 +0000 (10:42 +0100)]
Add -s --ssl option to xm migrate

This patch adds -s --ssl option to xm migrate. It will override
xend-relocation-ssl setting in /etc/xen/xend-config.sxp.

When mix deploy xen 3.2 and xen 3.3 servers, it's convenient to have a
command line option rather than modify /etc/xen/xend-config.sxp every
time.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
17 years agoMake ssl relocation server listen on different port
Keir Fraser [Fri, 23 May 2008 09:41:44 +0000 (10:41 +0100)]
Make ssl relocation server listen on different port

This patch makes ssl relocation server listen on 8003 if enabled.

Whether to start ssl relocation server now controlled by
xend-relocation-ssl-server. So ssl and non-ssl relocation server can
run simultaneously. You can also only start ssl server or only start
non-ssl relocation server.

When mix deploy xen 3.2 server (has no ssl support) and 3.3 servers,
start ssl and non-ssl relocation server simultaneously can keep
backward compatibility.

It's also more reasonable to have separate ports for ssl and non-ssl.

In this patch, also renames xend-relocation-tls to xend-relocation-ssl.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
17 years agotboot, s3: Fix S3 issue of Xen and tboot, since the structure
Keir Fraser [Fri, 23 May 2008 08:48:44 +0000 (09:48 +0100)]
tboot, s3: Fix S3 issue of Xen and tboot, since the structure
acpi_sleep_info is changed but some of the code in Xen is not
synchronized up with this change, which causes Xen S3 failure.

Signed-off-by: Shane Wang <shane.wang@intel.com>
17 years agoRemove xend-config-xenapi.sxp and xm-config-xenapi.xml
Keir Fraser [Fri, 23 May 2008 08:47:45 +0000 (09:47 +0100)]
Remove xend-config-xenapi.sxp and xm-config-xenapi.xml

The contents of these two files are duplicate of xend-config.sxp and
xm-config.xml. They only add maintaining burdens to developers.

This patch removes them permanently.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
17 years agostubdom: fix constructors/destructors in 64bit mode
Keir Fraser [Fri, 23 May 2008 08:35:57 +0000 (09:35 +0100)]
stubdom: fix constructors/destructors in 64bit mode

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: fix and clean pthread minimal support
Keir Fraser [Fri, 23 May 2008 08:35:43 +0000 (09:35 +0100)]
stubdom: fix and clean pthread minimal support

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: complete libxc support
Keir Fraser [Fri, 23 May 2008 08:35:23 +0000 (09:35 +0100)]
stubdom: complete libxc support

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoxend: fix automatic vcpu NUMA placement
Keir Fraser [Thu, 22 May 2008 14:11:06 +0000 (15:11 +0100)]
xend: fix automatic vcpu NUMA placement

The automatic NUMA placement code (find_relaxed_node) in
XendDomainInfo.py contains several bugs:
1. The domain just created shall not be considered in the load
calculation.
2. Nodes with too less memory for the domain must be considered during
the load calculation phase and abandoned later, currently these nodes
win with a load of 0.
3. CPUs which are offline shall not be considered in load calculation.
4. (Integer-)Dividing the load value by the number of cores per node
may conceal subtle load differences resulting in a non-optimal node to
be chosen.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
17 years agolibxc: drop double un?lock_pages definition to fix static linking
Keir Fraser [Thu, 22 May 2008 14:09:49 +0000 (15:09 +0100)]
libxc: drop double un?lock_pages definition to fix static linking

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: support constructors and destructors
Keir Fraser [Thu, 22 May 2008 14:09:08 +0000 (15:09 +0100)]
stubdom: support constructors and destructors

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoioemu: drop unused shared_vram variable
Keir Fraser [Thu, 22 May 2008 14:08:48 +0000 (15:08 +0100)]
ioemu: drop unused shared_vram variable

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoshadow: check for gfn_to_mfn returning INVALID_MFN
Keir Fraser [Thu, 22 May 2008 14:08:14 +0000 (15:08 +0100)]
shadow: check for gfn_to_mfn returning INVALID_MFN

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Thu, 22 May 2008 10:42:51 +0000 (19:42 +0900)]
merge with xen-unstable.hg

17 years agohvmloader: Fix pci_setup() to not skip BAR remapping for virtual VGA devices.
Keir Fraser [Thu, 22 May 2008 10:04:02 +0000 (11:04 +0100)]
hvmloader: Fix pci_setup() to not skip BAR remapping for virtual VGA devices.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Change a local label in asm entry stubs to really be local.
Keir Fraser [Thu, 22 May 2008 09:41:49 +0000 (10:41 +0100)]
x86: Change a local label in asm entry stubs to really be local.
This prevents it appearing in crash traces, where it can be a bit confusing.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agox86: Remove 32-bit non-PAE code from dom0 builder, and avoid use of
Keir Fraser [Thu, 22 May 2008 09:40:40 +0000 (10:40 +0100)]
x86: Remove 32-bit non-PAE code from dom0 builder, and avoid use of
get_page_type() on pagetable pages (pending support for preemptive
get_page_type(), as dom0 builder would be an awkward place to deal
with preemption).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agolibxc, x86: Fix CPUID inline asm for x86/64.
Keir Fraser [Wed, 21 May 2008 15:55:11 +0000 (16:55 +0100)]
libxc, x86: Fix CPUID inline asm for x86/64.

Must save all 64 bits of RBX, not just the EBX sub-part.

Based on bug diagnosis and patch by Juergen Keil <jk@tools.de>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agohvmloader: Lay out memory a bit differently -
Keir Fraser [Wed, 21 May 2008 10:23:03 +0000 (11:23 +0100)]
hvmloader: Lay out memory a bit differently -
 * Cleanly define a scratch area for temporary storage
 * Raise Etherboot ROM out of the way of larger VGA BIOSes

Also detect virtual VGA adaptors more cleanly.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agovgabios: Support VESA power management extensions.
Keir Fraser [Wed, 21 May 2008 10:19:41 +0000 (11:19 +0100)]
vgabios: Support VESA power management extensions.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoHandle IOMMU pagetable allocations when set_p2m_entry is called with
Keir Fraser [Wed, 21 May 2008 10:07:23 +0000 (11:07 +0100)]
Handle IOMMU pagetable allocations when set_p2m_entry is called with
non-zero page order.
Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoIntel EPT: Add page shattering logic for EPT when a super-page gets partially freed.
Keir Fraser [Wed, 21 May 2008 10:02:51 +0000 (11:02 +0100)]
Intel EPT: Add page shattering logic for EPT when a super-page gets partially freed.

Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
17 years agoAdd statistic interface for cx.
Keir Fraser [Wed, 21 May 2008 09:59:49 +0000 (10:59 +0100)]
Add statistic interface for cx.

Implement statistic interface for cx via sysctl & libxc. Provide a
easy way to collect processor cx info within dom0.

Signed-off-by: Wei Gang <gang.wei@intel.com>
17 years agox86: Make cx key handler print simpler but formatted info.
Keir Fraser [Wed, 21 May 2008 09:59:00 +0000 (10:59 +0100)]
x86: Make cx key handler print simpler but formatted info.

Signed-off-by: Wei Gang <gang.wei@intel.com>
17 years agoxend: Remove XendLogging dependency from a couple of generally useful
Keir Fraser [Wed, 21 May 2008 09:57:08 +0000 (10:57 +0100)]
xend: Remove XendLogging dependency from a couple of generally useful
support modules.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
17 years agox86: Fix lapic timer stop issue in deep C state
Keir Fraser [Wed, 21 May 2008 09:38:57 +0000 (10:38 +0100)]
x86: Fix lapic timer stop issue in deep C state

Local APIC timer may stop at deep C state (C3/C4...) entry/exit. this
patch add the logic that use platform timer (HPET) to reenable local
APIC timer at C state entry/exit.

Signed-off-by: Wei Gang <gang.wei@intel.com>
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxend: Support HVM S3 resume.
Keir Fraser [Tue, 20 May 2008 13:50:45 +0000 (14:50 +0100)]
xend: Support HVM S3 resume.
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Ke Liping <liping.ke@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agohvm: rombios interface for HVM S3
Keir Fraser [Tue, 20 May 2008 13:36:05 +0000 (14:36 +0100)]
hvm: rombios interface for HVM S3
 - add S3 package in ACPI DSDT table. Guest OS will get S3 value from
   this package and write the value to PM1A control register to
   trigger S3 suspend.
 - Add S3 resume logic in rombios post code. the CMOS shutdown register
   is used to indicate if this is a S3 resume.
 - if it is s3 resume, rombios will get wakeup vector from ACPI FACS
   table and jump to wakeup vector. Per ACPI spec, the wakeup vector
   jumping must be the forms CS:IP, in which CS=3D(wakeup vector>>4)
   IP=3D(wakeup vector)&0xF, for example, for vector=3D0x12345,
   CS:IP=3D0x1234:0x5

Note: clobber_entry_point will clobber the post entry, which make S3
resume not work. We will directly jmp to POST Entry if it in S3
Resume path.

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Ke Liping <liping.ke@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoioemu: HVM virtual S3
Keir Fraser [Tue, 20 May 2008 13:28:19 +0000 (14:28 +0100)]
ioemu: HVM virtual S3
  - add S3 suspend logic in PM1A control register. when guest write
    specific value to this register,
    QEMU will trigger S3 sleep by
    * reset all qemu device
    * set CMOS shutdown status as S3 resume, so that rombios will do
      S3 resume later
    * request Xen to S3-suspend the guest

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Liping Ke <liping.ke@intel.com?
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoxend: Fix bugzilla bug #1253.
Keir Fraser [Tue, 20 May 2008 13:18:32 +0000 (14:18 +0100)]
xend: Fix bugzilla bug #1253.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years agox86 hvm: Xen interface and implementation for virtual S3
Keir Fraser [Tue, 20 May 2008 13:17:15 +0000 (14:17 +0100)]
x86 hvm: Xen interface and implementation for virtual S3

Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Ke Liping <liping.ke@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years ago[IA64] SAL work around for windows 2003.
Isaku Yamahata [Tue, 20 May 2008 09:54:09 +0000 (18:54 +0900)]
[IA64] SAL work around for windows 2003.

Temporal work around of SAL emulation for Windows
Some windows crashes with 17606:b03e24f9c1d8. This patch
temporally works around the issue.
The right fix is to support those SAL calls with GFW.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agoMerge with ia64
Keir Fraser [Tue, 20 May 2008 08:55:50 +0000 (09:55 +0100)]
Merge with ia64

17 years agoxm migrate: Better error report when attempt to migrate non-running domain.
Keir Fraser [Tue, 20 May 2008 08:43:02 +0000 (09:43 +0100)]
xm migrate: Better error report when attempt to migrate non-running domain.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years agoioemu: Fix interpretation of missing or zero vfb videoram
Keir Fraser [Tue, 20 May 2008 08:41:52 +0000 (09:41 +0100)]
ioemu: Fix interpretation of missing or zero vfb videoram

Changeset 17289:d97e61001d81: introduced vfb configuration parameter
videoram, defaulting to zero.  Value zero was interpreted as
unlimited.  Changeset 17630:53195719f762 accidentally dropped the
special case for zero, which broke guests that don't specify videoram,
or specify videoram=0.  Restore the old behavior.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Tue, 20 May 2008 02:33:15 +0000 (11:33 +0900)]
merge with xen-unstable.hg

17 years agosvm: Better handling of NMI injection -- avoid nested NMIs.
Keir Fraser [Mon, 19 May 2008 09:03:26 +0000 (10:03 +0100)]
svm: Better handling of NMI injection -- avoid nested NMIs.

We do this by emulating the NMI mask which blocks NMI delivery until
next IRET on native hardware.

Signed-off-by: Gianluca Guida <gianluca.guida@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agoFix showing of CPU Affinity by xm vcpu-list
Keir Fraser [Mon, 19 May 2008 08:46:02 +0000 (09:46 +0100)]
Fix showing of CPU Affinity by xm vcpu-list
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
17 years agox86: Fix kexec reservation
Keir Fraser [Mon, 19 May 2008 08:43:42 +0000 (09:43 +0100)]
x86: Fix kexec reservation

The reservation of space for the kexec area in
kexec_reserve_area is incorrect. It specifies the
start address and size to reserve_e820_mem when
the args should be start and end.

Bug found and fixed by Dave Anderson.

Signed-off-by: Bill Burns <bburns@redhat.com>
17 years agoioemu: Fix load of PCI-device IRQ state after save/restore.
Keir Fraser [Mon, 19 May 2008 08:42:18 +0000 (09:42 +0100)]
ioemu: Fix load of PCI-device IRQ state after save/restore.
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agostdvga: handle 64bit io operations
Keir Fraser [Mon, 19 May 2008 08:40:53 +0000 (09:40 +0100)]
stdvga: handle 64bit io operations

Handle 64bit operations in stdvga instead of throwing away the
upper 32bits.

This fixes some noisy xen messages like "invalid io size: 8".

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
17 years ago[IA64] compilation fix of 17669:d0817f08599a
Isaku Yamahata [Fri, 16 May 2008 13:25:47 +0000 (22:25 +0900)]
[IA64] compilation fix of 17669:d0817f08599a

compilation fix of 17669:d0817f08599a.
The change set needs the definition of do_get_pm_info().
Define the stub function.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agomerge with xen-unstable.hg
Isaku Yamahata [Fri, 16 May 2008 12:59:38 +0000 (21:59 +0900)]
merge with xen-unstable.hg