Commit Graph
17468 Commits
Author SHA1 Message Date
Keir Fraser 796b445b00 minios: call do_hypervisor_callback directly from force_evtchn_callback
instead of unnecessarily going through the hypervisor.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:06:19 +01:00
Keir Fraser 28baa78877 stubdom: sparse application's BSS by linking it separately first, put
markers at its beginning and end, and then link with mini-os.
That permits to stick a bit more to upstream qemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:05:57 +01:00
Keir Fraser f464d312c7 x86: Fix emulation of PCI access register at I/O port 0xcf8.
The register is only visible for DWORD accesses. Furthermore, some
chipsets place other registers in the range 0xf8-0xcfb for sub-DWORD
accesses.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 10:04:22 +01:00
Keir Fraser bb475a64ea [LIBFSIMAGE] Support 256 byte inodes on ext3
Patch taken from Debian grub package version 0.97-32.
See http://bugs.debian.org/463236 & http://bugs.debian.org/463123

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2008-04-16 09:45:44 +01:00
Keir Fraser 7836376746 x86, hvm: Fix memory leak.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 09:32:45 +01:00
Keir Fraser b42f8b07d1 hvmloader: Explicitly revert to text section after declaring bss fields.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 18:11:44 +01:00
Keir Fraser 1eaea3f0b6 hvmloader: Framework for multiprocessor initialisation.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:39:00 +01:00
Keir Fraser 3719d0804f x86, hvm: APIC INIT handling can make use of existing hvm_vcpu_down()
helper function.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:38:25 +01:00
Keir Fraser 98892a5e57 tools: Build fixes for *BSD.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:07:30 +01:00
Keir Fraser fb6dd9a130 ioemu: COW driver flush method should return an int.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:04:30 +01:00
Keir Fraser bcba667e12 x86, hvm: Clean up handling of APIC INIT and SIPI messages.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 15:47:53 +01:00
Keir Fraser b631149c20 x86, hvm: If an MMIO handler returns X86EMUL_RETRY we must still
complete the dummy I/O request-response cycle.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 15:45:42 +01:00
Keir Fraser dc4c72a5fc x86: per-domain p2m structure must be initialised to all-zeroes when
it is allocated.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 15:44:40 +01:00
Keir Fraser c6b4652705 Tasklet bug fixes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 15:03:40 +01:00
Keir Fraser a20735e84b domctl: Do not return XEN_DOMINF_blocked if no VCPUs are online.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 15:03:08 +01:00
Keir Fraser 6742db6e68 x86, hvm: I/O emulation handlers return X86EMUL_* return codes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 13:28:02 +01:00
Keir Fraser ef3c86eb81 xend/acm: Fixes to labelling of resources.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-04-15 10:24:55 +01:00
Keir Fraser 83838ce7eb [IA64] Remove duplicate tasklet code
Make use of the newly added common code.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-04-15 10:21:35 +01:00
Keir Fraser d354d1ec94 [IA64] Fix pci.h include overlap
The new upstream xen/pci.h has a name conflict with our modified
linux/pci.h and shows up earlier in the include search path.  Since
our usage of linux/pci.h is limited, rename to linux/linux-pci.h to
avoid duplicate names and cleanup the few users.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-04-15 10:21:17 +01:00
Keir Fraser a29af79e4e Change tasklet implementation so that tasklet_kill() does not have to
busy-wait for softirq work to start. This reduces the possibility of
deadlocks, but the implementation is now less efficient. For the
current few users of tasklets this does not matter.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 10:19:58 +01:00
Keir Fraser 8a7a02ee55 Rename 'big lock' to 'domain lock'.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-14 16:07:54 +01:00
Keir Fraser f541851c79 hvmloader: Small cleanups.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-14 14:10:11 +01:00
Keir Fraser 381438fc2b svm: Fix an assertion.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-11 17:29:26 +01:00
Keir Fraser 5ace6c1924 hvm: Add HVM_PARAM_DM_DOMAIN to let ioreq events go to a stub domain
instead of dom0.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-11 17:19:07 +01:00
Keir Fraser e9b5fb4377 Turn some simple softirqs into tasklets.
TRACE_SOFTIRQ does not appear to be necessary at all.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-11 15:55:42 +01:00
Keir Fraser 989a44571e Support tasklets in Xen as a more dynamic alternative to softirqs.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-11 15:37:48 +01:00
Keir Fraser 812471f0d1 x86: Emulate accesses to PCI window registers cf8/cfc to synchronise
with accesses by teh hypervisor itself. All users of cf8/cfc go
through new access functions which take the appropriate spinlock.

