Commit Graph
696 Commits
Author SHA1 Message Date
emellor@leeni.uk.xensource.com 10e8ebd5bb Merged. 2005-11-26 01:21:55 +00:00
emellor@leeni.uk.xensource.com d966085083 Check when using physical devices that the device is not already in use. Using
a device from two guests, or from dom 0 and a guest, can destroy the filesystem,
and this check prevents that.  This should ensure that the xm tests
11_block_attach_shared_dom0 and 12_block_attach_shared_domU should pass.
Closes bug #331.

Devices may be shared only if all uses are read-only.  If anyone has read-write
access to a device, then no sharing is allowed.

The mode in the config file may now have an exclamation mark appended, to
indicate that devices may be shared (i.e. that this new check should be
bypassed).  This supports some network block devices, but is clearly dangerous
and should only be used when you know what you are doing.

The mode specified in the config file is now written explicitly to the store,
To implement this, the blkback driver has been changed to create two entries
in /sys describing each device in use.  This means that we can determine which
devices are in use without crawling through the store.

The physical-device node has been changed to give the major and minor of the
device, separated by a colon.  This means that we do not need to pack these
numbers into one, removing the restriction to 8 bit minors that we had in place
before.

The mode specified in the config file is now written explicitly to the store,
rather than using the presence or absence of a read-only node.  This supports
the write-sharing override above.

If the device is in use, a new hotplug status of "busy" is written to the
store, and a message is written to a new hotplug-error node.  Xend uses these
things for diagnosis.

The block scripts do not need to handle online or offline events, so this
support has been removed.  These scripts can be called twice, depending upon
the hotplug config, so they now identify the second run and do not attempt to
set up the device again.

The device directories in the store are cleaned out before new details are
written there.  This prevents stale information from messing up block device
hotplugging.  This will be one cause of "blkback: changing physical device
not supported" messages.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 20:58:07 +00:00
kaf24@firebug.cl.cam.ac.uk 83120737f5 Implement new memory_op() XENMEM_machphys_mfn_list. Replaces old
privcmd Linux ioctl and includes an implementation for x86/64.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-25 18:43:35 +01:00
emellor@leeni.uk.xensource.com 837853a460 Merged. 2005-11-25 11:19:09 +00:00
emellor@leeni.uk.xensource.com fefa6c7211 Move XenbusState from the Linux-specific xenbus.h into a new file with the Xen
public interfaces.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 11:19:03 +00:00
kaf24@firebug.cl.cam.ac.uk b588d4451a Update vtpm driver following the recent changes to the
xenbus driver and its semantics.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2005-11-25 09:14:01 +01:00
kaf24@firebug.cl.cam.ac.uk e426054787 Big reworking of SHARED_KERNEL_PMD logic. Includes several
bug fixes for PAE, and reverts my previous changeset that
broke non-pae.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-24 23:21:48 +01:00
emellor@leeni.uk.xensource.com c5f6d9c1ac Merged. 2005-11-24 19:57:01 +00:00
emellor@leeni.uk.xensource.com c039c43deb Added a count of the number of users of this block device, and refuse to close
down the frontend until that number becomes 0.  There are no reasonable
semantics for hot-unplugging a block device beneath a mounted filesystem, and
this solution ensures that the guest is not crashed nor the filesystem corruptedby the actions of the administrator.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-24 19:53:09 +00:00
kaf24@firebug.cl.cam.ac.uk 2fd270048e Remove CONFIG_PREEMPT configuration option from Xen kernel builds.
The option reduces overall system performance and makes little sense
when running over a preemptive hypervisor. Removing the option also
fixes some hypothetical races.

