Commit Graph
537 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain a3546dd2fc linux: Fix backward compatibility in page table handling
A 3.0.2 compatibility requirement slipped my attention before
submitting the original page table handling changes.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-26 14:09:08 +00:00
Ian Campbell f380fac05a [LINUX] Purge include <linux/config.h>. It has been obsolete for some time now.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-02-23 16:56:45 +00:00
kfraser@localhost.localdomain 2b1b3844b2 linux: Fix current_vcpu_info for UP case
Under !CONFIG_SMP, smp.h is not always included and hence
smp_processor_id() not always visible.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-23 10:43:00 +00:00
awilliam@xenbuild2.aw 5a0cbf9162 merge with xen-unstable.hg 2007-02-20 12:58:22 -07:00
kfraser@localhost.localdomain 99f8ff2844 linux: Fix swiotlb bug-out due to uninitialised end_pfn/max_mapnr.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-20 12:27:03 +00:00
kfraser@localhost.localdomain 2d59634928 linux/x86: Clean up page table handling headers
- remove dead code
- fix line breaking and space vs. tab usage
- remove redundant parentheses

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-20 09:41:32 +00:00
kfraser@localhost.localdomain eee7931c83 linux/x86: Adjust and fix page table handling.
Ensure that all and only those page table entries that have their
present bit set undergo p2m/m2p translation in all relevant places.
This should fix migration issues with _PAGE_PROTNONE pages which
previously could retain MFNs in PTEs while having the present bit
clear (and thus were not getting (un)canonicalized during save/
restore).

Many thanks to Keir Fraser for his analysis, suggestions, and
corrections.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-20 09:33:14 +00:00
kfraser@localhost.localdomain 5f855af627 linux: Fix 32-bit build after changeset 13993:168030c8e0a93d8401cf5e783e10ecdf0938abda
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-19 22:50:07 +00:00
kfraser@localhost.localdomain 408c8a79de linux: Introduce {current_,}vcpu_info.
Also consolidate time-xen.c in giving get_time_values_from_xen() a
'cpu' parameter to match other functions (this consolidation could of
course also be done the other way around, but I think this way the
resulting code can be more efficient).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-19 16:11:56 +00:00
Keir Fraser bbf3a3eebd linux: vmalloc_sync_all() is not a no-op when running in PAE mode on Xen.
Also vmalloc_sync_all() is only defined for x86 architectures so make
use of it in driver code conditional on CONFIG_X86.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-17 13:26:33 +00:00
kfraser@localhost.localdomain 090fa70b37 linux: remove {lock,unlock}_vm_area(). Instead use vmalloc_sync_all()
in alloc_vm_area().
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-16 11:24:10 +00:00
kfraser@localhost.localdomain 07c2f1f3b0 linux: avoid need to modify include/linux/pfn.h
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-15 13:49:04 +00:00
kfraser@localhost.localdomain 5ce8fafa94 Dynamic grant-table sizing.
Signed-off-by: Christopher CLark <christopher.clark@cl.cam.ac.uk>
Signed-off-by: Andrei Petrov <andrei.petrov@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-15 10:54:12 +00:00
awilliam@xenbuild2.aw b98d4e619b [IA64] dma-mapping.h user our own swiotlb.h header
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
2007-02-12 10:02:10 -07:00
kfraser@localhost.localdomain 6f7ae0fe6f Merge with xen-ia64-unstable.hg. 2007-02-08 17:27:30 +00:00
Keir Fraser a9a8f70bdf Remove unnecessarily modified a.out.h.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-08 17:21:04 +00:00
awilliam@xenbuild2.aw a6e547a237 merge with xen-unstable.hg 2007-02-04 12:24:53 -07:00
kfraser@localhost.localdomain e03f6e62c8 linux: Allow xenbus_strstate() to be used from modules.
The function is referenced by a number of DPRINTK()-s. Also, properly
const-ify it.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-02 16:04:11 +00:00
awilliam@xenbuild2.aw 2353f24ee8 [IA64] Add arch_free_page()
Without this, Linux can hit bad_page()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-01-31 10:59:56 -07:00
awilliam@xenbuild2.aw c77420064f [IA64] Remove PG_foreign hack
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-01-28 16:37:02 -07:00
awilliam@xenbuild2.aw 2be162b951 [IA64] New resend_irq_on_evtchn() params
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-01-28 16:33:18 -07:00
kfraser@localhost.localdomain d32128e96e bimodal blkback: Support multiple ring protocols.
This is needed for 32-on-64 support.  Right now there are three
protocols: native, x86_32 and x86_64.  If needed it can be extended.

