Commit Graph
2060 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 9693ccfdf1 linux x86/64: Fix supervisor_mode_kernel test to read a single byte.
Spotted by Jan Beulich.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-25 09:46:43 +01:00
Ian Campbell 169b990abc LINUX: Fixes for XENFEAT_supervisor_mode_kernel and XENFEAT_writable_page_tables.
Signed-of-by: Ian Campbell <ian.campbell@xensource.com>
2007-04-24 22:35:16 +01:00
kfraser@localhost.localdomain 6937300952 netback: Copy skbuffs that are presented to the start_xmit() function
with a multi-page head buffer. The new skbuff will not have a
multi-page head buffer, which is a necessary restriction until this is
supported by the internals of the netback driver.
Signed-off-by: Steven Smith <ssmith@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-23 16:37:03 +01:00
kfraser@localhost.localdomain d1672c6b39 Revert 14883:6568c1882af5 and 14862:98efd2e410ae.
This reverts the preparation for removing the sparse tree, since these
modified scripts are not yet ready:
 1. XENGUEST suffix was lost yet depended on still by sparse tree
 Makefiles (hacked around by 14883; also reverted).
 2. XEN_TARGET_X86_PAE default value seems to be ignored
 (out-of-the-box 'make dist' will build non-PAE kernels).

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-20 17:51:10 +01:00
Steven Hand 6d799c5b57 Fix dist target to keep previous symlink format.
May be a cleaner fix which I'll let IanC do.

Signed-off-by: Steven Hand <steven@xensource.com>
2007-04-20 15:29:11 +01:00
kfraser@localhost.localdomain e30b0f0e5e netfront: use skb.cb for storing private data
Netfront's use of nh.raw and h.raw for storing page+offset is a bit
hinky, and it breaks with upcoming network stack updates which reduce
these fields to sub-pointer sizes.  Fortunately, skb offers the "cb"
field specifically for stashing this kind of info, so use it.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2007-04-17 13:21:22 +01:00
Keir Fraser 6ba4666914 linux netfront: Fixes to locking after lockdep-derived changes, as
suggested by Herbert Xu.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-13 15:24:42 +01:00
kfraser@localhost.localdomain 31fa3c4208 linux: netfront contains two locking problems found by lockdep:
1. rx_lock is a normal spinlock, and tx_lock is an irq spinlock.  This
   means that in normal use, tx_lock may be taken by an interrupt
   routine while rx_lock is held.  However, netif_disconnect_backend
   takes them in the order tx_lock->rx_lock, which could lead to a
   deadlock. Reverse them.
2. rx_lock can also be used in softirq context, so it should be
   taken/released with spin_(un)lock_bh.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
2007-04-13 11:28:04 +01:00
Alex Williamson 0dd835abe0 merge with xen-unstable.hg 2007-04-12 10:30:12 -06:00
kfraser@localhost.localdomain 69a9bab277 HVM: Do not watch control/shutdown to force domain shutdowns when PV
drivers are not present. The feature-foo mechanism does not actually
work after save/restore since the fields do not get rewritten. And it
doesn't work when we actually need the guest to be shutdown through
Xen (e.g., on suspend). Since we can quite reasonably assume that the
only entity to screw with control/shutdown is xend, and since the one
place that does that now explicitly handles unenlightened HVM guests,
we can simply strip all this stuff out.

