Commit Graph
376 Commits
Author SHA1 Message Date
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06:00
kaf24@firebug.cl.cam.ac.uk 1bf1344c7c [LINUX][PAE] Fix e820 setup for PAE guests: preserve high-order bits of max_pfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-15 13:30:35 +01:00
kaf24@firebug.cl.cam.ac.uk be252f5f66 [LINUX][BLK] front: More care over device teardown.
1. We must ensure gnttab callbacks are disabled and all work
    flushed before tearing down device state. A new gnttab interface
    call is added for this purpose.
 2. blkif_free() must check for a request_queue before deref'ing it.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 11:19:53 +01:00
awilliam@xenbuild.aw 3d089e3ba1 merge with xen-unstable.hg 2006-06-13 12:12:24 -06:00
awilliam@xenbuild.aw ba7d0c6127 [IA64] Define mfn_to_local_pfn()
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 11:41:05 -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
Ian.Campbell@xensource.com c9c67d5a02 [LINUX] Correctly return the results of {event_channel_op,physdev_op}_compat
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-06-13 10:14:20 +01:00
kaf24@firebug.cl.cam.ac.uk 92fffc0727 [LINUX][XENBUS] replace xenbus_transaction_t with an opaque transaction ID.
xenbus_transaction_t -> struct xenbus_transaction, which just contains
a single u32.  Also renamed XBT_NULL to XBT_NIL to emphasize that it
isn't a NULL pointer, but a NIL transaction ID.  Compile and boot tested.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
[chrisw: updated for xen-unstable from patchqueue]
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2006-06-09 14:25:46 +01:00
kaf24@firebug.cl.cam.ac.uk 40c3d9a1be [LINUX][XENBUS] Drop (struct xenbus_device)->data, and simply use ->dev.driver_data
instead, since that's what it is there for.  Similar to patch
in patchqueue started by Jeremy, and expanded by me to include all
relevant drivers in xen-unstable.

Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2006-06-09 14:23:50 +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
kaf24@firebug.cl.cam.ac.uk 3f63cf9724 [LINUX] Only trigger unhandled irq path if irq is not shared across
multiple guests (another guest may have handled the interrupt).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-08 10:11:04 +01:00
kaf24@firebug.cl.cam.ac.uk 3729abf36e [LINUX] Rename hw_resend_irq to allow it to be defined seperately per arch.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-06-07 14:38:36 +01:00
kaf24@firebug.cl.cam.ac.uk d404680bc3 Use explicitly-sized types in the dom0_ops and privcmd structures.
As discussed previously, the these operations are not performance-sensitive, so
the additional cache footprint shouldn't be an issue.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-06 10:25:59 +01:00
kaf24@firebug.cl.cam.ac.uk ab8096f27d Represent PFNs with their own type, rather than 'unsigned long'.
('long' changes size and alignment between 32- and 64-bit ABIs.)
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-06 09:48:17 +01: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
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
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
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 84db3ab496 merge with xen-unstable.hg 2006-05-31 13:05:21 -06:00
kfraser@dhcp93.uk.xensource.com 1f9df5417a Fix ACM hypercall macros (broke the x86/64 and ia64 builds).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-31 13:26:10 +01:00
kaf24@firebug.cl.cam.ac.uk 9fea9fb410 [ACM] Add a hypervisor call macro to the linux kernel; it
completes the alignment of the ACM call interface with the other Xen 
hypervisor call interfaces. This macro is used to call from the a guest 
kernel directly into the ACM hypervisor module.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>
Signed-off by: Bryan D. Payne <bdpayne@us.ibm.com>
2006-05-31 07:23:54 +01:00
kaf24@firebug.cl.cam.ac.uk 6b85882e12 Fix x86/64 definition of dma_get_cache_alignment().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-31 07:20:36 +01: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
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
kaf24@firebug.cl.cam.ac.uk e8ea99cff2 Fix SMP boot for kernels without CONFIG_HOTPLUG_CPU.
The function cpu_is_allowed() appears that it should return a boolean
but in fact returns zero on success and an errno on failure. Thus
rename it to the more vague cpu_up_check(), in line with its return
value and thge fact it has unspecified side effects.

Fix the macro definition of cpu_up_check() when building non-hotplug
kernel to return zero rather than one (which always failed secondary
cpu bringup!).

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-28 09:46:30 +01:00
awilliam@xenbuild.aw 7a3587d6e5 merge with xen-unstable.hg 2006-05-26 13:41:49 -06:00
Ian.Campbell@xensource.com 1fa74a12d2 Move include/asm-x86_64/e820.h to include/asm-x86_64/mach-xen/asm/e820.h
This fixes the native build.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>


--HG--
rename : linux-2.6-xen-sparse/include/asm-x86_64/e820.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/e820.h
2006-05-26 11:23:55 +01: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
kaf24@firebug.cl.cam.ac.uk f7ea0be1ff Separate xenbusstate enumeration from typedef. Avoid using the typedef
in Linux coe as it is consider bad coding style.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-25 14:15:49 +01:00
awilliam@xenbuild.aw 80597c41d7 [IA64] GNTMAP_readonly support linux part
add read only mapping support.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-24 10:59:28 -06:00
awilliam@xenbuild.aw bc77a64b00 [IA64] work around ENOSYS vs EINVAL in ioremap
We should not panic the domain for an EINVAL return from the ioremap
hyerpcall.  This was only meant for ENOSYS.  Long term this is probably
not the best place for this kind of sanity checking.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-05-23 17:05:27 -06:00
awilliam@xenbuild.aw c7c052954b [IA64] Final patch to make evtchn fully working for xen/ia64
OK, this is the last one of patch sets, which enables xen/ia64 to work
on event channel mechanism fully. Now user may observe /proc/interrupts 
of dom0 as:

           CPU0
 34:         12        Phys-irq  ide0
 39:          0        Phys-irq  acpi
 45:        322        Phys-irq  serial
 48:     115006        Phys-irq  peth0
 49:      16269        Phys-irq  ioc0
 50:         31        Phys-irq  ioc1
 51:          2        Phys-irq  ehci_hcd:usb1
 52:          0        Phys-irq  uhci_hcd:usb2
 53:         55        Phys-irq  uhci_hcd:usb3
