]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/log
legacy/linux-2.6.18-xen.git
17 years ago[IA64] xencomm: add resumedomain support.
Alex Williamson [Fri, 12 Oct 2007 20:21:34 +0000 (14:21 -0600)]
[IA64] xencomm: add resumedomain support.

xcom_privcmd.c: add XEN_DOMCTL_resumedomain support domain save error
path issue resumedomain hypercall so that it is necessary to support.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Minor cleanup of hypervisor.h to removed one #ifdef.
Alex Williamson [Fri, 12 Oct 2007 20:19:04 +0000 (14:19 -0600)]
[IA64] Minor cleanup of hypervisor.h to removed one #ifdef.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agoi386: Fix build warning.
Keir Fraser [Thu, 11 Oct 2007 15:03:24 +0000 (16:03 +0100)]
i386: Fix build warning.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoi386: Fix xen_l1_entry_update() for highptes.
Keir Fraser [Thu, 11 Oct 2007 15:02:16 +0000 (16:02 +0100)]
i386: Fix xen_l1_entry_update() for highptes.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoCheck that awk supports 'gensub' command.
Keir Fraser [Wed, 10 Oct 2007 10:32:15 +0000 (11:32 +0100)]
Check that awk supports 'gensub' command.

The linux-2.6.18-xen.hg/scripts/Makefile.xen.awk script depends on the
GNU AWK-specific function "gensub".  If another awk is used (e.g.,
Debian installs mawk by default), the lack of gensub trickles down to
cause the -xen.c files to not be compiled.  This was time-consuming to
track.  So we should check that the awk program supports 'gensub'.

Signed-off-by: Michael Abd-El-Malek <mabdelmalek@cmu.edu>
17 years agoPV-on-HVM: Avoid undefined symbol in netfront module when building
Keir Fraser [Tue, 9 Oct 2007 11:14:39 +0000 (12:14 +0100)]
PV-on-HVM: Avoid undefined symbol in netfront module when building
against native Linux 2.6.18.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agolinux/x86: batch hypercalls when pinning address spaces
Keir Fraser [Fri, 5 Oct 2007 09:51:53 +0000 (10:51 +0100)]
linux/x86: batch hypercalls when pinning address spaces
Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agolinux: allow use of split page table locks
Keir Fraser [Fri, 5 Oct 2007 09:49:06 +0000 (10:49 +0100)]
linux: allow use of split page table locks

This fixes the race condition previously experienced between
(un)pinning and vmscan.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agonetfront accelerator: Cleanup vif_state on device removal.
Keir Fraser [Wed, 3 Oct 2007 14:02:54 +0000 (15:02 +0100)]
netfront accelerator: Cleanup vif_state on device removal.
Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
17 years agoUse module use count on accel plugin to prevent premature unload.
Keir Fraser [Wed, 3 Oct 2007 14:02:07 +0000 (15:02 +0100)]
Use module use count on accel plugin to prevent premature unload.
Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
17 years agoAdd version number to API between netfront and accel plugin.
Keir Fraser [Wed, 3 Oct 2007 14:01:30 +0000 (15:01 +0100)]
Add version number to API between netfront and accel plugin.
Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
17 years agoAdd version number to API between netback and accel plugin.
Keir Fraser [Wed, 3 Oct 2007 14:00:42 +0000 (15:00 +0100)]
Add version number to API between netback and accel plugin.
Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
17 years agonetfront/back: Configure network acceleration using ethernet device name.
Keir Fraser [Wed, 3 Oct 2007 13:58:45 +0000 (14:58 +0100)]
netfront/back: Configure network acceleration using ethernet device name.
Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
17 years agox86/64: Fix security vulnerability CVE-2006-5755.
Keir Fraser [Wed, 3 Oct 2007 13:53:41 +0000 (14:53 +0100)]
x86/64: Fix security vulnerability CVE-2006-5755.

Properly save/restore EFLAGS on context switch, to avoid leakage of NT
flag causing crash on IRET.

This is a port of the upstream patch to Xen-specific source files.

Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoMerge with ia64 tree.
Keir Fraser [Wed, 3 Oct 2007 13:18:01 +0000 (14:18 +0100)]
Merge with ia64 tree.

17 years agoApply patch for 2.6.18.8.
Ian Campbell [Wed, 3 Oct 2007 09:00:44 +0000 (10:00 +0100)]
Apply patch for 2.6.18.8.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
17 years agomerge with linux-2.6.18-xen.hg (staging)
Alex Williamson [Tue, 2 Oct 2007 17:32:27 +0000 (11:32 -0600)]
merge with linux-2.6.18-xen.hg (staging)