Interface changes (io/blkif.h)
 * Define the x86_32 and x86_64 structs additionally to the native
   version.
 * Add helper functions to convert them requests to native.

Backend changes:
 * Look at the "protocol" name of the frontend and switch ring
   handling accordingly.  If the protocol node isn't present it
   assumes native protocol.
 * As the request struct is copied anyway before being processed (for
   security reasons) it is converted to native at that point so most
   backend code doesn't need to know what the frontend speaks.
 * In case of blktap this is completely transparent to userspace, the
   kernel/userspace ring is always native no matter what the frontend
   speaks.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
2007-01-24 10:38:17 +00:00
kfraser@localhost.localdomain 50f5003308 linux: Fix enable_irq() crash by removing a BUG_ON() assumption in our
event-channel retrigger() function. Also clean up bitmap usages.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-23 13:39:20 +00:00
kfraser@localhost.localdomain 525a723565 linux/i386: widen physical address range
32on64 supports 168Gb for 32-bit guests, hence at least 38 bits must
be specified here. The foreign frame bit is MFN bit 31, so the maximum
valid value here would be 43.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-22 15:57:19 +00:00
kfraser@localhost.localdomain 44a156d31f linux/i386: relax highpte pinning/write-protecting
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-22 15:42:13 +00:00
kfraser@localhost.localdomain f272b20670 Add unsuspend hook for resuming devices in the checkpoint parent.
Nothing uses it at the moment.

Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-01-19 16:11:31 +00:00
kfraser@localhost.localdomain 931818cacb Make xen_suspend handle resume.
Don't destroy xenstore watches on suspend, and only recreate them when
resuming in a new domain. Likewise, only invoke frontend device resume
code when in a new domain (the resume functions all tear down the
existing function and wait for the backend to negotiate a new one,
which does not happen in the source domain).

Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-19 16:06:09 +00:00
Christian Limpach c6a0a466fa [merge] with xen-unstable
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-01-19 14:48:57 +00:00
Christian Limpach 1a9914c007 [linux networking] Remove the code to allocate page sized skbs.
This is no longer used much since the default is to always copy packets
to guests.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-01-18 18:40:30 +00:00
Christian Limpach 361f8004cb [merge] with xen-unstable 2007-01-18 15:18:07 +00:00
Christian Limpach 54a1273470 [linux] Update to linux-2.6.18.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>


