Commit Graph
10388 Commits
Author SHA1 Message Date
awilliam@xenbuild.aw 331da5acb2 [IA64] reset_system
Cleanup: EFI_RESET_SYSTEM now always calls domain_shutdown.
machine_restart and machine_halt calls efi reset_system to do their job.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 09:51:58 -06:00
awilliam@xenbuild.aw 7515eac375 [IA64] cleanup in domain.c
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 09:47:19 -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
awilliam@xenbuild.aw db9d4b7c78 [IA64] clean up "assign domain page ... already mapped!" printks
Signed-off-by: Al Stone <ahs3@fc.hp.com>
2006-06-15 08:46:43 -06:00
awilliam@xenbuild.aw 9f4691e169 [IA64] do not use interrupt_mask_addr inside Xen
Create current_psr_i_addr per cpu variables.
Inside Xen, do not use interrupt_mask_addr because it can be modified by
the guest.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 08:42:34 -06:00
awilliam@xenbuild.aw e9b1761432 [IA64] let VMM do itc sync for guest on VTI domain
Previously, on SMP VTI-domain, Guest OS was responsible for
syncing itc by calling ia64_sync_itc, but the round trip may
be very large on VTI domain, that may cause guest itcs are
not synced well and cause guest wall clock is not accurate.

This patch intends to fix this issue, when guest wants to sync
itc( vcpus other than vcpu0 write itc), VMM directly get vcpu0
itc for other vcpus.

Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-06-14 16:05:45 -06:00
awilliam@xenbuild.aw 81bde47964 [IA64] cleanup warnings in mm.c
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-06-14 16:05:44 -06:00
awilliam@xenbuild.aw 4b6684a083 [IA64] Fix a bug in vmx_vcpu_pta
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-06-14 16:05:43 -06:00
awilliam@xenbuild.aw 2f34410a22 [IA64] Remove redundant ASSIGN_DOMAIN_MACH_PAGE in dom_fw.c
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-06-14 16:05:42 -06:00
awilliam@xenbuild.aw 6ea824a3f6 [IA64] Fix vga acceleration for VTI domain
Now guest vhpt table of VMX domain is searched to insert some
entry into vtlb on the fly. However previous guard on memory 
attribute is only done for guest itc.d emulation. That breaks
VGA acceleration and this patch fixes it by moving check to
right place.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-06-13 15:05:33 -06:00
awilliam@xenbuild.aw f9f021d18d [IA64] Pull changes from xen-unstable.hg cset 10242 into mm.c
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 13:13:39 -06:00
awilliam@xenbuild.aw af12de808b [IA64] Remove Makefile entry for xenia64_init
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 12:50:47 -06: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 dcdd40d2e6 [IA64] define virt_to_mfn and mfn_to_virt
These are necessary to build w/ current xen-unstable

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 09:35:43 -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
awilliam@xenbuild.aw 3e3a7bb8f3 [IA64] cleanup warning in xen/arch/ia64/linux-xen/time.c
Remove a wrong cleanup in xen/arch/ia64/linux-xen/time.c
itc_ratio.num and itc_ratio.den are defined u64 
in xen/include/asm-ia64/linux-xen/asm/pal.h.
These are the below.

typedef struct pal_freq_ratio {
        u64 den : 32, num : 32; /* numerator & denominator */
} itc_ratio, proc_ratio;

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-06-13 08:55:08 -06:00
awilliam@xenbuild.aw b2f4668542 [IA64] Update efi.c and rework xenheap location
This is a port of a newer upsteam efi.c to xen/ia64.  For the most
part, this patch is simply incorporating this upstream linux-ia64
patch into the tree:

http://www.kernel.org/hg/linux-2.6/?cs=fb781f6d3e81

