Commit Graph
2089 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 99bf801eac linux: Fix mem= kernel parameter when it is smaller than initial memory allocation.
From: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-24 10:46:57 +01:00
kfraser@localhost.localdomain 903fb0f33d blktap: Small changes to blktap + add a hook to clear ptes on implicit release of VMAs.
* free memory on release
 * invalidate p2m entry when unmapping grants
 * check for alloc failure of idx_map
 * add DONTCOPY vma flag
 * hook for clearing ptes when a vma is freed by the kernel

From: Geoffrey Lefebvre <geoffrey@cs.ubc.ca>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-24 10:14:05 +01:00
Ian Campbell 65fd68d6d0 LINUX/x86_64: Ensure that the initial page tables allow userspace
mappings of the vsyscall page. This matches native behaviour by
setting the U bit on the L2-L4 page table entries and controlling
access using the L1 entries.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-05-24 09:14:43 +01:00
kfraser@localhost.localdomain 09bf75fb8a Merge with xen-ia64-unstable.hg 2007-05-22 06:43:05 +01:00
Jake Wires 9ae5c53e34 [BLKTAP] Ensure blktap doesn't try to re-create extant sysfs entries
Signed-off-by: Jake Wires <jwires@xensource.com>
2007-05-19 10:54:01 -07:00
kfraser@localhost.localdomain 5db09f22cb linux: Un-__init a couple of kexec vars that are accessed after init time.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-16 09:57:29 +01:00
Simon Horman f82571ca1b static, __init and __initdata symbols in machine_kexec.c
Some symbols in machine_kexec.c really ought to be static and,
marked __init or __initdata.

Signed-off-by: Simon Horman <horms@verge.net.au>
2007-05-16 09:15:54 +01:00
Alex Williamson 095859f49a [IA64] Implement XENMEM_machine_memory_map on ia64.
This is necessary for kexec/kdump for xen/ia64. kexec-tools needs to know
real machine's memory map.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-10 15:55:22 -06:00
Alex Williamson ec0ae52f36 [IA64] Code clean up using xen machine vector.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-08 10:48:39 -06:00
Alex Williamson 87f7479c3f [IA64] Make p2m exposure compatible with suspend/resume and fix one bug.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-08 10:39:51 -06:00
Alex Williamson 4d3fafa5f8 merge with xen-unstable.hg 2007-05-08 09:09:17 -06:00
Alex Williamson 3a55ba0310 [IA64] Prevent softlock up message when domain is restored.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-07 13:12:44 -06:00
Alex Williamson 3f5380afe2 [IA64] Remove machvec_dig.h
The DIG machine vector is no longer overloaded for Xen support.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-07 08:56:28 -06:00
Alex Williamson 0accb29430 [IA64] Switch to CONFIG_IA64_GENERIC config and wire in Xen machine vector
This enables the switch to the generic flavor ia64 kernel for the -xen
and -xen0 kernels.  -xenU is changed to a CONFIG_IA64_XEN build.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-07 08:54:56 -06:00
Alex Williamson a832734a51 [IA64] Create Xen machine vector
This allows us to easily switch between hardware or software iommu and
simple remapping.  The Xen machine vector is only intended for domU
guests at this point.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-07 08:52:12 -06:00
Alex Williamson 05ab0564f4 [IA64] Paravirtualize sba_iommu
This paravirtualizes the iommu driver for HP Integrity systems.  This
allows dom0 to use the iommu just as it would on native hardware.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-07 08:45:15 -06:00
Alex Williamson c88a772073 [IA64] Paravirtualize swiotlb
Paravirtualize our copy of swiotlb.  A lot of the s/virt_to_phys/virt_to_bus
converstions have already been done in upstream, so I won't special case
them here.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-07 08:41:50 -06:00
Alex Williamson 456c1672ce [IA64] Fix PCI front with CONFIG_NUMA
We get a bad pointer dereference if we don't fill something in
here.  -1 will give us a global allocation, which is good enough
until we have better NUMA support.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-07 08:32:26 -06:00
Keir Fraser 52fbe1b974 linux: Add two arch hooks xen_pre_suspend() and xen_post_suspend() for
suspend/resume. Xen/ia64 needs them.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-07 13:57:18 +01:00
Alex Williamson 6816e515a8 [IA64] Add sparse files for machine vector support
These are necessary to create a Xen machine vector.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-06 20:34:15 -06:00
Alex Williamson 3dbd9d0219 [IA64] Add iommu drivers to sparse tree
These will be paravirtualized in upcoming commits.  We're copying
lib/swiotlb.c into arch/ia64/xen/swiotlb.c simply for convenience.
Changes should be merged back into lib/swiotlb.c once Xen support
merges into Linux.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-06 20:29:45 -06:00
Alex Williamson 5416852aab [IA64] Fix vcpu hotplug
When domain is saved and restored, the following message is printed out.
bind_ipi_to_irqhandler()/bind_virq_to_irqhandler() should be called
in process context.  Move the call from cpu_init() to __cpu_init() like x86.