--HG--
rename : linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_pre.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch.h
rename : patches/linux-2.6.17/blktap-aio-16_03_06.patch => patches/linux-2.6.18/blktap-aio-16_03_06.patch
rename : patches/linux-2.6.17/fix-ide-cd-pio-mode.patch => patches/linux-2.6.18/fix-ide-cd-pio-mode.patch
rename : patches/linux-2.6.17/git-3566561bfadffcb5dbc85d576be80c0dbf2cccc9.patch => patches/linux-2.6.18/git-3566561bfadffcb5dbc85d576be80c0dbf2cccc9.patch
rename : patches/linux-2.6.17/git-4bfaaef01a1badb9e8ffb0c0a37cd2379008d21f.patch => patches/linux-2.6.18/git-4bfaaef01a1badb9e8ffb0c0a37cd2379008d21f.patch
rename : patches/linux-2.6.17/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch => patches/linux-2.6.18/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch
rename : patches/linux-2.6.17/i386-mach-io-check-nmi.patch => patches/linux-2.6.18/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.17/ipv6-no-autoconf.patch => patches/linux-2.6.18/ipv6-no-autoconf.patch
rename : patches/linux-2.6.17/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch => patches/linux-2.6.18/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
rename : patches/linux-2.6.17/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch => patches/linux-2.6.18/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
rename : patches/linux-2.6.17/net-csum.patch => patches/linux-2.6.18/net-csum.patch
rename : patches/linux-2.6.17/net-gso-5-rcv-mss.patch => patches/linux-2.6.18/net-gso-5-rcv-mss.patch
rename : patches/linux-2.6.17/net-gso-6-linear-segmentation.patch => patches/linux-2.6.18/net-gso-6-linear-segmentation.patch
rename : patches/linux-2.6.17/pmd-shared.patch => patches/linux-2.6.18/pmd-shared.patch
rename : patches/linux-2.6.17/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch => patches/linux-2.6.18/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch
rename : patches/linux-2.6.17/series => patches/linux-2.6.18/series
rename : patches/linux-2.6.17/x86-elfnote-as-preprocessor-macro.patch => patches/linux-2.6.18/x86-elfnote-as-preprocessor-macro.patch
rename : patches/linux-2.6.17/x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch => patches/linux-2.6.18/x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch
rename : patches/linux-2.6.17/x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch => patches/linux-2.6.18/x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch
rename : patches/linux-2.6.17/xen-hotplug.patch => patches/linux-2.6.18/xen-hotplug.patch
rename : patches/linux-2.6.17/xenoprof-generic.patch => patches/linux-2.6.18/xenoprof-generic.patch
2007-01-17 18:41:22 +00:00
awilliam@xenbuild2.aw b5a65552a9 merge with xen-unstable.hg 2007-01-15 15:15:26 -07:00
awilliam@xenbuild2.aw e6f3ffe5a0 [IA64] Implement hyper_get_psr
Mov from psr is used frequently by xeno.

Signed-of-by: Anthony Xu <anthony.xu@intel.com>
2007-01-12 13:01:25 -07:00
awilliam@xenbuild2.aw ee74bcacd5 [IA64] Simplify lazy cover algorithm
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2007-01-12 12:11:11 -07:00
kfraser@localhost.localdomain 87f272150c linux: Add trivial forwarding of dma_{,un}map_page when not using highmem
Use non-trivial dma_{un,}map_page only when CONFIG_HIGHMEM, allowing
to not compile swiotlb_{un,}map_page in that case, which in neither
case need exporting.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 15:35:52 +00:00
kfraser@localhost.localdomain d779bf9529 linux: Reduce restrictions on address width for DMA operations
Use address width needed by device rather than dma_bits in
dma_alloc_coherent().
Probe supported address width in swiotlb initialization.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 15:34:30 +00:00
Christian Limpach 432e7b62cb [linux] Update to linux-2.6.17.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>