Based on a patch by Haitao Shan <haitao.shan@intel.com>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-11 13:19:55 +01:00
Keir Fraser aa3ca83fda tools: Make xend set time offset for all kinds of domains, so that
ioemu doesn't need to do it.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-11 09:14:03 +01:00
Keir Fraser 5bb8a6fad8 VT-d: DMAR device scope parse fixup
Previously applied sanity check fixup is incorrect.

Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
2008-04-11 09:12:56 +01:00
Keir Fraser fd1527b4d2 x86/64 compat: Replace hypervisor BUG_ON() with a cleaner hypercall failure.
While trying to run a 32-bit PV domU on a 64-bit hypervisor, I
triggered an assert in the hypervisor.  The assert dealt with the
maximum number of grants that a domU can have.  I made the hypervisor
a bit more graceful by returning an error rather than asserting.

Signed-off-by: Michael Abd-El-Malek <mabdelmalek@cmu.edu>
2008-04-11 09:10:58 +01:00
Keir Fraser 8a7227082a libxenguest: Fix a typo.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-04-11 09:07:58 +01:00
Keir Fraser ffbb87b692 x86: disable PIT irq after S3 resume
Signed-off-by: Yu Ke <ke.yu@intel.com>
2008-04-11 09:06:11 +01:00
Keir Fraser c02f50263f hvm: Fix a typo in p2m.c.
Spotted by Xiao Wang <sirouni@yahoo.com.cn>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 16:17:28 +01:00
Keir Fraser ed8c5356ed x86, hvm: Fix up MTRR setup for extra magic page (IDENT_PT).
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 11:17:50 +01:00
Keir Fraser 49fd7b4410 x86: Conditionally disable PIT 100HZ timer interrupt
100HZ PIT timer interrupt set a 10ms upper limit for C state
residency, which makes Xen not power friendly. This patch disable PIT
timer interrupt in the conditions:
 - CPU has APIC support, and
 - PIT is not used as platform time source

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 11:11:25 +01:00
Keir Fraser dacde68ff1 x86: Remove jiffies usage.
Jiffies will be obsolete in x86 after PIT timer interupt is disabled,
so this patch replace jiffies usage with NOW() API.

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 10:12:04 +01:00
Keir Fraser 5f74ef6277 vmx: Enable live-migration with EPT
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xiaohui Xin <Xiaohui.xin@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 10:00:41 +01:00
Keir Fraser 1269742697 VT-d: Allocates page table pgd, root_entry, iremap and qinval from
domheap rather than xenheap, and get rid of structure page_info in
iommu.c.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2008-04-10 09:22:38 +01:00
Keir Fraser 4aad542894 VT-d: Share VT-d code between x86 and IA64
Declare arch-dependent functions in vtd.h, and implement them for x86.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2008-04-10 09:20:07 +01:00
Keir Fraser f342e8630c hvmloader: Fix build with gcc 4.1 and later.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 09:12:44 +01:00
Keir Fraser 1386e66a6e libxc: Move xg_memalign() into a proper source file, so that it
definitely does not leak out of tools/libxc. Return to the
ioemu/osdep.c way of checking for posix_memalign() as this works on
Solaris.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 17:49:25 +01:00
Keir Fraser 3cb6817ad5 libxc: Leave portability of xg_memalign() as in original patch, rather
than following ioemu/osdep.c. This unbreaks build of readnotes.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 16:54:44 +01:00
Keir Fraser 24561bd0a1 x86 hvm: Make sure that we correctly tear down the vlapic periodic
timer when the vlapic is destroyed or reset.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 16:32:51 +01:00
Keir Fraser 43650c346e save/restore: Use page-aligned allocations for hypercall args that are
mlock()ed across other hypercall invocations, to avoid aliasing with
other hypercall arguments, causing spurious unlocking.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 16:31:16 +01:00
Keir Fraser 9e4828ca8b x86 libxc: Fix mlock sizes in libxc around vcpu context hypercalls
backing off to the old behaviour if we fail.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 16:24:46 +01:00
Keir Fraser 2434aa5074 lsevtchn: Simple tool to list event channel states for a domain.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2008-04-09 16:11:34 +01:00
Keir Fraser fc7e83c464 x86: Suppress scary console message from sh_remove_shadows()
except in cases where the guest's behaviour is unrecoverable.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 16:04:10 +01:00
Keir Fraser b26eb8f848 ioemu: Fix rtl8139 emulation so that reboot works correctly in 64-bit
Windows VMs. Return an error if the guest OS tries to transmit a
packet with the transmitter disabled, so that it doesn't spin forever
waiting for it to complete.

Signed-off-by: Steven Smith <Steven.Smith@eu.citrix.com>
2008-04-09 16:03:40 +01:00
Keir Fraser 02cb043f47 xenstore: Place return statement in the correct place to fix the build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 16:02:49 +01:00
Keir Fraser 3d40548921 xenstore: fix canonicalize for metanodes
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 15:59:54 +01:00