The forthcoming voluntary-preemption option will make much more sense
to enable when running over Xen.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-24 20:01:16 +01:00
kaf24@firebug.cl.cam.ac.uk fb94b59330 Another PAE fix for pgd_ctor.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-24 19:40:18 +01:00
kaf24@firebug.cl.cam.ac.uk 3074eec09f More PAE PGD fixes. Ensure we do not pin PGDs with no kernel
PMD (Xen will not allow it). This is okay even across
suspend/resume -- such PGDs are completely empty and so
contain no PTEs that become garbage across suspend/resume.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-24 19:16:13 +01:00
kaf24@firebug.cl.cam.ac.uk d702ee35e2 Fix pgd allocation for PAE. We must handle the fact that
a PGD may get pinned under our feet by suspend/resume.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-24 18:19:51 +01:00
emellor@leeni.uk.xensource.com 2128c9ba49 Minor tidy, no semantic change.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-24 15:52:42 +00:00
rread@ubuntu.eng.hq.xensource.com 30da893333 Make the microcode driver builtin.
As a module it complains about unknown symbols sys_munlock and sys_lock.
2005-11-23 22:04:13 -07:00
rread@ubuntu.eng.hq.xensource.com 6c5dcf790f Disable crufty modules still using cli and friends. 2005-11-23 21:55:07 -07:00
rread@ubuntu.eng.hq.xensource.com f048512769 Compile IDE drivers as builtins instead of modules.
This makes the -xen config compatible with the distribution kernel configs, 
but at the cost of some bloat when being used as a guest kernel.
2005-11-23 21:12:38 -07:00
emellor@leeni.uk.xensource.com f6d80a7f57 Reverse accidental commits for changesets 8001 and 7996-7999.
The Mercurial Queues extensions suddenly looks a lot less useful than it first
seemed.
 
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-23 19:37:33 +00:00
emellor@leeni.uk.xensource.com d64896a9f0 Merged. 2005-11-23 19:31:22 +00:00
emellor@leeni.uk.xensource.com 96e138a54d Merged. 2005-11-23 19:19:04 +00:00
emellor@leeni.uk.xensource.com 034f2cd52e Inside xenbus_switch_state, don't write the new state if the node has already
disappeared.  This happens when the driver is being torn down, and we don't
want to resurrect the device directory in the store because of it.

Partially addresses bug #424.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-23 18:47:54 +00:00
emellor@leeni.uk.xensource.com d29719d231 Added a hotplug KOBJ_OFFLINE call, for symmetry with the ONLINE call used here.
We need a hook to be able to close down the device properly, but the REMOVE
event is no good because we don't get the script and vif environment variables
set in that case.

Closes bug #417.
 
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-23 18:45:57 +00:00
rread@ubuntu.eng.hq.xensource.com ae3b719fa4 Build the mouse device into the kernel.
Both RHEL and SLES do this.
2005-11-23 10:09:18 -07:00
kaf24@firebug.cl.cam.ac.uk 5a808f1e05 Add __iomem and __user pointer annotations to linux sparse tree.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-11-23 14:14:01 +01:00
smh22@firebug.cl.cam.ac.uk 1366ee55cc Avoid GPF when attempting to save / restore 64bit guests. More thought
required as to best way to get M2P mfns under 64...

Signed-off-by: Steven Hand <steven@xensource.com>
2005-11-22 19:10:50 +01:00
rread@ubuntu.eng.hq.xensource.com 0a9b9b5eb2 Build the USB boot keyboard and mouse drivers as modules, so the real
USB modules will be loaded after boot.
2005-11-21 15:19:26 -07:00
kaf24@firebug.cl.cam.ac.uk a1584b36b2 Change semantics of gnttab_transfer to take the page away
from the calling domain, even on error (except for special
error GNTST_bad_page). This has a knock-on advantage of
simplifying Linux's netback driver.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-21 18:10:35 +01:00
kaf24@firebug.cl.cam.ac.uk 9ba9cbdb3f Update the memory_op() hypercall. Add two new subcommands, to
query a domain's current and maximum memory reservation. Also,
XENMEM_maximum_ram_page now returns the max_page directly,
rather than writing through a passed-in pointer.

