Commit Graph
12016 Commits
Author SHA1 Message Date
kaf24@localhost.localdomain 9033715d28 [XEND] Do not delete VNC password from configuration.
Fixes reboot of HVM guest when VNC authentication is in use.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-27 18:15:14 +01:00
kaf24@localhost.localdomain 98781cd038 [XEN] perf counters: Fix NULL-pointer check. Should happen later.
Signed-of-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-10-27 18:10:37 +01:00
kaf24@localhost.localdomain 0fd9a9f411 [HVM] Ensure that, if AP is blocked, it is woken by interrupt delivered by IOAPIC.
This fixes 64-bit SMP Windows 2k3 boot.

Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-10-27 18:02:40 +01:00
kaf24@localhost.localdomain ee82b836b3 [HVM] Fix SMP timer issues:
* Sync AP TSCs with BP at startup
 * Only halt BP TSC when descheduled
 * Correctly handle IPIs on timer vector
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
2006-10-27 18:00:03 +01:00
kaf24@localhost.localdomain 94c50cc02b [QEMU] ne2000: Stop memory access beyond buffer
As a program that runs in dom0 which serves users from guests,
the qemu drivers need to be vigilant to the input that comes
from the guests since they may be malicious.

As it is there are multiple ways to get ne2000 to read/write
memory beyond the 48K buffer that it has allocated for each
adapter.

This patch checks the addresses and prevents this from occuring.

The boundary is checked each time since it's changed for every
packet received while the other parameters are only changed
(by the guest) during setup.

Signed-off: Herbert Xu <herbert@gondor.apana.org.au>
2006-10-27 17:50:40 +01:00
Emmanuel Ackaouy 59f9d8ef44 Improve I/O performance when competing with CPU intensive workloads.
Allow non CPU consuming wake-to-run latency sensitive VCPUs to
preempt CPU consuming ones.

Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
2006-10-27 15:44:27 +01:00
Ian Campbell 1459957f98 [TOOLS] Uncompress and allocate memory for gzipped kernel and initrd images on
the fly. We cannot rely on the length contained in the gzip trailer to determine
the length of the decompressed data because images have been observed which have
trailing junk.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-26 16:56:16 +01:00
Tim Deegan 53132173d5 [HVM] Fix qemu's test for whether physcal addresses are RAM.
HVM guests have a memory hole below 4GB, so can't just check whether
addresses are < the amount of RAM allocated.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-26 15:08:20 +01:00
kfraser@localhost.localdomain 98c075c804 [NET] back: Advertise that we do not support rx-flip path any more.
This will now be used only by older guests who do not understand
the feature-rx-{copy,flip} feature flags.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-26 11:50:17 +01:00
kfraser@localhost.localdomain d2db408106 Merge with xen-isa64-unstable.hg 2006-10-26 11:26:05 +01:00
Ewan Mellor 6c87dab0c4 Fix ramdisk Makefile so that downloading from xm-test.xensource.com actually
works.

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
2006-10-26 10:20:22 +01:00
awilliam@xenbuild.aw 6d58273da8 [LIBXC][IA64] fix build warning
With warnings becoming errors, this fixes the libxc build on ia64

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-10-25 15:29:00 -06:00
awilliam@xenbuild.aw f1c6ac2751 [IA64] NUMA support
Based on patch from Tristan Gingold

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-10-25 14:48:55 -06:00
awilliam@xenbuild.aw 506aac287c merge with xen-unstable.hg 2006-10-25 12:12:01 -06:00
kfraser@localhost.localdomain 74c7bdae6e [IA64][HVM][QEMU] Add buffer IO mechanism for IA64/VTi domain.
Signed-off-by:Zhang xiantao <xiantao.zhang@intel.com>
2006-10-25 15:29:36 +01:00
kfraser@localhost.localdomain 54a5a3c6b9 [IA64][HVM] Add buffer IO mechanism for Xen/VTi domain. Current
implementation can accelerate Windows guest's dense IO operations
at boot time.

Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
2006-10-25 15:29:08 +01:00
kfraser@localhost.localdomain 429764f760 [LIBXC] Add -Wmissing-prototypes to CFLAGS, fix warnings resulting from that.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
2006-10-25 15:25:13 +01:00
kfraser@localhost.localdomain 1213fabf9b [XEN] Clean up NUMA stuff and disable by default ('numa=on' enables it).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-25 15:17:40 +01:00
Ewan Mellor 9d8bfdc56a Print the time to xend-debug.log, when starting or restarting Xend.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-10-25 15:01:51 +01:00
Ian Campbell a0b780220a PV-to-HVM: Add a compatibility define for the end_that_request_last
which changed prototype in 2.6.16.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 4a154f7453 PV-on-HVM: Include compatibility kzalloc implementation for kernels
before 2.6.14.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell f81a7efad8 PV-to-HVM: Impletement compatibility version of
schedule_timeout_interruptible for kernels before 2.6.14

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell cd77de6673 PV-on-HVM: Implement and export a compatibility version of do_exit().
Kernels prior to 2.6.12 did not export do_exit().

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell e46b787ee3 PV-on-HVM: Implement compatibilty version of wait_for_completion_timeout
for kernels before 2.6.11

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 5a246a6332 PV-on-HVM: Include compatability vmalloc_to_pfn for kernels before 2.6.10
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 4bfff95df7 PV-on-HVM: Kernels prior to 2.6.8 did not export strcspn to modules
therefore implement our own and export it.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell f3bebe5fec PV-on-HVM: Define system_state as 1 (SYSTEM_RUNNING) on kernels prior
to 2.6.7. These kernels did not export the system_state variable to
modules.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
Ian Campbell c957115a57 PV-to-HVM: Implement compatibility nonseekable_open as a nop on
kernels before 2.6.9

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 6b8b36040d PV-to-HVM: Add compatibility definitions of various #defines when they
are not present in the kernel we are building against.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell da611bef47 PV-on-HVM: Include compatability headers for asm/pgtable-no{pmd,pud}.h
for kernels before 2.6.11.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 212cd2b3a0 PV-on-HVM: Add a compatibility linux/mutex.h for kernels before
2.6.16.  This implements the new mutex type in terms of the old
semaphore type.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 3dd858632a PV-on-HVM: Add a compatibility linux/io.h for kernels before 2.6.16
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 06b12ba822 PV-on-HVM: Add infrastructure for a compatibility shim in order to
support PV-on-HVM drivers for older kernel releases.