To support this new code, xensetup needed to be modified to relocate
the dom0 kernel and initrd images without using efi_memmap_walk() as
this can no longer be called until after reserve_memory().  The dom0
kernel and initrd images are now only moved if necessary and the xen
MDT entry is expanded to cover the xenheap area and any relocated dom0
bits.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 08:45:22 -06:00
kaf24@firebug.cl.cam.ac.uk 6a551e7f23 [HVM] Fix ioemu build with new Linux headers. We must define __user
attribute to nothing.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 11:41:15 +01:00
kaf24@firebug.cl.cam.ac.uk 4f69360976 [XEN] Fix compatibility with future guests which may try to
use hypercalls >= NR_hypercalls. These must fail with ENOSYS,
but the current strategy of masking off the high-order bits of
the hypercall number means we instead map those hypercalls onto
lower-numbered hypercalls with unpredictable results. This patch
replaces masking with an explicit compare-and-jump.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 11:28:20 +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
kfraser@dhcp93.uk.xensource.com ea266bc5e8 [LINUX] Fix code indentation in Linux drivers.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-12 18:32:47 +01:00
Ian.Campbell@xensource.com 94850192ba Initialize the entire hypercall page when running a ring0 kernel
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-06-12 18:23:42 +01:00
shand@chelmsford.uk.xensource.com 9f640de2b0 Fix race in device resume path - need to ensure we add the watch only
after the device-specific resume code has run. Also removed some unused / 
usless code from netfront.c. 

Signed-off-by: Steven Hand <steven@xensource.com>
2006-06-12 17:56:20 +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 2965c646ee [HVM][VMX] Fix error-detection inline asm code. Zero word-sized
register before executing SETNA instruction which updates bottom
byte.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-12 12:01:32 +01:00
kaf24@firebug.cl.cam.ac.uk 16ee61ce2a [HVM][VMX] Fix the build with certain versions of gcc.
Restrict register choices to this which are byte addressable.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-12 10:09:44 +01:00
kaf24@firebug.cl.cam.ac.uk d25cfced92 [XEN] Fix read_console_ring() when passed a small buffer.
From: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-12 10:05:55 +01:00
kaf24@firebug.cl.cam.ac.uk 7cc16fdd1b [LINUX] Clean up unused variable in mm/memory.c.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-06-12 09:57:23 +01:00
kaf24@firebug.cl.cam.ac.uk efeb20bcb5 [HVM][VMX] Provide right view of cpuid to the HVM guests.
Some of the CPU features such as APIC, PAE, MTRR, HT are virtualized;
while others are not virtualized yet such as TM1, TM2, MCA and there are
some features which do not need virtualization such as MMX. With the
patch Guest sees only those processor features in the cpuid which are
virtualized in the hyper visor, or do not need any virtualization in
hypervisor.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Asit Mallick <asit.k.mallick@intel.com>
2006-06-12 09:45:03 +01:00
kaf24@firebug.cl.cam.ac.uk cd9d70925c [HVM][DM] Backport the USB support from QEMU 0.8.1 to the current Xen
device model. To support USB there are two new optional config lines
that can be added to the guest config file:

    usb=1
        This will enable USB without defining a specific USB device.
        This option is assumed and not needed if the `usbdevice' option
        is given.

    usbdevice='device'
        This will enable USB and also enable support for the given device.
        Currently, the only two devices are `mouse' (a PS/2 mouse) and
        `tablet' (an absolute pointing device).  The advantage of `tablet'
        is that Windows guests will automatically recognize and support this
        device so specifying the config line:

                usbdevice='tablet'

        will create a mouse that works transparently with Windows guests
        under VNC.  (Linux doesn't recognize the USB tablet yet so Linux
        guests under VNC will still need the Summagraphics emulation.)

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
2006-06-12 09:06:55 +01:00
kaf24@firebug.cl.cam.ac.uk fb674fd949 [IA64] Fix a typo in local_event_delivery_enable().
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2006-06-12 08:53:38 +01:00
kaf24@firebug.cl.cam.ac.uk 6553807e77 [XEN] Fix SCHEDOP_poll to work even when event channels are
not bound to the polling VCPU.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-11 19:23:31 +01:00
kaf24@firebug.cl.cam.ac.uk 81f8f63e5e [HVM][VMX] Cleanups and fixes to VMCS lifecycle.
1. Maintain a 'launched' software flag to select between
    VMLAUNCH and VMRESUME.
 2. Take more care with VMPTRLD/VMCLEAR.