BUG: sleeping function called from invalid context at /src1/yamahata/hg/xen/ia64
/my150/compile/test-0/xen-ia64-unstable.hg/linux-2.6.18-xen/mm/slab.c:2901
in_atomic():0, irqs_disabled():1

Call Trace:
 [<a00000010001b190>] show_stack+0x50/0xa0
                                sp=e0000000004ff8b0 bsp=e0000000004f9358
 [<a00000010001b210>] dump_stack+0x30/0x60
                                sp=e0000000004ffa80 bsp=e0000000004f9340
 [<a000000100070f40>] __might_sleep+0x2c0/0x2e0
                                sp=e0000000004ffa80 bsp=e0000000004f9318
 [<a00000010012c230>] __kmalloc+0xb0/0x320
                                sp=e0000000004ffa90 bsp=e0000000004f92e0
 [<a0000001001a98d0>] proc_create+0x110/0x1c0
                                sp=e0000000004ffa90 bsp=e0000000004f9298
 [<a0000001001a9ca0>] proc_mkdir_mode+0x40/0xe0
                                sp=e0000000004ffaa0 bsp=e0000000004f9268
 [<a0000001001a9d70>] proc_mkdir+0x30/0x60
                                sp=e0000000004ffab0 bsp=e0000000004f9240
 [<a0000001000e97e0>] register_handler_proc+0x1a0/0x1e0
                                sp=e0000000004ffab0 bsp=e0000000004f91f0
 [<a0000001000e6420>] setup_irq+0x440/0x4e0
                                sp=e0000000004ffb30 bsp=e0000000004f9198
 [<a0000001000e68c0>] request_irq+0x140/0x1a0
                                sp=e0000000004ffb30 bsp=e0000000004f9150
 [<a0000001003e7a20>] bind_ipi_to_irqhandler+0x260/0x2c0
                                sp=e0000000004ffb30 bsp=e0000000004f90e8
 [<a000000100019780>] xen_register_percpu_irq+0x2c0/0x880
                                sp=e0000000004ffb40 bsp=e0000000004f9098
 [<a00000010001a1f0>] xen_smp_intr_init+0x170/0x1c0
                                sp=e0000000004ffb40 bsp=e0000000004f9070
 [<a00000010003d350>] cpu_init+0x1090/0x10e0
                                sp=e0000000004ffb50 bsp=e0000000004f8fe0
 [<a0000001000607a0>] start_secondary+0xc0/0x520
                                sp=e0000000004ffe30 bsp=e0000000004f8f90
 [<a0000001000105f0>] __end_ivt_text+0x6d0/0x700
                                sp=e0000000004ffe30 bsp=e0000000004f8f90

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-03 14:38:26 -06:00
Alex Williamson f63270d87b [IA64] Fix time_resume()
Add missing exclusion in time_resume() and steal time accounting
reinitialization after resume.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-03 14:21:39 -06:00
Alex Williamson 36723573e5 [IA64] Compliation work around for sparsemem
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-03 14:14:41 -06:00
Alex Williamson ffca2f0a46 [IA64] Remove unnecessary sparse tree files
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-03 14:10:19 -06:00
Alex Williamson f395f0ab65 [IA64] Sparse tree cleanup
With this patch we can remove linux-2.6-xen-sparse/arch/ia64/dig/setup.c,
linux-2.6-xen-sparse/include/asm-ia64/machvec.h.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-03 14:08:24 -06:00
Alex Williamson 43ea72e6eb [IA64] Support debug_keys on ia64
This patch adds support for xm debugkeys.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2007-05-03 13:36:06 -06:00
kfraser@localhost.localdomain e1064ed499 linux blkback/blktap: Request/response identifiers are u64, not long.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-01 10:08:36 +01:00
Jake Wires adfd9f4561 Ensure blk{tap/back}'s vm_area is not freed twice on error case.
Signed-off-by: Jake Wires <jwires@xensource.com>
2007-04-27 17:54:06 -07:00
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