17 years agox86/64: Fix security vulnerability CVE-2007-4573.
Keir Fraser [Tue, 2 Oct 2007 08:52:15 +0000 (09:52 +0100)]
x86/64: Fix security vulnerability CVE-2007-4573.

Zero-extend all registers after ptrace in 32-bit entry path. Actually
only needed for %rax (which indexes into syscall table).

This is a backport of the upstream Linux patch.

Signed-off-by: Keir Fraser <keir@xensource.com>
17 years ago[IA64] kexec/kdump: call xen_machine_kexec_setup_resources after init_bootmem
Alex Williamson [Fri, 28 Sep 2007 16:34:06 +0000 (10:34 -0600)]
[IA64] kexec/kdump: call xen_machine_kexec_setup_resources after init_bootmem

Early on in find_memory(), reserve_memory() is called,
which in turn calls xen_machine_kexec_setup_resources()
and in turn alloc_bootmem_low().

However, before alloc_bootmem_low() can be called,
init_bootmem() needs to be called.

To resolve this problem, the call to xen_machine_kexec_setup_resources()
is moved to just after the call to init_bootmem() in alloc_bootmem_low().

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kexec: Purge the VHPT entry in the TLB on kexec
Alex Williamson [Fri, 28 Sep 2007 16:32:36 +0000 (10:32 -0600)]
[IA64] Kexec: Purge the VHPT entry in the TLB on kexec

Should relocate_new_kernel(), which is run by the hypervisor, purge the
VHPT on XEN like ia64_do_purge_tlb() (code in the hypervisor) does?

There is a hypervisor portion of this patch which modifies
machine_kexec() to pass the appropriate extra argument to
ia64_do_purge_tlb().

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kdump: Add /proc/iomem_machine
Alex Williamson [Thu, 27 Sep 2007 20:49:14 +0000 (14:49 -0600)]
[IA64] Kdump: Add /proc/iomem_machine

Add /proc/iomem_machine. This is basically the iomem regions
as the hypervisor sees them. As opposed to Linux's /proc/iomem
which is provides a somewhat limited and distorted view of the world.
Or in other words, /proc/iomem is for pseudo-phical memory and
/proc/iomem_machine is for machine memory.

This is needed for kdump to work on ia64 as else it can't place
the crashkernel region correctly, nor can it map out all physical
memory to be included in the vmcore file in the second kernel.

There is an acompanying patch to kexec-tools to allow it
to use /proc/iomem_machine instead of /proc/iomem as appropriate.

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kdump: Use the machine address for the boot params region
Alex Williamson [Thu, 27 Sep 2007 20:37:22 +0000 (14:37 -0600)]
[IA64] Kdump: Use the machine address for the boot params region

The boot params region needs to be placed using the machine
address not the physical address. This is because it represents
an area of memory that is reserved in the hypervisor and it is
critical that the same area of machine memory is not trampled
over during kexec.

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kexec: machine addresss macros
Alex Williamson [Thu, 27 Sep 2007 20:34:42 +0000 (14:34 -0600)]
[IA64] Kexec: machine addresss macros

Define IA64-specific macros for kexec to find the machine address
of a virtual address etc... This abstraction was hammered out
during the merge of the x86 code.

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Update default config to enable kexec
Alex Williamson [Thu, 27 Sep 2007 20:32:08 +0000 (14:32 -0600)]
[IA64] Update default config to enable kexec

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kexec: Call xen_machine_kexec_register_resources
Alex Williamson [Thu, 27 Sep 2007 20:29:00 +0000 (14:29 -0600)]
[IA64] Kexec: Call xen_machine_kexec_register_resources

For kexec on xen xen_machine_kexec_register_resources() needs
to be called at boot time.

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] backport Kexec/Kdump: honour non-zero crashkernel offset
Alex Williamson [Thu, 27 Sep 2007 20:26:00 +0000 (14:26 -0600)]
[IA64] backport Kexec/Kdump: honour non-zero crashkernel offset

From: Horms <horms@verge.net.au>
From Linux upstream, commit ad1c3ba7e54fc38b119c1a7d5c98f9ffb8227fdb

There seems to be a value in both allowing the kernel to determine
the base offset of the crashkernel automatically and allowing
users's to sepcify it.

