| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add to CPPFLAGS instead of entirely redefining it.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
switch out of a transaction, in the few cases where it is inside one.
In order to behave properly, it is necessary for a driver to know its own
xenbus state (see changeset 9469:b3cb19d2b07f, for example). This
value is stored as xenbus_device.state and updated by xenbus_switch_state.
If xenbus_switch_state occurs within a transaction, then there is a possibility
that the transaction would be aborted, leaving the state field dangerously out
of sync with the value currently in the store.
This fixes recent problems seen whereby bringing multiple devices up at the
same time results in some devices not coming up (often all of the even-numbered
ones, because of the pattern of transaction conflict).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
building a non-SMP kernel. The underlying hypervisor may still be SMP.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
That is, no reboot: just sit there and flash the keyboard LEDs.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |
| |
| |
| |
| | |
Signed-off-by: Ewan Mellor <ewan@xensource.com>
|
| | | |
|
| | |
| |
| |
| |
| | |
Signed-off-by: Steven Hand <steven@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| | |
logic deferred until post 3.0.2.
Signed-off-by: Steven Hand <steven@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. IRET hypercall must restore the event callback mask. This
was missing on x86/64, and both subarchitectures now restore
from EFLAGS.IF.
2. Failsafe callbacks are fixed to detect whether fault is due to
bad segment or due to IRET. In the latter case we now
immediatiately kill the process. This avoids infinite looping
between IRET hypercall and failsafe callback handler in the guest.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. No longer hold xenbus_lock while taking down VCPUs
in SMP suspend path. This allows block device hotplug
to continue working and so we will not deadlock on
paging in userspace hotplug code.
2. Track xenbus and local-admin permitted cpumasks for
VCPUs to bring online. So, if a local admin takes a
CPU down, that won't surprisingly get overridden next
time the kernel interrogates xenstore.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set initial vcpu itv handoff state to mask the timer vector.
This seems to match hardware and makes logical sense from a
spurious interrupt perspective. Enable vcpu_get_irr[0-3]
functions as they seem to work and have the proper backing.
This enables the check_sal_cache_flush() in arch/ia64/kernel.sal.c
to work unmodified, allowing us to remove the Xen changes from
the file (and thus the file from the sparse tree).
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the arch/ia64/Makefile was cloned from the Linux tree, the install
target was changed to remove a dependency on vmlinux.gz. That makes
sense, but the invocation of install.sh in that target still used $<
to refer to the dependency that had been removed. Hence, install.sh
would fail, and make world would stop prematurely.
Signed-off-by: Al Stone <ahs3@fc.hp.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Per agreement on the summit, xen/ia64 will move to event channel
model same as xen/x86, under which event is the layer under pirq
(external interrupt), virq, and ipi with the latter three bound
to event ports. Within that model, no external interrupt will be
injected directly and evtchn_upcall_mask is the flag to control
whether events are deliverable.
So xenlinux needs to operate evtchn_upcall_mask at all places
where it originally operates vpsr.i. However these two flags are
presented at different shared area, and thus xenlinux can't ensure
atomical update on two flags which leaves severe stability issues.
One severe bug comes for this reason where some hypercall may be
restarted infinitely when events pending.
Actually based on description of future model, events become the
superset of external interrupts and thus evtchn_upcall_mask super-
set of vpsr.i (interrupt_delivery_enable). We can merge two flags
into one by removing the latter. By this way, we ensure correctness
and most importantly conform to common code which always assumes
upon evtchn_upcall_mask.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
make linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre robust a bit.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow more than 256 interrupt vectors on native by only setting the
highest bit when marking orig_eax to indicate that we're not within
a system call.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
|
| | |
| |
| |
| |
| |
| | |
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
need to try reloading segment selectors (unlike i386 linux).
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
initializing on domUs. Remove CONFIG_IDE_GENERIC as this is
unnecessary on ia64 systems (no ISA IDE controllers) and causes long
timeouts booting domU.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
|
| | |
| |
| |
| |
| | |
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
|
| | |
| |
| |
| |
| | |
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
to GPL modules. Rename pte_page parameter to pmd_page (following the
Linux idiom). apply_to_pte_range() should take the pte spinlock.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dom0. This allows you to bind devices to the backend driver *after*
dom0 has booted. You are no longer required to specify the devices to
hide on the kernel command-line. Using the bind/unbind driver
attributes (see /sys/bus/pci/drivers/pciback), you can specify which
devices that the PCI backend will seize. There are three new driver
attributes in that directory:
slots - lists all of the PCI slots that
the PCI backend will try to seize
new_slot - write the name of a slot here
(in 0000:00:00.0 format) to have the PCI
Backend seize the device in this slot
remove_slot - write the name of a slot here to have
the PCI Backend no longer try to seize a
device in this slot
Note that writing to new_slot/remove_slot does not actually change
whether the PCI Backend is actually bound to the device in that slot or
not. Instead, it tells the PCI backend which slots it should be
interested in. The sysfs attributes "bind" and "unbind" (which are
common to all drivers, not just the PCI Backend) must be used to
actually add or remove a device from the PCI backend driver. Note that
the syntax for specifying a device to bind and unbind is very strict (do
not append a newline).
For Example:
# Add a new slot to the PCI Backend's list
echo -n 0000:01:04.d > /sys/bus/pci/drivers/pciback/new_slot
# Now that the backend is watching for the slot, bind to it
echo -n 0000:01:04.d > /sys/bus/pci/drivers/pciback/bind
# Unbind a PCI network card from its network driver
echo -n 0000:05:02.0 > /sys/bus/pci/drivers/3c905/unbind
# And now bind it to the PCI Backend
echo -n 0000:05:02.0 > /sys/bus/pci/drivers/pciback/new_slot
echo -n 0000:05:02.0 > /sys/bus/pci/drivers/pciback/bind
Unfortunately, Linux makes it possible to remove (unbind) a PCI device
from the PCI backend while that device is attached to a driver domain.
It is also possible to unload the PCI Backend module while a PCI
Frontend is attached. DON'T DO EITHER OF THESE ACTIONS. This patch will
output warnings if you do try and do these. Be aware that while access
to the configuration space of the device has been revoked, the driver
domain can still access the I/O resources of the device as they have not
been revoked (although I *hope* to explore adding support for this
soon). Before unloading the module or unbinding a device, shutdown your
driver domain.
These patches also convert a few function and variable declarations to
static (no sense in polluting the global namespace with local function
names) and rename a few structures in drivers/xen/pciback/pci_stub.c.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
that are in-use if the PCI Backend goes away. This patch corrects that.
This patch also shortens the timeout in drivers/xen/pcifront/pci_op.c
(in an attempt to minimize the amount of time spent waiting with
interrupts disabled).
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
|
| | |
| |
| |
| |
| |
| | |
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
invalid-opcode prefix.
This allows to clear feature flags and hide unsupported features from guests.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix allocation of receive batching arrays (should be per interface).
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
rather than calling /sbin/reboot directly.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Todo: could replace current irq_info packed format with a bitfield.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Looks like we do need to include asm/hypercall.h
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| |/ /
| |
| |
| |
| |
| | |
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
|
| |/
|
|
|
|
|
|
| |
This works on xen/ia64 too, enable the code
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
|
| |
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| |
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Make it clear in all dual-licensed files that the
license when distributed with Linux is GPLv2.
2. Add MODULE_LICENSE(dual) in a few places.
3. Change many of our EXPORT_SYMBOL() decls to EXPORT_SYMBOL_GPL().
This is the preference of the Linux maintainers, and avoids any
trouble down the road if our EXPORT_SYMBOL'ed functions use Linux
internal interfaces that are GPL only.
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
the HV doesn't know it crashed. This patch sends the signal, which
allows the kernel to be cleaned up (according to whatever guest.conf
rules). It is basically copied and pasted from the i386 branch.
From: Don Zickus
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| |
|
|
|
|
| |
Signed-off-by: Muli Ben-Yehuda <mulix@mulix.org>
|
| |
|
|
|
|
| |
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
|
| |
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| |
|
|
|
|
| |
Signed-off-by: Keir Fraser <keir@xensource.com>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
module has a tri-state configuration so it can be a loadable module.
Views the hypervisor as hardware device, uses sysfs as a scripting
interface for user space tools that need these attributes.
Some user space apps, particularly for systems management, need to
know if their kernel is running in a virtual machine and if so in
what type of virtual machine. This property is contained in the
file /sys/hypervisor/type.
The file hypervisor_sysfs.c creates a generic hypervisor subsystem
that can be linked to by any hypervisor. The file xen_sysfs.c exports
the xen-specific attributes.
Signed-off-by: Mike D. Day <ncmike@us.ibm.com>
|