Also various other fixes (e.g., safe testing of
condition codes after executing a VMX instruction).

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-11 14:33:16 +01:00
kaf24@firebug.cl.cam.ac.uk 0f71d8d704 [LINUX] Fix IRQ SMP affinity logic for event channels.
The logic now mimics native x86 behaviour: a request to change
affinity via /proc is held until the next interrupt on that
event channel. So /proc/irq/n/smp_affinity may not change
immediately!
Other notes:
 1. CPU-specific interrupts silently ignore requests to change
    affinity. For example, resched0, timer0, callfunc0, ...
 2. Reading smp_affinity always returns a cpumask containing
    a single cpu. An event channel can only be bound to a single
    cpu at a time. Neither Xen nor XenLinux implement IRQ
    balancing: requires a user-space balancing daemon.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-11 09:54:35 +01:00
kaf24@firebug.cl.cam.ac.uk e5617c303f [XEN] Replace direct common-code access of evtchn_upcall_mask
with local_event_delivery_* accessors.
Notes:
 1. Still some (read-only, debug) use in keyhandler.c
 2. Still accesses through current->vcpu_info.
Both above may need to be compiled only for architectures
that use event channels.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-10 11:07:11 +01:00
kaf24@firebug.cl.cam.ac.uk 6e9ae8d1e8 [LINUX] Remove the only use of evtchn_upcall_mask in common code.
Replace with an assertion of irq_disabled().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-10 11:05:11 +01:00
awilliam@xenbuild.aw 306a92d89d [IA64] Change PIB size to 2M
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
2006-06-09 10:40:31 -06:00
awilliam@xenbuild.aw e8525ec863 [IA64] A fix for itc.d emulation
If natpage, insert into TLB directly.

Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
2006-06-09 10:35:45 -06:00
awilliam@xenbuild.aw 65b976d827 [IA64] add seqlock to protect vtlb
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-09 10:35:43 -06:00
awilliam@xenbuild.aw c6875abe5d [IA64] remove some races between the p2m table and the m2p table
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-09 10:35:42 -06:00
awilliam@xenbuild.aw 94de02679f [IA64] passthrough EFI_ACPI_MEMORY_NVS and EFI_RESERVED_TYPE
According to the EFI spec, firmware may describe ACPI tables loaded
at runtime in EFI_RESERVED_TYPE or EFI_ACPI_MEMORY_NVS memory ranges.
This patch adds these to the list of memory types we pass through for
dom0.  This allows Xen to boot on HP Superdomes.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-09 10:35:41 -06:00
awilliam@xenbuild.aw 58e5a0227d [IA64] use get_gpfn_from_mfn()
clean up vmx_vcpu_tpa() and mfn_to_gmfn(). don't access mpt_table directly.
use get_gpfn_from_mfn()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-09 10:35:40 -06:00
awilliam@xenbuild.aw 7839282e3d [IA64] use pte_mem() in relinquish_pte()
use pte_mem instread of direct bit test in relinquish_pte()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-09 10:35:39 -06:00
awilliam@xenbuild.aw eb4c00fc51 [IA64] add memory barrier to domain_flush_vtlb_range()
add memory barrier to domain_flush_vtlb_range().
vtlb purge must be visible before vhpt invalidation.
added some BUG_ON().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-09 10:35:38 -06:00
awilliam@xenbuild.aw 774ae11f51 [IA64] Add NULL test in domain_page_mapped()
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-09 10:35:37 -06:00
awilliam@xenbuild.aw 58f8dc1cba [IA64] align pages in assign_domain_same_page()
Fix a bug. potential miss of page assignment for domain.
If mpaddr and size are not aligned well, the last page might be not
assigned for the domain.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-06-09 10:35:36 -06:00
kaf24@firebug.cl.cam.ac.uk 10d0541c1d [XEN] VCPU operation register_runstate should work even when
called from non-local VCPU. Necessary as Linux always calls
this operation from VCPU0 during secondary-VCPU bringup.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-09 17:05:09 +01:00