Commit Graph
738 Commits
Author SHA1 Message Date
kfraser@dhcp93.uk.xensource.com 60d78dbe14 [LINUX] Allow dma_alloc_coherent() to work for regions up to 2MB.
The previous limit of 0.5MB was insufficient for some drivers
(e.g., when loading firmware).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-27 12:17:45 +01:00
kaf24@firebug.cl.cam.ac.uk b9a9bc6e86 Add Xenoprof passive domain support
Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
2006-06-27 11:23:06 +01:00
kfraser@dhcp93.uk.xensource.com 19c8828f4b Add new XENMEM_machphys_mapping to get info about location and
sizeof of the mach2phys table default mapping. Use this in Linux to
dynamically adapt the mfn_to_pfn() routine to undelrying hypervisor.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-20 14:45:46 +01:00
kaf24@firebug.cl.cam.ac.uk 9c8f5290ef Small fixes to changesets 10424 and 10425 (spurious #PF detection).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-17 12:57:03 +01:00
kfraser@dhcp93.uk.xensource.com d6a811acc8 [LINUX] Add spurious page-fault detection, intended primarily
for spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 18:19:40 +01:00
kfraser@dhcp93.uk.xensource.com 8d9ab5812a Merge with xen-ia64-unstable.hg. 2006-06-16 18:08:27 +01:00
kfraser@dhcp93.uk.xensource.com a2ee238fcf [LINUX] Use new XENMEM_exchange hypercall (where possible)
to provide watertight implementations that should never crash
in ENOMEM situations.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 14:45:01 +01:00
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06:00
awilliam@xenbuild.aw 42162a97c0 [IA64] work around for skbuff_ctor() on non-privileged domain
populate physmap/increase reservation hypercall fail with
extent order > 0 on non-privileged domain.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-15 09:10:14 -06:00
awilliam@xenbuild.aw fc22e34ca6 [IA64] fix garbage in irq_ia64.c kernel message
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 08:56:47 -06:00
kaf24@firebug.cl.cam.ac.uk aedc7640e6 [LINUX] Only destroy a machine-contiguous memory region if
it really is contiguous (e.g., create_contiguous did not fail).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-15 11:35:23 +01:00
kaf24@firebug.cl.cam.ac.uk 45b1830267 [LINUX][PAE] More fixes to pgd allocation. Since allocating pmds
can sleep, we could race save/restore and end up with stale
machine addresses stores in pgd entries. Avoid this by
remembering virtuall addresses and translating to machine
addresses all at the end and protected by the pgd_lock.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 17:06:28 +01:00
kaf24@firebug.cl.cam.ac.uk e2f381e315 [LINUX][PAE] Improve allocation strategy when PAE pgdirs must be below 4GB.
Moving the re-allocation to low memory into pgd_alloc() has several
advantages:
 1. Avoids race with save/restore where pgdir may end up above 4GB after
    save/restore.
 2. If pgdir cannot be re-allocated we can return failure to the caller
    rather than BUG().
 3. Slightly reduces diff against native Linux code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 12:36:06 +01:00
awilliam@xenbuild.aw 3d089e3ba1 merge with xen-unstable.hg 2006-06-13 12:12:24 -06:00
awilliam@xenbuild.aw e4f73d5c2a [IA64] Revert xen-ia64-unstable.hg cset 10237
back out the change set 10237 which causes domain creation failure.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-13 09:00:32 -06:00
awilliam@xenbuild.aw 59c720c672 [IA64] Revert xen-ia64-unstable.hg cset 10238
back out the change set 10238 which causes domU creation failure.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-13 08:59:26 -06:00
kaf24@firebug.cl.cam.ac.uk 1d0986e6b4 [LINUX] Eliminates a deadlock and reduce (sometimes significantly) the time
interrupts are off during context switch.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-13 15:56:28 +01:00
kfraser@dhcp93.uk.xensource.com 063f4cc497 [LINUX] Export some tlb-flush functions to modules, which are
directly accessible via macros in tlbflush.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 14:08:37 +01:00
kaf24@firebug.cl.cam.ac.uk b4bd6fd400 [LINUX] Fix interaction between idle loop and RCU subsystem.
There is a problem with the current implementation of stop_hz_timer in
arch/i386/kernel/time-xen.c where the hz timer can be stopped on a CPU
which has RCU callbacks pending.

This patch backports a new RCU API created to fix this problem for the
s390 implementation of stop_hz_timer and also updates the time-xen.c
implementation of stop_hz_timer to call the new API.

Signed-off-by: Harry Butterworth <butterwo@uk.ibm.com>
2006-06-12 14:17:05 +01:00
kaf24@firebug.cl.cam.ac.uk a51b3e5765 [LINUX] Simplify /proc/iomem initialisation -- no need to fake a
domU memory map. The main e820 map already terminates at max_pfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-09 16:19:42 +01:00
kaf24@firebug.cl.cam.ac.uk 876b216779 [LINUX][X86/64] Initialise pages outside initial allocation so that
they are picked up by the balloon driver.
From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-09 16:18:40 +01:00
awilliam@xenbuild.aw 45758ec272 [IA64] sparse tree cleanups
Here's a first pass at some sparse tree cleanups based on feedback
 we've gotten on linux-ia64.  I haven't taken all of the comments into
 account yet, this is just a start.  Specific changes:

  - CONFIG_ARCH_XEN is no longer necessary
  - simple is_running_on_xen() checks can be handled w/o CONFIG_XEN
  - pulled forward a drivers/xen/Makefile change that broken make clean
  - changed some comments from C++ style to C
  - turned HYPERVISOR_ioremap into a macro for !CONFIG_XEN
  - made hypervisor.h and privop.h include-able for !CONFIG_XEN

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-08 10:17:22 -06:00
awilliam@xenbuild.aw eeecb3f9b9 [IA64] clean out xen/drivers/patches in the sparse tree
This is all old, unused code.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-08 10:15:09 -06:00
kaf24@firebug.cl.cam.ac.uk 80c6044fb3 [LINUX] swiotlb allocates multiple smaller contiguous DMA regions,
rather than a single big one.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-08 16:48:23 +01:00
kaf24@firebug.cl.cam.ac.uk b4c43b75ea [LINUX] Set up /proc/iomem in a sensibel way to indicate
code & data resources, and a RAM area on domU.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-08 10:24:48 +01:00
kaf24@firebug.cl.cam.ac.uk fe777d0a4c [LINUX][X86/64] Support IO-port permissions bitmaps (ioperm() syscall).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-07 13:38:08 +01:00
kaf24@firebug.cl.cam.ac.uk 2ad3e284b4 x86/64 Linux: destroy entire init memory mapping beyond kernel image.
Avoids overlap with modules mapping area.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-07 11:24:44 +01:00
awilliam@xenbuild.aw 478e357a66 [IA64] remove xenia64_init.c
Relocate the few bits left to ia64 specific parts of the tree.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-06 09:06:19 -06:00
awilliam@xenbuild.aw 93cdb775bc [IA64] Vcpu hot-plug support
Handle SAL return.
Handle ptr.i/ptr.d

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-03 14:48:42 -06:00
awilliam@xenbuild.aw 217f82646d [IA64] cleanup linux-2.6-xen-sparse
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-06-03 14:31:27 -06:00
awilliam@xenbuild.aw ed2f30d1f5 [IA64] paravirtualize vdso
paravirtualize vdso area.
introduce hyperprivop HYPERPRIVOP_RSM_BE and HYPERPRIVOP_GET_PSR.
and paravirtualize vdso area using them.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-03 11:16:47 -06:00
awilliam@xenbuild.aw 09879197ca [IA64] import linux gate.S, gate.ld.S and patch.c
import gate.S, gate.ld.S and patch.c which are needed to
paravirtualize vdso area.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-03 11:16:41 -06:00
kaf24@firebug.cl.cam.ac.uk 44beffcd61 [LINUX] Simply shared_info mapping code. Always use a fixmap.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 19:14:44 +01:00
kfraser@dhcp93.uk.xensource.com 585c0a4528 [LINUX][X86_64] Destroy initial page-table mappings to avoid overlap with modules.
The temporary mappings needed to set up the 1:1 mappings must be torn
down after use; otherwise they may trigger the
WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold
kernel and initial page tables gets close to or
exceeds 128Mb, or if a sufficiently high mem= argument causes the
static allocations to grow beyond 128Mb, which in
either case means these mappings extend into the modules area).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-02 18:06:50 +01:00
kaf24@firebug.cl.cam.ac.uk dd9f789cb6 A few put_cpu() calls were missed when adding CONFIG_X86_NO_TSS.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-02 13:36:29 +01:00
kaf24@firebug.cl.cam.ac.uk cf7e961ca7 Use halt() instead of asm("hlt").
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-02 12:14:27 +01:00
kaf24@firebug.cl.cam.ac.uk 6d747ccc8f [PAE] Fix support for pgdirs above 4GB. Requires an interface change so that %cr3
is extended to include high-order address bits at bottom of %cr3 value.
Guests who understand this interface change publish the fact by setting the
option 'PAE=yes[extended-cr3]' in their __xen_guest section.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 11:46:24 +01:00
kfraser@dhcp93.uk.xensource.com 5d30fd9f10 Build breakage: revert 10247:2fd7f4fb7d1453e4ff418c06961b0bd9fcb71129.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 09:15:51 +01:00
kaf24@firebug.cl.cam.ac.uk 410f6d8716 [LINUX][X86_64] Fix initial memory mapping code.
The temporary mappings needed to set up the 1:1 mappings must be torn down after use; otherwise they may trigger the
WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold kernel and initial page tables gets close to or
exceeds 128Mb, or if a sufficiently high mem= argument causes the static allocations to grow beyond 128Mb, which in
either case means these mappings extend into the modules area).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-01 19:07:40 +01:00
kaf24@firebug.cl.cam.ac.uk 296d1a2fd4 [LINUX] Converge ia64 versions of xen/drivers Makefiles with general versions.
This patch converges the ia64-specific and general versions of
xen/drivers/Makefile and xen/drivers/core/Makefile, using Kconfig
settings instead to control whether specific pieces are built.