This has the nice benefit of making HVM save/restore with PV drivers
much more reliable.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-12 12:12:56 +01:00
Alex Williamson 097c62e7ad [IA64] Fix PV-on-HVM driver
xen-platform-pci fails to load w/ undefined symbols for some of the
sched_op hypercalls in machine_reboot.c.  This adds them to xencomm
mini to allow them to be called from modules.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-04-11 23:15:30 -06:00
Alex Williamson 11f28ac0c9 [IA64] Bugzilla 942 Fix (timer strangeness on restored PV domain)
Time interpolator remembers last status.  When domain is restored, it
should be forgotten. Otherwise the interpolator causes bad timer value.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-04-11 22:46:10 -06:00
Alex Williamson ec0addc57f merge with xen-unstable.hg 2007-04-11 07:30:02 -06:00
Alex Williamson 193ed84021 [IA64] Skip MCA setup on domU
This effectively automates passing the nomca flag to domUs,
preventing them from setting up CMC/CPE interrupts.  This saves
3 dynamic IRQs per processor and allows us to get domUs up to 64
vCPUs without increasing the number of dynamic IRQs available.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-04-11 07:28:29 -06:00
Alex Williamson 5ff2059b7d [IA64] Handle NAT bit for dom0 and domU
This fixes ia32 apps running under the IA32-EL.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2007-04-11 07:24:44 -06:00
Christian Limpach 6d618d8bb6 [linux] Make CONFIG_XEN_COMPAT #if statements syntactically correct.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-04-11 18:39:05 +01:00
Ian Campbell aad2bffaa3 LINUX: Cleanup a few stray uses of CONFIG_XEN_COMPAT_030002.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-04-11 16:08:35 +01:00
kfraser@localhost.localdomain 3c8c00ff19 Merge with xen-ia64-unstable.hg 2007-04-11 15:45:29 +01:00
kfraser@localhost.localdomain 0fd1484f34 linux: Quieten blkfront output.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-11 14:34:08 +01:00
kfraser@localhost.localdomain 30fbfa471f PV-on-HVM: Fixes for module loading.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-11 09:29:00 +01:00
kfraser@localhost.localdomain fc91db2baf PV-on-HVM: More save/restore fixes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-11 09:16:04 +01:00
kfraser@localhost.localdomain 083ba719d9 linux: Fix an error path in save/restore code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-10 20:00:45 +01:00
kfraser@localhost.localdomain 38ad8d2a5c linux: Fix IRQ disable/enable logic across save/restore.
stop_machine_run() executes our callback function with interrupts
disabled.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-10 18:49:20 +01:00
kfraser@localhost.localdomain b9526a2fbd linux: Fix reboot.c after PV-on-HVM changes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-10 15:35:37 +01:00
kfraser@localhost.localdomain 20f2780026 PV-on-HVM: Fixes for save/restore. Also gets rid of separate modules
reboot.ko and xenbus.ko. These are now part of xen-platform-pci.ko.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-10 15:31:53 +01:00
Keir Fraser 2c226ebc8b linux: Export xen_{create,destroy}_contiguous_region to modules.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-06 15:09:56 +01:00
Keir Fraser e4daaaabe1 PV-on-HVM: A bit more re-jigging so the build gets further against
native Linux 2.6.5. It's not quite there still, but closer.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-06 11:17:08 +01:00
Ian Campbell 93d1b5695a LINUX: PVonHVM: Fixes to build with kernels back to 2.6.5.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-04-05 15:38:09 +01:00
kfraser@localhost.localdomain aeb2e1298b PV-on-HVM: Add new ioreq 'invalidate' for zapping ioemu-dm mapccahe
after balloon operations in an HVM guest.

This removes the I/O port hack from the guest OS, and from ioemu.

Also we flush on reservation *increases* as well as decreases. This is
necessary until qemu-dm can demand-fault page mappings into existing
valid buckets.

Signed-off-by: Steven Hand <steven@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-05 14:29:18 +01:00
kfraser@localhost.localdomain 216379bb55 linux/x86-64: fix unwind information
Mostly adjusting mis-merges dating back to the 2.6.14 merge.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-04-05 13:40:43 +01:00
kfraser@localhost.localdomain 880b3023d4 Revert 14730:07d3208c0ca3b6e746745d2bc08f7aa12ed39269.
Breaks the x86/64 build with (at least) gcc 3.4.4.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-05 11:58:02 +01:00
kfraser@localhost.localdomain e1290b1524 linux: simplify and perform checking of multicall status
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-04-05 10:43:50 +01:00
kfraser@localhost.localdomain 6b5e36a305 linux: improve x86 page table handling performance
Where possible,
- use hypercalls instead of writing to read-only pages
- fold TLB flushes into page table update hypercalls
- on PAE, use single-access updates instead of two-access ones