--HG--
rename : patches/linux-2.6.16.33/blktap-aio-16_03_06.patch => patches/linux-2.6.17/blktap-aio-16_03_06.patch
rename : patches/linux-2.6.16.33/fix-hz-suspend.patch => patches/linux-2.6.17/fix-hz-suspend.patch
rename : patches/linux-2.6.16.33/fix-ide-cd-pio-mode.patch => patches/linux-2.6.17/fix-ide-cd-pio-mode.patch
rename : patches/linux-2.6.16.33/git-2a8a3d5b65e86ec1dfef7d268c64a909eab94af7.patch => patches/linux-2.6.17/git-2a8a3d5b65e86ec1dfef7d268c64a909eab94af7.patch
rename : patches/linux-2.6.16.33/git-2efe55a9cec8418f0e0cde3dc3787a42fddc4411.patch => patches/linux-2.6.17/git-2efe55a9cec8418f0e0cde3dc3787a42fddc4411.patch
rename : patches/linux-2.6.16.33/git-3566561bfadffcb5dbc85d576be80c0dbf2cccc9.patch => patches/linux-2.6.17/git-3566561bfadffcb5dbc85d576be80c0dbf2cccc9.patch
rename : patches/linux-2.6.16.33/git-4bfaaef01a1badb9e8ffb0c0a37cd2379008d21f.patch => patches/linux-2.6.17/git-4bfaaef01a1badb9e8ffb0c0a37cd2379008d21f.patch
rename : patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch => patches/linux-2.6.17/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch
rename : patches/linux-2.6.16.33/i386-mach-io-check-nmi.patch => patches/linux-2.6.17/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.16.33/ipv6-no-autoconf.patch => patches/linux-2.6.17/ipv6-no-autoconf.patch
rename : patches/linux-2.6.16.33/kasprintf.patch => patches/linux-2.6.17/kasprintf.patch
rename : patches/linux-2.6.16.33/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch => patches/linux-2.6.17/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
rename : patches/linux-2.6.16.33/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch => patches/linux-2.6.17/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
rename : patches/linux-2.6.16.33/net-csum.patch => patches/linux-2.6.17/net-csum.patch
rename : patches/linux-2.6.16.33/net-gso-0-base.patch => patches/linux-2.6.17/net-gso-0-base.patch
rename : patches/linux-2.6.16.33/net-gso-1-check-dodgy.patch => patches/linux-2.6.17/net-gso-1-check-dodgy.patch
rename : patches/linux-2.6.16.33/net-gso-2-checksum-fix.patch => patches/linux-2.6.17/net-gso-2-checksum-fix.patch
rename : patches/linux-2.6.16.33/net-gso-3-fix-errorcheck.patch => patches/linux-2.6.17/net-gso-3-fix-errorcheck.patch
rename : patches/linux-2.6.16.33/net-gso-4-kill-warnon.patch => patches/linux-2.6.17/net-gso-4-kill-warnon.patch
rename : patches/linux-2.6.16.33/net-gso-5-rcv-mss.patch => patches/linux-2.6.17/net-gso-5-rcv-mss.patch
rename : patches/linux-2.6.16.33/net-gso-6-linear-segmentation.patch => patches/linux-2.6.17/net-gso-6-linear-segmentation.patch
rename : patches/linux-2.6.16.33/pmd-shared.patch => patches/linux-2.6.17/pmd-shared.patch
rename : patches/linux-2.6.16.33/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch => patches/linux-2.6.17/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch
rename : patches/linux-2.6.16.33/series => patches/linux-2.6.17/series
rename : patches/linux-2.6.16.33/vsnprintf.patch => patches/linux-2.6.17/vsnprintf.patch
rename : patches/linux-2.6.16.33/x86-elfnote-as-preprocessor-macro.patch => patches/linux-2.6.17/x86-elfnote-as-preprocessor-macro.patch
rename : patches/linux-2.6.16.33/x86-increase-interrupt-vector-range.patch => patches/linux-2.6.17/x86-increase-interrupt-vector-range.patch
rename : patches/linux-2.6.16.33/x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch => patches/linux-2.6.17/x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch
rename : patches/linux-2.6.16.33/x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch => patches/linux-2.6.17/x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch
rename : patches/linux-2.6.16.33/xen-hotplug.patch => patches/linux-2.6.17/xen-hotplug.patch
rename : patches/linux-2.6.16.33/xenoprof-generic.patch => patches/linux-2.6.17/xenoprof-generic.patch
2007-01-12 14:30:49 +00:00
kfraser@localhost.localdomain e8922851b5 [LINUX] swiotlb: eliminate KM_SWIOTLB and thus the need for a Xen-specific kmap_types.h.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 10:31:16 +00:00
kfraser@localhost.localdomain 9f7105d6ac linux/i386: allow CONFIG_HIGHPTE on i386
While, as discussed, the performance impact of this option is
certainly higher than on native Linux, the option should not be
entirely disallowed if people want to sacrifice performance for less
lowmem pressure.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 10:28:54 +00:00
kfraser@localhost.localdomain 8f529b5deb [LINUX] x86/64: Sync pagetable management with i386 Xen code.
PUDs,PMDs,PTEs are all marked as ForeignPage so that they can be
grabbed from tlb_remove_page() at the appropriate time and freed in a
special way.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 10:22:36 +00:00
awilliam@xenbuild2.aw 68fa1896bb [IA64] Hypercall optimizations
provide hypercall the same path with system
most of scrach registers don't need to be saved/restored
it is good for performance

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2007-01-11 16:56:58 -07:00
awilliam@xenbuild2.aw a77c31c882 merge with xen-unstable.hg 2007-01-10 08:40:47 -07:00
awilliam@xenbuild2.aw 03cc744bdb [IA64] Use rum psr.be instead of XEN_HYPER_RSM_BE
Good for guest syscall performance

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2007-01-04 16:17:37 -07:00
awilliam@xenbuild2.aw a0fab920c5 [IA64] Fix warning when building with CONFIG_FLATMEM unset
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-01-04 15:28:16 -07:00
awilliam@xenbuild2.aw 571d6c1772 [IA64] remove the requirement (vpsr.ic==0) from hyperprivop
remove the requirement (vpsr.ic==0) from hyperprivop