256:          0     Dynamic-irq  RESCHED0
257:          0     Dynamic-irq  IPI0
258:      44572     Dynamic-irq  timer0
259:       2316     Dynamic-irq  xenbus
260:       8304     Dynamic-irq  blkif-backend
261:      25947     Dynamic-irq  vif3.0
ERR:          0

Based on this patch, dom0's performance is not affected, while domU's
network output is seen with several percents increase. More important,
now xen/ia64 can progress a base step towards driver domain support!

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-05-23 09:17:57 -06:00
awilliam@xenbuild.aw a2b8c45b60 [IA64] Add do_callback_ops
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-05-23 08:24:09 -06:00
awilliam@xenbuild.aw 907079557f [IA64] Import linux header files
Import hw_irq.h and irq.h from linux

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-05-23 08:18:48 -06:00
kaf24@firebug.cl.cam.ac.uk c9d2f9fc59 Move Xen CPU hotplug code into new file cpu_hotplug.c.
Cleaner and allows use by architectures which aren't currently
using Xen's smpboot.c.

Based on an original patch by Tristan Gingold.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-23 12:05:08 +01:00
awilliam@xenbuild.aw 7e713108be merge with xen-unstable.hg 2006-05-22 14:13:38 -06:00
Ian.Campbell@xensource.com f715a4ce18 Convert x86/64 Linux to use the new memory map hypercall.
This change removes several of the differences between the bare-metal
and Xen versions.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-05-22 09:23:15 +01:00
Ian.Campbell@xensource.com 87fa9db8a1 Convert x86/32 Linux to use the new memory map hypercall.
This change removes several of the differences between the bare-metal
and Xen versions.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-05-22 09:23:03 +01:00
Ian.Campbell@xensource.com c9e03023f9 Add include/asm-x86_64/e820.h to sparse tree
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-05-22 09:21:58 +01:00
awilliam@xenbuild.aw 2cb5de3797 [IA64] add missing ia64_trace_syscall privop
This patch adds a missing privop definition for ia64_trace_syscall
when CONFIG_XEN is unset.  It also cleans up some inconsistent
spacing.

Signed-off-by: Aron Griffis <aron@hp.com>
2006-05-21 07:31:02 -06:00
kaf24@firebug.cl.cam.ac.uk c00e364b1f Introduce is_running_on_xen() to test whether we are running on Xen before
initialising a Xen-specific driver or subsystem.

For ia64:
 * Call xen_init in setup_arch.
 * Remove xen_ksyms.c

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-05-19 15:35:19 +01:00
awilliam@xenbuild.aw d05aa5ad74 [IA64] panic when ioremap hypercall fails.
This can occur when dom0 vp model xenlinux is used on P=M model xen/ia64.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-18 14:05:30 -06:00
kaf24@firebug.cl.cam.ac.uk 5856c39120 Remove Emacs variables settings from tail of our Linux files.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-18 11:39:03 +01:00
awilliam@xenbuild.aw 8d9e045fea [IA64] linux: remove dom0vp_populate_physmap hypercall
dom0 vp model: remove populate_physmap hypercall which becomes unnecesarry
because xenmem operation is fully supported by the previous patch.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-12 08:53:49 -06:00
cl349@firebug.cl.cam.ac.uk 15efc30a11 Add support to domain builders for loading kernels with physical addresses in the elf paddr and entry fields.
Add a new __xen_guest header field to distinguish between kernels with
the previous use of the paddr field and the new use.
Add a new __xen_guest header field to control the kernel entry point,
since the elf header entry field now points to a physical address.
This header field is also useful for supporting alternative entry
points in kernel images which run both on xen and native.
Also add a kernel config option to control whether the resulting kernel
should include compatibility code to run on Xen 3.0.2 or whether such
code such be left out, resulting in a kernel which will only run on
newer Xen versions.  Default to having compatibility enabled.
Kernels built with the new use of the elf header fields would otherwise
not work on Xen versions prior to this changeset.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-05-11 17:30:50 +01:00
kaf24@firebug.cl.cam.ac.uk 3ae4dcdda2 x86/64 has the wrong number of arguments defined for HYPERVISOR_xenoprof_op.
Signed-off-by: Ray Bryant <raybry@mpdtxmail.amd.com>
2006-05-11 13:45:10 +01:00
awilliam@xenbuild.aw cc53c58e4e [IA64] linux: MULTI_update_va_mapping definition to copmile netback and netfront
add trivial definitions, MULTI_UVMFLAGS_INDEX and MULTI_update_va_mapping()
to compile netback and netfront

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-10 15:58:36 -06:00
awilliam@xenbuild.aw 88c6b93850 [IA64] linux: maddr_t definition to compile netback and netfront
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-10 15:57:04 -06:00
awilliam@xenbuild.aw 9a47e068ff [IA64] linux: HYPERVISR_update_va_mapping()
add the trivial definition, HYPERVISOR_update_va_mapping(), to compile
balloon driver.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-09 11:50:27 -06:00