The old behaviour on ia64, which is still the current behaviour on
most architectures is for the user to always specify the address.
Recently ia64 was changed so that it is always automatically determined.

With this patch the kernel automatically determines the offset if
the supplied value is 0, otherwise it uses the value provided.

This should probably be backed by a documentation change.

Signed-Off-By: Simon Horman <horms@verge.net.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] backport CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations
Alex Williamson [Thu, 27 Sep 2007 20:22:31 +0000 (14:22 -0600)]
[IA64] backport CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations

From: Simon Horman <horms@verge.net.au>
Upstream Linux changeset 45a98fc622ae700eed34eb2be00743910d50dbe1

[IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations

Actually, on reflection I think that there is a good case for
keeping the options separate. I am thinking particularly of people
who want a very small crashdump kernel and thus don't want to compile
in kexec.

The patch below should fix things up so that all valid combinations of
KEXEC, CRASH_DUMP and VMCORE compile cleanly - VMCORE depends on
CRASH_DUMP which is why I said valid combinations. In a nutshell
it just untangles unrelated code and switches around a few defines.

Please note that it creats a new file, arch/ia64/kernel/crash_dump.c
This is in keeping with the i386 implementation.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] Xenification of IA64 Kexec/kdump
Alex Williamson [Fri, 28 Sep 2007 15:51:31 +0000 (09:51 -0600)]
[IA64] Xenification of IA64 Kexec/kdump

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kdump: pass control page to hypervisor
Alex Williamson [Thu, 27 Sep 2007 19:47:38 +0000 (13:47 -0600)]
[IA64] Kdump: pass control page to hypervisor

On ia64 the control page needs to be passed down to the hypervisor
on kexec.

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kexec: Use xen machine_kexec() and machine_shutdown()
Alex Williamson [Thu, 27 Sep 2007 19:44:28 +0000 (13:44 -0600)]
[IA64] Kexec: Use xen machine_kexec() and machine_shutdown()

machine_kexec() and machine_shutdown() are defined by xen code
rather than ia64 code when xen is in use

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] Kexec: Add xen_limit_pages_to_max_mfn()
Alex Williamson [Thu, 27 Sep 2007 19:42:38 +0000 (13:42 -0600)]
[IA64] Kexec: Add xen_limit_pages_to_max_mfn()

Add xen_limit_pages_to_max_mfn() in keeping with x86.
On ia64 it seems that it just needs to be a wrapper
for xen_create_contiguous_region().

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years ago[IA64] ia64 kexec/kdump backport
Alex Williamson [Thu, 27 Sep 2007 19:40:11 +0000 (13:40 -0600)]
[IA64] ia64 kexec/kdump backport

From: Simon Horman <horms@verge.net.au>

* From Linux Upstream, commit a79561134f38de12dce14ed72138f38e55ef53fc
* Trivial backport to linux-2.6.18-xen of the following hunks
  * arch/ia64/kernel/mca.c: hunk 2
  * include/asm-ia64/machvec.h: hunks 1 & 2
  * include/asm-ia64/machvec_sn2.h: hunk 1
  * meminit.h

[IA64] IA64 Kexec/kdump

Changes and updates.

1. Remove fake rendz path and related code according to discuss with Khalid Aziz.
2. fc.i offset fix in relocate_kernel.S.
3. iospic shutdown code eoi and mask race fix from Fujitsu.
4. Warm boot hook in machine_kexec to SN SAL code from Jack Steiner.
5. Send slave to SAL slave loop patch from Jay Lan.
6. Kdump on non-recoverable MCA event patch from Jay Lan
7. Use CTL_UNNUMBERED in kdump_on_init sysctl.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] Initialise xen_start_info earlier in setup_arch()
Alex Williamson [Thu, 27 Sep 2007 19:33:50 +0000 (13:33 -0600)]
[IA64] Initialise xen_start_info earlier in setup_arch()

xen_start_info needs to be set before efi_init() is called on ia64
because xen_machine_kexec_setup_resources() is indirectly
called by efi_init() and it needs a working is_initial_xendomain();

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years agomerge with linux-2.6.18-xen.hg
Alex Williamson [Thu, 27 Sep 2007 18:22:59 +0000 (12:22 -0600)]
merge with linux-2.6.18-xen.hg

17 years agoMake sure that the device is fully ready before allowing release.
Wim Colgate [Mon, 24 Sep 2007 23:56:50 +0000 (16:56 -0700)]
Make sure that the device is fully ready before allowing release.