There two reasons for this.
1. make xen-parse code more readable.
2. a little bit performance improvement

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2007-01-02 16:27:50 -07:00
kaf24@localhost.localdomain 47fad056d3 [LINUX] Extend the event-channel interfaces to provide helper methods
for creating interdomain event channels bound to IRQ handlers.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-30 18:23:27 +00:00
kfraser@localhost.localdomain a32030439b [LINUX][IA64] New file swiotlb.h.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-12-21 11:10:43 +00:00
kfraser@localhost.localdomain 576a882bc5 [LINUX] dma: Use swiotlb mask for coherent mappings too
The recent change to use a default DMA bit width of 30 bits (required
by chips like the b44) only converted the streaming DMA primitives.
The coherent mappings are still hard-coded to 31 bits.  This means
that b44 still doesn't work under Xen.

This patch makes the io_tlb_dma_bits variable global and uses it for
coherent memory mappings.

Thanks to Calvin Webster for providing a machine with a b44 and 2G
of memory I've been able to verify that this finally makes the b44
work under Xen.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Rename 'io_tlb_dma_bits' to the more correct 'dma_bits'. This also
affects the name of the boot parameter, which is now 'dma_bits='.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-20 11:21:04 +00:00
awilliam@xenbuild2.aw afdb8d0deb [IA64] don't dereference xen_start_info when running on raw hardware
Check we are running under Xen before trying to dereference
xen_start_info! xen_start_info is NULL on ia64 if running raw
hardware.  Based on patch by Jes Sorensen <jes@sgi.com>

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-12-19 12:40:06 -07:00
awilliam@xenbuild2.aw 5fb6147b15 [IA64] evtchn_callback fix and clean
Since we had changed to use event callback to deliver interrupts,

1. The pending_interruption is changed to pending_event.

2. get_ivr, set_tpr, get_trp and set_eoi are not used or only used
   in the initialization phase. There is no need to write this code
   in assembly.  This code is deleted.

3. hyper_ssm_i needs to be rewritten to jump to entchn_callback_handler
   instead of iva+0x3000 interrupt handler.  I will do this later.

Signed-off-by: Anthony Xu  <anthony.xu@intel.com>
2006-12-18 10:20:34 -07:00