The single change to PAE pte_clear() yields a 25-30% boost for kernel
builds on a 4x2x2 CPUs, 8Gb box; the other changes together yield
improvements of 2-5%.

Also, adjust backward compatibility handling in a few more places.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-04-05 09:10:33 +01:00
kfraser@localhost.localdomain c937f696d7 linux/x86-64: fix unwind information
Mostly adjusting mis-merges dating back to the 2.6.14 merge.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-04-05 08:59:12 +01:00
kfraser@localhost.localdomain c93368e0fb linux: make compatibility config options more scalable
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-04-05 08:58:32 +01:00
Steven Hand 1b46e1faf3 Fix hvm balloon driver; missed this hunk in last checkin.
Signed-off-by: Steven Hand <steven@xensource.com>
2007-04-05 08:24:56 +01:00
Keir Fraser ed34f48aa8 Various cleanups and fixes for PV-on-HVM drivers.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-04-04 21:49:04 +01:00
Steven Hand 1d3e27e802 Initial check-in to support PV balloon driver within HVM guests.
Still todo:

 - fix mapcache invalidation (should happen in Xen)
 - support 32-on-64 mode correctly

Signed-off-by: Steven Hand <steven@xensource.com>
2007-04-04 19:59:10 +01:00
Ian Campbell 76de76e0f3 RFLAGS is in a known good state at start of day so no need to explicitly initialize.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-04-04 15:57:49 +01:00
Keir Fraser 75ba97629b linux: Remove a few redundant config options. Build util.c for ia64
and ifdef out a couple of functions that are not yet fully generic.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-31 19:02:09 +01:00
Keir Fraser f24c3877e5 linux: Avoid use of ptep_get_and_clear_full name as it's a macro on
some architectures.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-31 17:22:46 +01:00
Keir Fraser c15c303a40 linux gntdev: Mark x86-specific code as such with ifdef.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-31 16:39:14 +01:00
Keir Fraser 990f0419bd linux: User-space grant table device.
A character device for accessing (in user-space) pages that have been
granted by other domains.

Signed-off-by: Derek Murray <Derek.Murray@cl.cam.ac.uk>

Fix ioctl interface to be 32/64-bit invariant. Move xen_class
mechanism to common util.c.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-31 13:53:24 +01:00
Keir Fraser 7fd0f937ba linux: Add a hook before a page table entry is cleared, for use with
the grant-table device.

Signed-off-by: Derek Murray <Derek.Murray@cl.cam.ac.uk>
2007-03-31 12:42:02 +01:00
Ian Campbell ea1303c633 [LINUX] Explcitly include linux/mutex.h in files which use mutexes, rather then
relying on an include via some other header.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-03-30 17:33:31 +01:00
Ian Campbell ea62867372 [LINUX] Make sure to initialiase the xen features bitmap before first use on x86_64.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-03-30 14:13:53 +01:00
Tim Deegan 9dd742c907 [HVM] Save/restore: PV-on-HVM driver save/restore support
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2007-03-29 16:27:52 +00:00
Keir Fraser abaff6993d pciback: Devices can lose config space info on D3->D0 transition, yet
they may not (and even if they try, can not) restore the BARs. Since
Linux does not do this for us, pciback must do it for itself manually.

Possible todo: Restore all first 64 bytes of the config space?

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-28 20:19:11 +01:00
kfraser@localhost.localdomain 6a6ebb9210 linux pciback: Proper fix for build failure.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-03-28 15:01:24 +01:00
kfraser@localhost.localdomain 573fcbc6f4 linux: Fix the pciback build (temporary hack).
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-28 14:42:54 +01:00