Signed-off-by: Wim Colgate <wim@xensource.com>
17 years ago[IA64] Linux support for debug_op hypercall
Alex Williamson [Fri, 21 Sep 2007 18:54:11 +0000 (12:54 -0600)]
[IA64] Linux support for debug_op hypercall

Signed-off-by: Tristan Gingold <tgingold@free.fr>
17 years agoNotify CPU frequency changes to Xen.
Keir Fraser [Thu, 20 Sep 2007 13:17:12 +0000 (14:17 +0100)]
Notify CPU frequency changes to Xen.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoBackport of powernow-k8 cpufreq changes, required for power management
Keir Fraser [Thu, 20 Sep 2007 13:16:30 +0000 (14:16 +0100)]
Backport of powernow-k8 cpufreq changes, required for power management
on Xen.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
17 years agolinux/i386-PAE: avoid temporarily inconsistent pte's.
kfraser [Wed, 19 Sep 2007 15:26:49 +0000 (16:26 +0100)]
linux/i386-PAE: avoid temporarily inconsistent pte's.

One more of these issues (which were considered fixed): Other than on
x86-64, i386 allows set_fixmap() to replace already present mappings.
Consequently, on PAE, care must be taken to not update the high half
of a pte while the low half is still holding the old value.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agoRemove arch/i386/boot-xen which was made obsolete by 211:c1f5d027adf7
Ian Campbell [Wed, 19 Sep 2007 11:06:01 +0000 (12:06 +0100)]
Remove arch/i386/boot-xen which was made obsolete by 211:c1f5d027adf7

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
17 years agoThis is a backport of some code for Linux that is needed by
kfraser [Wed, 19 Sep 2007 07:55:13 +0000 (08:55 +0100)]
This is a backport of some code for Linux that is needed by
my backport of kexec to IA64 xen.
From: Simon Horman <horms@verge.net.au>

sysctl: implement CTL_UNNUMBERED

This patch takes the CTL_UNNUMBERD concept from NFS and makes it
available to all new sysctl users.

At the same time the sysctl binary interface maintenance documentation
is updated to mention and to describe what is needed to successfully
maintain the sysctl binary interface.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agolinux/x86: match native behavior of 'make install'
kfraser [Tue, 18 Sep 2007 15:31:30 +0000 (16:31 +0100)]
linux/x86: match native behavior of 'make install'

