aboutsummaryrefslogtreecommitdiffstats
path: root/linux-2.6-xen-sparse
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Change how we add the include asm override to CPPFLAGS.cl349@firebug.cl.cam.ac.uk2006-03-302-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add to CPPFLAGS instead of entirely redefining it. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
| * | Remove the transaction parameter from xenbus_switch_state and move the stateemellor@leeni.uk.xensource.com2006-03-3110-54/+48
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Include the E7520 (e.g., Dell 1850) irqbalance quirk fix even whenkaf24@firebug.cl.cam.ac.uk2006-03-301-1/+1
| | | | | | | | | | | | | | | | building a non-SMP kernel. The underlying hypervisor may still be SMP. Signed-off-by: Keir Fraser <keir@xensource.com>
| * Same panic() behaviour as native Linux when running as domain 0.kaf24@firebug.cl.cam.ac.uk2006-03-301-2/+2
| | | | | | | | | | | | | | | | That is, no reboot: just sit there and flash the keyboard LEDs. Signed-off-by: Keir Fraser <keir@xensource.com>
| * Revert accidental commit.emellor@leeni.uk.xensource.com2006-03-291-1/+0
| | | | | | | | | | Signed-off-by: Ewan Mellor <ewan@xensource.com>
| * Merged.emellor@leeni.uk.xensource.com2006-03-291-0/+1
| |
| * Fix save/restore on 64-bit. smh22@firebug.cl.cam.ac.uk2006-03-291-1/+1
| | | | | | | | | | Signed-off-by: Steven Hand <steven@xensource.com>
| * Fix save/restore bug; further rationalization of xenbus state machine smh22@firebug.cl.cam.ac.uk2006-03-291-5/+10
| | | | | | | | | | | | | | logic deferred until post 3.0.2. Signed-off-by: Steven Hand <steven@xensource.com>
| * Some fixes to IRET hypercall and failsafe callback handlers:kaf24@firebug.cl.cam.ac.uk2006-03-293-52/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Clean up and fix VCPU hotplug and SMP save/restore.kaf24@firebug.cl.cam.ac.uk2006-03-286-97/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | [IA64] dom0 vp model linux part: import agp.h from linux-2.6.16-rc3awilliam@xenbuild.aw2006-04-071-0/+31
| | | | | | | | | | | | | | | | [note: verified same as linux-2.6.16] Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | [IA64] dom0 vp model linux part: import machvec.h from linux-2.6.16-rc3awilliam@xenbuild.aw2006-04-071-0/+390
| | | | | | | | | | | | | | | | [note: verified same as linux-2.6.16] Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | [IA64] dom0 vp model linux part: import dma-mapping.h from linux-2.6.16-rc3awilliam@xenbuild.aw2006-04-071-0/+65
| | | | | | | | | | | | | | | | [note: verified same as linux-2.6.16] Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | [IA64] dom0 vp model linux part: import pgalloc.h from linux-2.6.16-rc3awilliam@xenbuild.aw2006-04-071-0/+164
| | | | | | | | | | | | | | | | [note: verified same as linux-2.6.16] Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | [IA64] dom0 vp model linux part: import page.h from linux-2.6.16-rc3awilliam@xenbuild.aw2006-04-071-0/+222
| | | | | | | | | | | | | | | | [note: verified same as linux-2.6.16] Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | [IA64] dom0 vp model linux part: import io.h from linux-2.6.16-rc3awilliam@xenbuild.aw2006-04-071-0/+477
| | | | | | | | | | | | | | | | [note: verified same as linux-2.6.16] Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | [IA64] set itv handoff as masked and enable reading irr[0-3]awilliam@xenbuild.aw2006-04-041-380/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | [IA64] fix make worldawilliam@xenbuild.aw2006-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | [IA64] Merge vpsr.i with evtchn_upcall_mask tosolve one trickish bugawilliam@xenbuild.aw2006-03-306-100/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | [IA64] make xen-mkbuildtree-pre robust a bitawilliam@xenbuild.aw2006-03-291-15/+25
| | | | | | | | | | | | | | | | make linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre robust a bit. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | merge with xen-unstable.hgawilliam@xenbuild.aw2006-03-2834-413/+1170
|\|
| * Change do_IRQ high bit masking.cl349@firebug.cl.cam.ac.uk2006-03-285-10/+10
| | | | | | | | | | | | | | | | | | | | 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>
| * Remove special handling of {set,clear}_in_cr4().cl349@firebug.cl.cam.ac.uk2006-03-282-28/+9
| | | | | | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
| * Simplify the failsafe callback handler in x86/64 linux. It doesn'tkaf24@firebug.cl.cam.ac.uk2006-03-281-23/+3
| | | | | | | | | | | | | | | | need to try reloading segment selectors (unlike i386 linux). Signed-off-by: Keir Fraser <keir@xensource.com>
| * Add -xen buildconfig for ia64 and tweak CONFIG_VT setup to avoidkaf24@firebug.cl.cam.ac.uk2006-03-282-13/+16
| | | | | | | | | | | | | | | | | | | | 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>
| * Whitespace.cl349@firebug.cl.cam.ac.uk2006-03-271-2/+1
| | | | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
| * Remove unused variable.cl349@firebug.cl.cam.ac.uk2006-03-231-2/+0
| | | | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
| * Rename generic_page_range as apply_to_page_range, export the symbolkaf24@firebug.cl.cam.ac.uk2006-03-236-52/+60
| | | | | | | | | | | | | | | | | | 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>
| * Support late binding of PCI devices to the PCI backend driver inkaf24@firebug.cl.cam.ac.uk2006-03-236-141/+519
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * The PCI Frontend doesn't properly clean-up PCI buses and their deviceskaf24@firebug.cl.cam.ac.uk2006-03-232-13/+28
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Update and extend netif transmit/receive flag names.kaf24@firebug.cl.cam.ac.uk2006-03-232-2/+2
| | | | | | | | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
| * merge with xen-ia64-unstable.hgkaf24@firebug.cl.cam.ac.uk2006-03-2210-127/+522
| |\
| | * Paravirtualise the CPUID instruction by forcing emulation with an ↵kaf24@firebug.cl.cam.ac.uk2006-03-227-43/+407
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | invalid-opcode prefix. This allows to clear feature flags and hide unsupported features from guests. Signed-off-by: Keir Fraser <keir@xensource.com>
| | * Clean up netfront. Eliminate some macros in favour of inline functions.kaf24@firebug.cl.cam.ac.uk2006-03-221-43/+52
| | | | | | | | | | | | | | | | | | | | | | | | Fix allocation of receive batching arrays (should be per interface). Signed-off-by: Keir Fraser <keir@xensource.com>
| | * Externally triggered reboot signal executes ctrl_alt_del()kaf24@firebug.cl.cam.ac.uk2006-03-221-24/+8
| | | | | | | | | | | | | | | | | | | | | | | | rather than calling /sbin/reboot directly. Signed-off-by: Keir Fraser <keir@xensource.com>
| | * Replace evtchn macro maze with static inline functions.kaf24@firebug.cl.cam.ac.uk2006-03-221-17/+55
| | | | | | | | | | | | | | | | | | | | | | | | Todo: could replace current irq_info packed format with a bitfield. Signed-off-by: Keir Fraser <keir@xensource.com>
* | | [IA64] fix build breakageawilliam@xenbuild.aw2006-03-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Looks like we do need to include asm/hypercall.h Signed-off-by: Alex Williamson <alex.williamson@hp.com>
* | | [IA64] obvious compilation fix (hypercall.h, hypervisor.h)awilliam@xenbuild.aw2006-03-242-2/+2
| | | | | | | | | | | | | | | | | | Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* | | [IA64] ia64/xen-mkbuildtree-pre: use ln -sf instread of cpawilliam@xenbuild.aw2006-03-241-7/+7
|/ / | | | | | | | | | | Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* / [IA64] build xen_sysfs by defaultawilliam@xenbuild.aw2006-03-222-0/+9
|/ | | | | | | | This works on xen/ia64 too, enable the code Signed-off-by: Alex Williamson <alex.williamson@hp.com>
* A few cleanups based on comments from Arjan van de Ven.kaf24@firebug.cl.cam.ac.uk2006-03-223-41/+24
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Use shiny new mutexes instead of semaphores where possible in our Linux code.kaf24@firebug.cl.cam.ac.uk2006-03-225-40/+40
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Licensing clarifications in Linux source files:kaf24@firebug.cl.cam.ac.uk2006-03-2239-122/+427
| | | | | | | | | | | | | | 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>
* On x86/64 a domU kernel just sits around forever on a panic becausekaf24@firebug.cl.cam.ac.uk2006-03-221-0/+19
| | | | | | | | | | | 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>
* Clean up #include in init-xen.h.kaf24@firebug.cl.cam.ac.uk2006-03-211-4/+2
| | | | | | Signed-off-by: Muli Ben-Yehuda <mulix@mulix.org>
* Fix a build problem when enabling XEN_SYSFS on xen/ia64.kaf24@firebug.cl.cam.ac.uk2006-03-211-0/+1
| | | | | | Signed-off-by: Alex Williamson <alex.williamson@hp.com>
* Nanosecs not usecs in a time comment.kaf24@firebug.cl.cam.ac.uk2006-03-211-1/+1
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* 'permitted_clock_jitter' units are nanoseconds not microseconds.kaf24@firebug.cl.cam.ac.uk2006-03-211-1/+1
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Merged.emellor@leeni.uk.xensource.com2006-03-215-0/+409
|\
| * Creates a module that exports Xen Hypervisor attributes to sysfs. Thekaf24@firebug.cl.cam.ac.uk2006-03-215-0/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>