Also, disable PAE in the default config (accidentally checked
in two changesets ago).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-21 16:56:39 +01:00
kaf24@firebug.cl.cam.ac.uk daee19a8a7 Linux swiotlb now uses correct method for determining if any RAM
is mapped above 2GB.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-21 16:10:19 +01:00
kaf24@firebug.cl.cam.ac.uk da618e9258 Mute error message on SMP resume if a secondary CPU is
already back online.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-21 15:06:49 +01:00
kaf24@firebug.cl.cam.ac.uk 0200af138e Fix grant-table transfer implementation. Also fix transfer
error paths in network frontend and backend drivers.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-21 14:17:50 +01:00
kaf24@firebug.cl.cam.ac.uk 8471e6ce53 Merge with xen-ia64-unstable.hg. 2005-11-20 10:19:38 +01:00
kaf24@firebug.cl.cam.ac.uk 04ed109b67 The patch allows one to configure NR_CPUS >8 (16 by default, same as the
native) for x86_64 xenlinux. I tested 16-way xenolinux (using changeset
7892) on a 16-way SMP machine with >8GB memory. It worked fine as long
as I did sanity tests like kernel build (make -j64).

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2005-11-19 10:37:14 +01:00
djm@kirby.fc.hp.com e233724f1f Merge 2005-11-18 23:16:29 -06:00
djm@kirby.fc.hp.com 16ef7e78b4 Fall back to zx1-based configs, defconfigs don't work yet to boot domU 2005-11-18 23:06:09 -06:00
cl349@firebug.cl.cam.ac.uk a69feeba51 Move tpmfe.h file next to other xen specific header files.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : linux-2.6-xen-sparse/include/linux/tpmfe.h => linux-2.6-xen-sparse/include/asm-xen/tpmfe.h
2005-11-19 02:27:20 +01:00
smh22@firebug.cl.cam.ac.uk f2896ff4cd Only resume xenbus /after/ we've prepared our VCPUs; otherwise the
VCPU hotplug callback can race with our vcpu_prepare. 

Signed-off-by: Steven Hand <steven@xensource.com>
2005-11-18 19:56:03 +01:00
kaf24@firebug.cl.cam.ac.uk 949ebc61f8 Do not allow an uninitialised VCPU to be brought up. Also
check VCPUOP_up return code in the guest and BUG() on
failure.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-18 19:25:17 +01:00
kaf24@firebug.cl.cam.ac.uk 931a2bf97f make_page_readonly() must flush unused kmaps when handling
a high-memory page. Otherwise stale writable mappings may 
persist. This fixes a corner case for alloc_ldt (which can
vmalloc an LDT and hence use highmem pages).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-18 17:50:25 +01:00
kaf24@firebug.cl.cam.ac.uk cde43db53a Improve make_page_readonly and make_page_writable:
1. Use update_va_mapping where possible (much faster)
 2. If that fails, fall back to explicit pte update rather
    than using writable pagetables (very slow for singleton
    updates)

Also many x86/64 cleanups and fix to handle vmalloc space
correctly.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-18 17:42:45 +01:00
kaf24@firebug.cl.cam.ac.uk f2d946d367 Simplify arbitrary_virt_to_phys, and fix the x86/64 version to mask
out the NX bit.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-18 17:41:03 +01:00
emellor@leeni.uk.xensource.com eaa3641b4f Merged. 2005-11-18 14:30:47 +01:00
kaf24@firebug.cl.cam.ac.uk de70603843 Remove conditionally-compiled code for Linux 2.4.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-11-18 13:46:18 +01:00
emellor@leeni.uk.xensource.com 3700b1715b Initialise the request ID in xs_talkv, to silence valgrind. We're not actually
using this value at the moment -- it's only there for use by future clients.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-17 20:20:44 +01:00
djm@kirby.fc.hp.com da6c57b623 Turn off duplicate console output (by Alex Williamson) 2005-11-17 10:28:45 -06:00
smh22@firebug.cl.cam.ac.uk b4c7ff25ae Fix race in blkfront resume path (watch thread could fire watch during the
(short-ish) time that we were in BLKIF_STATE_DISCONNECTED). 

Signed-off-by: Steven Hand <steven@xensource.com>
2005-11-17 14:56:50 +01:00
emellor@leeni.uk.xensource.com 56bb0fdcd9 Merged. 2005-11-17 12:12:57 +01:00
emellor@leeni.uk.xensource.com 439bebba61 Here's the patch for making the otherend_changed entrypoint
optional.  The USB driver doesn't need this entrypoint because the state
machine driven by it is factored out of the driver code entirely into
xenidc.

Signed-off-by: Harry Butterworth butterwo@uk.ibm.com
2005-11-17 11:54:52 +01:00
kaf24@firebug.cl.cam.ac.uk 77625388ed Fix IOCTL_PRIVCMD_GET_MACH2PHYS_MFNS to work properly for
4MB superpages (32-bit non-pae).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-17 11:47:49 +01:00
djm@kirby.fc.hp.com e2428e6e1c Enable build to work for both generic and non-generic (hpsim issue) 2005-11-16 18:40:24 -06:00