Placement of the final image and handling of the install process
should match native (whether to implicitly create an initrd is just
one example). This includes there not being a need for a special
boot-xen subdirectory and more unification of arch/*/Makefile pieces.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agoSupport ICH9 chipset.
kfraser [Tue, 18 Sep 2007 15:21:17 +0000 (16:21 +0100)]
Support ICH9 chipset.
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
17 years agoxenbus: Print more comprehensive info about unconnected devices during boot.
kfraser [Tue, 18 Sep 2007 08:34:09 +0000 (09:34 +0100)]
xenbus: Print more comprehensive info about unconnected devices during boot.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years ago[IA64] Enable CONFIG_DM_SNAPSHOT=y in defconfig
Alex Williamson [Mon, 17 Sep 2007 19:49:15 +0000 (13:49 -0600)]
[IA64] Enable CONFIG_DM_SNAPSHOT=y in defconfig

It's handy to have this built in statically.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
17 years ago[IA64] Minor fix of xcom_hcall.c for pv-on-hvm.
Alex Williamson [Wed, 12 Sep 2007 15:38:50 +0000 (09:38 -0600)]
[IA64] Minor fix of xcom_hcall.c for pv-on-hvm.

- compilation fix.
  hypercall.h shouldn't be included directly. intead include hypervisor.h
- In RHEL4U4, insmod xen-platform-pci.ko failed with these patches.
  xen_platform_pci: Unknown symbol xencomm_arch_hypercall_suspend
  comment out xencomm_hypercall_suspend() because suspend hypercall isn't
  necessary for VTi domain.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Fix build when CONFIG_XEN_IA64_EXPOSE_P2M is not set
Alex Williamson [Tue, 11 Sep 2007 21:15:22 +0000 (15:15 -0600)]
[IA64] Fix build when CONFIG_XEN_IA64_EXPOSE_P2M is not set

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years agoAdd the CDROM_GET_CAPABILITY ioctl to blkfront.
Christian Limpach [Tue, 11 Sep 2007 15:38:13 +0000 (16:38 +0100)]
Add the CDROM_GET_CAPABILITY ioctl to blkfront.
Return 0 instead of -EINVAL if the blkfront device is a cdrom,
i.e. had the VDISK_CDROM attribute.  This allows udev's cdrom_id
to correctly detect the device as a cdrom device.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
17 years agomerge with linux-2.6.18-xen.hg (staging)
Alex Williamson [Mon, 10 Sep 2007 19:59:28 +0000 (13:59 -0600)]
merge with linux-2.6.18-xen.hg (staging)

17 years agoFix evtchn rebind.
kfraser [Mon, 10 Sep 2007 12:53:04 +0000 (13:53 +0100)]
Fix evtchn rebind.

rebind_irq_to_cpu needs to mask evtchn before bind, which should
be same as what evtchn_rebind_cpu does today. Or else cpu_disable
fails at fixup_irqs.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoDomU should scan all PCI fns.
kfraser [Mon, 10 Sep 2007 12:35:33 +0000 (13:35 +0100)]
DomU should scan all PCI fns.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoxencons: Remove xencons_early_setup() and do not clear use_vt_console.
kfraser [Sat, 8 Sep 2007 09:02:52 +0000 (10:02 +0100)]
xencons: Remove xencons_early_setup() and do not clear use_vt_console.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agomerge with linux-2.6.18-xen.hg (staging)
Alex Williamson [Fri, 7 Sep 2007 19:57:35 +0000 (13:57 -0600)]
merge with linux-2.6.18-xen.hg (staging)

17 years agoFix one dead loop case in host S3
kfraser [Fri, 7 Sep 2007 10:18:23 +0000 (11:18 +0100)]
Fix one dead loop case in host S3

Wake sts is only required to be checked for S1, and implementation
is free to not touch wake sts bit for S3. The latter case is observed
falling into loop on checking wake sts after sleep hypercall returns.
Actually we only need to check hypercall return value here, and those
checks belong to Xen instead.

Signed-off-by Kevin Tian <kevin.tian@intel.com>

17 years agoBind different tasks' evtchns to different vcpus of Dom0
kfraser [Fri, 7 Sep 2007 10:09:25 +0000 (11:09 +0100)]
Bind different tasks' evtchns to different vcpus of Dom0

Currently, all user-space event channels notify Dom0's vcpu0 -- this
is not nice considering scalability. The patch tries to bind different
tasks' evtchns to different vcpus of Dom0 when the bindings are
initialized, and it can also dynamically change the binding if a task
actually gets run on another vcpu for some reason. Tests (Inb and
OLTP) show the patch can improve scalability to some notable degree.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Kan Liang <kan.liang@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoPV-on-HVM: Fix bad symbol reference
kfraser [Fri, 7 Sep 2007 09:24:57 +0000 (10:24 +0100)]
PV-on-HVM: Fix bad symbol reference

This fixes a bug causing a bogus symbol reference (to init_page_count)
in the PV-on-HVM drivers for 2.6 kernels that define the set_page_count
macro.

Based on an original patch by:
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Signed-off-by: Dave Lively <dlively@virtualiron.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoAdd missing err.h include to xenbus.h header file.
kfraser [Fri, 7 Sep 2007 09:19:22 +0000 (10:19 +0100)]
Add missing err.h include to xenbus.h header file.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoFix potential kthread deadlock during Xen suspend.
kfraser [Fri, 7 Sep 2007 09:04:02 +0000 (10:04 +0100)]
Fix potential kthread deadlock during Xen suspend.

kthread_create() depends on keventd, so it cannot be executed from
keventd. Replace use of kthread_create() with an approach based on
kernel_thread().

Based on an original patch by:
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Signed-off-by: Robert Phillips <rphillips@virtualiron.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years ago[IA64] Foreign p2m: linux side
Alex Williamson [Thu, 6 Sep 2007 20:33:25 +0000 (14:33 -0600)]
[IA64] Foreign p2m: linux side

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agomerge with linux-2.6.18-xen.hg (staging)
Alex Williamson [Thu, 6 Sep 2007 18:05:58 +0000 (12:05 -0600)]
merge with linux-2.6.18-xen.hg (staging)

17 years ago[IA64] Move vfree() out of irq disabled code.
Alex Williamson [Thu, 6 Sep 2007 15:09:53 +0000 (09:09 -0600)]
[IA64] Move vfree() out of irq disabled code.

Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
17 years agoxen: Use unlocked_ioctl in evtchn, gntdev and privcmd drivers to avoid
kfraser [Fri, 31 Aug 2007 09:45:38 +0000 (10:45 +0100)]
xen: Use unlocked_ioctl in evtchn, gntdev and privcmd drivers to avoid
acquiring the BKL sempahore. Performance improvement is particularly
significant for heavy users of evtchn-notify ioctl.
Suggested by Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agonetfront: Add kref support for legacy Linux kernels.
kfraser [Thu, 30 Aug 2007 15:23:39 +0000 (16:23 +0100)]
netfront: Add kref support for legacy Linux kernels.

In kernels <= 2.6.5 kref_init, and kref_put had a different interface.
This patch allows for older kernels to compile with the older
interface.

Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years ago[IA64] Add vmalloc failure test
Alex Williamson [Tue, 28 Aug 2007 18:44:22 +0000 (12:44 -0600)]
[IA64] Add vmalloc failure test

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
17 years ago[IA64] Avoid allocating memory in interrupt context
Alex Williamson [Tue, 28 Aug 2007 18:40:47 +0000 (12:40 -0600)]
[IA64] Avoid allocating memory in interrupt context

Allocate xencomm_handle in IA64_LOG_ALLOCATE instead of
allocating each time.

Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
17 years agoRemove xencomm page size limit.
kfraser [Tue, 28 Aug 2007 14:33:15 +0000 (15:33 +0100)]
Remove xencomm page size limit.

Currently xencomm has page size limit so that a domain with many
memory (e.g. 100GB~) can't be created.

Now that xencomm of xen side accepts struct xencomm_desc whose address
array crosses page boundary. Thus it isn't necessary to allocate
single page not to cross page boundary. We can allocate exact sized
memory. Note that struct xencomm_desc can't cross page boundary and
slab allocator returns sizeof(void*) aligned pointer.
Where sizeof(*desc) > sizeof(void*), e.g. 32 bit environment,
the slab allocator return pointer doesn't gurantee that
struct xencomm_desc doesn't cross page boundary. So we fall back to
page allocator.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Fix __ioremap() paravirtualization.
Alex Williamson [Thu, 23 Aug 2007 21:18:40 +0000 (15:18 -0600)]
[IA64] Fix __ioremap() paravirtualization.

__ioremap() should return NULL when error.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Work around for xencomm memory reservation op.
Alex Williamson [Wed, 22 Aug 2007 14:09:20 +0000 (08:09 -0600)]
[IA64] Work around for xencomm memory reservation op.

- Xencomm has single page size limit caused by xencomm_alloc()/xencomm_free()
  so that we have to repeat the hypercall.  Repeating the hypercall allows us
  to create domains larger than ~63G.  This limitation could also be removed
  by allowing xencomm calls to cross pages.
- Even if the above limitation is removed, the hypercall with large number of
  extents may cause the soft lockup warning.
  In order to avoid the warning, we limit the number of extents and repeat
  the hypercall.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
17 years ago[IA64] Linux xencomm consolidation
Alex Williamson [Thu, 16 Aug 2007 19:44:51 +0000 (13:44 -0600)]
[IA64] Linux xencomm consolidation

Use common xencomm.c and remove ia64 xencomm.c

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years agomerge with linux-2.6.18-xen.hg
Alex Williamson [Thu, 16 Aug 2007 16:58:46 +0000 (10:58 -0600)]
merge with linux-2.6.18-xen.hg

17 years ago[xencomm] introduce opaque type struct xencomm_handle* for xencommized
kfraser [Tue, 14 Aug 2007 15:20:55 +0000 (16:20 +0100)]
[xencomm] introduce opaque type struct xencomm_handle* for xencommized
value. This patch is preparation for xencomm consolidation.
powerpc uses void * for xencommized value, on the other hand IA64 uses
struct xencomm_handle *. Unify it with struct xencomm_handle *.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[linux, xencomm] Various fixes common xencomm.c for ia64 xencomm consolidation
kfraser [Tue, 14 Aug 2007 15:04:09 +0000 (16:04 +0100)]
[linux, xencomm] Various fixes common xencomm.c for ia64 xencomm consolidation
  - move xen_guest_handle() macro into include/xen/xencomm.h
    ia64 also uses it.
  - is_kern_addr() is powerpc specific. and other arch doesn't
  implement it.
    It will be defined in linux/include/asm-ia64/xen/xencomm.h
  - fix error recovery path of xencomm_create()
    xencomm_free() requires pseudo physical address, not virtual
    address.
  - add one BUG_ON() to xencomm_create_mini() for alignment
  requirement
  - use xencomm_pa() instead of __pa() in xencomm_map() and
    xencomm_map_no_alloc().
    They should work for statically allocated area. On ia64 it isn't
    in
    straight mapping area so that xencomm_pa() is necessary.
  - add gcc bug work around. gcc 4.1.2 doesn't handle properly
    variables on stack with align attribute.
    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16660

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>)
17 years ago[LINUX] drivers: Add missing includes
kfraser [Mon, 13 Aug 2007 15:40:36 +0000 (16:40 +0100)]
[LINUX] drivers: Add missing includes

This patch adds missing includes that currently work through indirect
inclusions.  This cannot be relied on and indeed does break on older
kernels (2.4 with PV-on-HVM).

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years ago[LINUX] hypercall: Handle hypcercall_stub as a macro
kfraser [Mon, 13 Aug 2007 15:40:07 +0000 (16:40 +0100)]
[LINUX] hypercall: Handle hypcercall_stub as a macro

This patch handles the case where hypercall_stub is a macro.  This
will happen under 2.4 when hypercalls are made from a module.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years ago[LINUX] netfront: Cleanup and fix TSO/GSO/CHECKSUM conditionals
kfraser [Mon, 13 Aug 2007 15:33:35 +0000 (16:33 +0100)]
[LINUX] netfront: Cleanup and fix TSO/GSO/CHECKSUM conditionals

This patch tries to minimise the amount of code that is conditionally
compiled.  This is desirable (and the Linux way) as it helps to
prevent people breaking code unwittingly since conditionals may hide
compile problems.

It also adds a missing conditional around the TSO ethtool operations.

This also helps the building of netfront under Linux 2.4 which
doesn't have TSO.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years agonet front: Avoid deref'ing skb after it is potentially freed.
kfraser [Mon, 13 Aug 2007 11:21:19 +0000 (12:21 +0100)]
net front: Avoid deref'ing skb after it is potentially freed.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years ago[IA64] Default to xvc console
Alex Williamson [Sun, 12 Aug 2007 21:04:04 +0000 (15:04 -0600)]
[IA64] Default to xvc console

Based on patch from Aron Griffis

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
17 years agomerge with linux-2.6.18-xen.hg
Alex Williamson [Sun, 12 Aug 2007 20:50:32 +0000 (14:50 -0600)]
merge with linux-2.6.18-xen.hg

17 years ago[IA64] vga_con doesn't exist without CONFIG_VGA_CONSOLE
Alex Williamson [Sun, 12 Aug 2007 18:09:27 +0000 (12:09 -0600)]
[IA64] vga_con doesn't exist without CONFIG_VGA_CONSOLE

Signed-off-by: Simon Horman <horms@verge.net.au>
17 years agoxen: Remove unused "cpu_set_initialized"
kfraser [Thu, 9 Aug 2007 15:16:28 +0000 (16:16 +0100)]
xen: Remove unused "cpu_set_initialized"
Signed-off-by: Chris Lalancette <clalance@redhat.com>
17 years agoSuppress all use of ISA DMA on Xen.
kfraser [Thu, 9 Aug 2007 15:13:10 +0000 (16:13 +0100)]
Suppress all use of ISA DMA on Xen.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
17 years agoxen: Two comment fixes.
kfraser [Tue, 7 Aug 2007 08:37:41 +0000 (09:37 +0100)]
xen: Two comment fixes.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoxencons: Default to xvc0. 'xencons=tty' gets old domU behaviour.
kfraser [Tue, 7 Aug 2007 07:58:08 +0000 (08:58 +0100)]
xencons: Default to xvc0. 'xencons=tty' gets old domU behaviour.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agomerge with linux-2.6.18-xen.hg
Alex Williamson [Wed, 1 Aug 2007 22:41:06 +0000 (16:41 -0600)]
merge with linux-2.6.18-xen.hg

17 years ago[IA64] Introduce xen specific gate page.
Alex Williamson [Wed, 1 Aug 2007 17:23:36 +0000 (11:23 -0600)]
[IA64] Introduce xen specific gate page.

With this transparent paravirtualization over head is eliminated.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Preparation patch for xen specivic gate page
Alex Williamson [Wed, 1 Aug 2007 15:53:36 +0000 (09:53 -0600)]
[IA64] Preparation patch for xen specivic gate page

Move __kernel_sigtramp up to allow to increase in
__kernel_syscall_via_epc size.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Set rr0 to rr4 hyperprivop
Alex Williamson [Wed, 1 Aug 2007 15:44:54 +0000 (09:44 -0600)]
[IA64] Set rr0 to rr4 hyperprivop

Introduce ia64_set_rr0_to_rr4() and paravirtualize it to eliminate
hyperprivop overhead.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[NET] netloop: Do not clobber cloned skb page frags
kfraser [Wed, 1 Aug 2007 14:16:46 +0000 (15:16 +0100)]
[NET] netloop: Do not clobber cloned skb page frags

The netloop driver tries to localise foreign mappings by
copying them.  Unfortunately, it does so by directly modifying
skb page frags without checking whether the skb is cloned or
not.  In fact, the packet is going to be cloned more often
than not.

This may result in either data corruption on DMA or a
page fault in dom0 which kills the whole machine.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years agoblktap: Remove broken debug code.
kfraser [Wed, 1 Aug 2007 08:23:46 +0000 (09:23 +0100)]
blktap: Remove broken debug code.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoWait for up to 5 minutes for devices to connect.
Ian Campbell [Tue, 31 Jul 2007 14:47:11 +0000 (15:47 +0100)]
Wait for up to 5 minutes for devices to connect.

Heavy load in domain 0 can cause very long delays setting up the
backend.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
17 years ago[IA64] Update buildconfigs
Alex Williamson [Mon, 30 Jul 2007 17:46:14 +0000 (11:46 -0600)]
[IA64] Update buildconfigs

XEN_DEVMEM is now dropped by make oldconfig

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
17 years ago[IA64] Fix xen_ssm_i()
Alex Williamson [Mon, 30 Jul 2007 17:05:55 +0000 (11:05 -0600)]
[IA64] Fix xen_ssm_i()

Otherwise interruption may not be delivered.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
17 years ago[IA64] Mark resource list functions __devinit
Alex Williamson [Mon, 30 Jul 2007 17:03:04 +0000 (11:03 -0600)]
[IA64] Mark resource list functions __devinit

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
17 years ago[IA64] Issue ioremap hypercall in pci_acpi_scan_root()
Alex Williamson [Mon, 30 Jul 2007 17:01:27 +0000 (11:01 -0600)]
[IA64] Issue ioremap hypercall in pci_acpi_scan_root()

This setups up mapping in /dev/mem.

Signed-off-by: Jun Kamada <kama@jp.fujitsu.com>
17 years ago[IA64] Disable paravirtualization to remap /dev/mem.
Alex Williamson [Mon, 30 Jul 2007 16:53:36 +0000 (10:53 -0600)]
[IA64] Disable paravirtualization to remap /dev/mem.

Signed-off-by: Jun Kamada <kama@jp.fujitsu.com>
17 years ago[IA64] Revert paravirtualization to ioremap /proc/pci
Alex Williamson [Mon, 30 Jul 2007 16:51:55 +0000 (10:51 -0600)]
[IA64] Revert paravirtualization to ioremap /proc/pci

Signed-off-by: Jun Kamada <kama@jp.fujitsu.com>
17 years agoConfig ACPI_PV_SLEEP depends on ACPI_SLEEP.
Keir Fraser [Sat, 28 Jul 2007 07:45:07 +0000 (08:45 +0100)]
Config ACPI_PV_SLEEP depends on ACPI_SLEEP.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agomerge with linux-2.6.18-xen.hg
Alex Williamson [Fri, 27 Jul 2007 14:15:50 +0000 (08:15 -0600)]
merge with linux-2.6.18-xen.hg

17 years agoBLKFRONT: Make sure we don't use bounce buffers, we don't need them.
Ian Campbell [Fri, 27 Jul 2007 13:45:36 +0000 (14:45 +0100)]
BLKFRONT: Make sure we don't use bounce buffers, we don't need them.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
17 years ago[IA64] defconfig update
Alex Williamson [Thu, 26 Jul 2007 20:33:50 +0000 (14:33 -0600)]
[IA64] defconfig update

Remove Radeon framebuffer, even if you have a radeon VGA, you
don't necessarily want the framebuffer.  Add framebuffer console
support for pvfb.  Other changes pulled in automatically from
make oldconfig.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>