Signed-off-by: Aron Griffis <aron@hp.com>
2006-06-01 18:29:23 +01:00
awilliam@xenbuild.aw d3febd5582 [IA64] fix up a few more warnings
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-05-31 16:07:47 -06:00
awilliam@xenbuild.aw e91bc4619d [IA64] remove linux-2.6-xen-sparse/arch/ia64/xen/xenconsole.c
Inline the content of early_console_setup() to setup.c and remove
xenconsole.c

Signed-off-by: Aron Griffis <aron@hp.com>
2006-05-31 14:34:33 -06:00
awilliam@xenbuild.aw 84db3ab496 merge with xen-unstable.hg 2006-05-31 13:05:21 -06:00
awilliam@xenbuild.aw 360cf93c53 [IA64] Add several missing is_running_on_xen().
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-05-31 11:30:07 -06:00
awilliam@xenbuild.aw 430962ac74 [IA64] clean up ia64 xen-mkbuildtree-pre
xen-mkbuildtree-pre of ia64 clean up.
evtchn_ia64.c doesn't exist now.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-30 10:32:42 -06:00
awilliam@xenbuild.aw a342eb4e85 [IA64] use is_running_on_xen()
Now xen drivers use is_running_on_xen() to check whether it runs on 
xen or bare metal. There remains many if (running_on_xen) in ia64
specific codes. This patch replaces running_on_xen with is_running_on_xen()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-30 10:31:19 -06:00
awilliam@xenbuild.aw 2561ce3fcd [IA64] add missing END(xen_bsw1)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-30 10:30:12 -06:00
kaf24@firebug.cl.cam.ac.uk 3231ebb6ba Define halt() and safe_halt() properly for Linux-on-Xen. Remove duplicated
code for initial bringup of secondary VCPUs.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-30 13:29:29 +01:00
awilliam@xenbuild.aw 7a3587d6e5 merge with xen-unstable.hg 2006-05-26 13:41:49 -06:00
kaf24@firebug.cl.cam.ac.uk 7dbca9d720 Remove net_driver_util module. Inline the one mac-parsing function
into the netfront and netback drivers. Take the opportunity to fix
the mac-parsing logic.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-25 22:57:44 +01:00