The compatability code is included in the xen-platform-pci module
since this module underpins all the others.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 5631980c09 [LINUX] PV-on-HVM: The elevator_init prototype changed in 2.6.10
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 20b18801a9 [LINUX] PV-on-HVM: Implement HDIO_GETGEO ioctl on kernels before
2.6.16.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 0d7bcbe60d [LINUX] PV-on-HVM: The probe, remove and shutdown methods were added
to struct bus_type in 2.6.16. For older kernels use the methods on the
struct device_driver.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 27e0aaa9a7 [LINUX] PV-on-HVM: Only initialize the owner field of struct
device_driver on kernels from 2.6.10 onward. The field was not
available until then.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 160e8134cb [LINUX] Exclude support for /proc/xen/xsd_kva when building a
non-privileged guest.

This is useful for PV-on-HVM because it removes code which would
otherwise require extra code in the compatability shim.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 3ac6239a86 [LINUX] PV-on-HVM: Remove the attr parameter from device attribute
show methods on kernels prior to 2.6.13. The parameter was not present
before that.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell a7b5ded0d9 [LINUX] Move xenbus backend probing into a separate source file and
only build it when CONFIG_XEN_BACKEND is set.

This removes unused code from frontend only configurations and also
makes PV-on-HVM drivers on older kernels simpler by removing code
which would otherwise require extra code in the compatability shim.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 16d6a52754 PV-on-HVM: Include a Makefile in each subdirectory to maintain
compatability with kernels from before Kbuild files were introduced.

This follows best practice as described in
Documentation/kbuild/modules.txt

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-10-25 13:58:30 +01:00
Ian Campbell 4f3230eb63 [LINUX] PV-on-HVM: Directly include headers which are used in various
files rather than relying on them being included indirectly.

This is required because these headers are not pulled in indirectly on
older kernels.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-25 13:58:30 +01:00
kfraser@localhost.localdomain dfddb95579 [XEN] Make memory hypercalls NUMA-aware.
This patch modifies memory ops to use the NUMA-aware page allocator
functions.  We use the target domain's VCPU0 placement to determine
which node's memory to use.  We expect the system administrator to
utilize the exposed NUMA topology information to help craft guest
config files that are NUMA-friendly (use only processors and memory values
that will fit within a given node).

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2006-10-25 12:30:08 +01:00
kfraser@localhost.localdomain f0738d2d3f [XEN] NUMA-ify Xen heap and page allocator
This patch adds a per-node bucket to the heap structure in Xen.
During heap initialization the patch determines which bucket to place
the memory. We reserve guard pages between node boundaries in the case
that said boundary isn't already guarded by the MAX_ORDER boundary to
prevent the buddy allocator from merging pages between nodes.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2006-10-25 12:28:46 +01:00
kfraser@localhost.localdomain 582724b0ea [XEN] Add basic NUMA/SRAT support to Xen from Linux 2.6.16.29.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2006-10-25 12:25:54 +01:00
kfraser@localhost.localdomain 67ce9409e1 merge 2006-10-25 11:51:23 +01:00
kfraser@localhost.localdomain fcf4e106d0 [HVM] Move ACPI timer to HV, which is the last platform timer in Qemu.
We found Vista polls ACPI timer very frequently (about 15 times
averagely) when handling timer (RTC @ 64HZ) interrupt routine. Though
the exact reason is known, it should be related to system time
adjustment. When it's in Qemu, the overhead is big. After moving,
Vista's idle overhead decreases dramatically from ~10% to 0.9%.=20

Another benefit is that Vista can only pass Performance rating with
this patch. The root cause is that ACPI timer in Qemu isn't
synchronous with other platform timer in HV, which results in Vista
complains "can't measure TSC frequency".

This patch changes vpit.h to vpt.h, for it not only has pit structure
in it, but other platform timer's structure. Another change is moving
ACPI timer and related address from acpi.h to ioreq.h, which can be shared
by HV and ACPI firmware.

Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
2006-10-25 11:50:54 +01:00
Tim Deegan 3df1dee7fb [XEND] Be more generous with the default shadow allocation.
Allow enough shadow memory to avoid thrashing the shadow pages,
rather than just enough for safety.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-25 11:44:58 +01:00
Tim Deegan e481cc001d [HVM] Avoid buffer overrun in qemu-dm
The array offset in set_bits_in_row here comes from an otherwise un-checked
VNC client request.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-25 11:39:57 +01:00
kfraser@localhost.localdomain 94e4fb8a1d [BLOCK] blkback: Fix potential grant entry leaks on error
As it stands grant entries for the actual data are mapped in bulk.
If one of the earlier entries fail to be mapped, it can cause all
subsequent entries to be leaked if they were successfully mapped.

This patch changes it so that we will continue to reap grant entries
even when an error is detected.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-10-25 10:59:00 +01:00