Commit Graph
10433 Commits
Author SHA1 Message Date
awilliam@xenbuild.aw e836cc40e4 [IA64] fix mfn_to_local_pfn() for dma context
Thanks to Kevin for tracking down this problem.  This is a temporary
solution until we come up with something better for ia64.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-20 10:40:14 -06:00
awilliam@xenbuild.aw 1dcdc118ac [IA64] dummy print_stack() func for NO_TRANSLATION path
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-19 14:55:13 -06:00
awilliam@xenbuild.aw afe2dd0bc8 [IA64] fix ptc.ga virtualization
fix ptc.ga virtualization. Uninitialized vcpu doesn't need tlb flush.
ptc_ga_remote_func() calls vmx_vcpu_ptc_l() in IPI context.
I.e. vcpu may not equal to current. On the other hand vmx_vcpu_ptc_l()
assumes vcpu = current. remove the assumption.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 13:45:42 -06:00
awilliam@xenbuild.aw 67799254d1 [IA64] display vmx fault messges
This patch modifies the vmx fault handler to display a message when a
fault occurs in hypervisor.

This includes the followings:

- Break 0 handler is modified to check psr.vm bit instead of cpl.
- External interrupt handler is modified to get current using
MINSTATE_GET_CURRENT instead of r21.  r21 has been used in DO_SAVE_MIN
which is called from other fault handlers.  I'm not sure why the
original vmx fault handler gets the current from r21.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Tetsu Yamamoto <yamamoto.tetsu@jp.fujitsu.com>
2006-06-19 13:42:34 -06:00
awilliam@xenbuild.aw 75673932b6 [IA64] fix is_kernel_text in xenctx and show more registers
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-06-19 13:35:49 -06:00
awilliam@xenbuild.aw 832cc7c654 [IA64] enable xenctx on ia64
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-19 13:26:45 -06:00
awilliam@xenbuild.aw f324f677cf [IA64] add comments on smp
add notes on smp to mm.c

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 13:15:31 -06:00
awilliam@xenbuild.aw 708089b532 [IA64] remove unnecessary vtlb_lock
remove vtlb_lock.
As Tristan pointed out, vtlb_lock is unnecesary.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 13:13:01 -06:00
awilliam@xenbuild.aw ad11706405 [IA64] add get_page() to prevent from freeing page
get_page() when access a page of domain.
pages can be removed from domain and freed by another cpu.
To prevent accessing freeing page, use get_page() and put_page()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 13:06:53 -06:00
awilliam@xenbuild.aw f5a47bf5f4 [IA64] fix races caused by p2m entry update
fixed some races in ia64_do_page_fault(), vcpu_itc_i(), vcpu_itc_d() and vcpu_fc().
introduce struct p2m_entry and check it later and try it again.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 13:00:37 -06:00
awilliam@xenbuild.aw ad2cc6b370 [IA64] add INVALID_MFN check to dom0vp_zap_physmap()
guest_physmap_remove_page() should check mfn.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 12:54:34 -06:00
awilliam@xenbuild.aw ea748885d1 [IA64] add volatile to p2m table pte entry
add volatile pte entry of the p2m table.
Since p2m table are shared by cpu. volatile is needed.
fix the races in pte access of __assign_domain_page() and
destroy_grant_host_mapping()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 12:52:38 -06:00
awilliam@xenbuild.aw 6b750fd711 [IA64] add volatile to mpt_table
mpt_table is accessed concurrently by cpus, so it needs volatile qualifier

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-19 12:13:11 -06:00
awilliam@xenbuild.aw 9beb92215a merge with xen-unstable.hg 2006-06-16 10:18:54 -06:00
awilliam@xenbuild.aw 02395c12da merge with xen-unstable.hg 2006-06-16 09:10:08 -06:00
awilliam@xenbuild.aw 8c5baae7fc [IA64] cleanup
Disable a privify path.
Cleanup: warnings and static.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-16 09:06:40 -06:00
kfraser@dhcp93.uk.xensource.com 516250dac6 [XEN] New memory_op XENMEM_exchange. Allows atomic
exchange of one memory reservation for another of the
same size, but with different properties.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 14:43:54 +01:00
kaf24@firebug.cl.cam.ac.uk 12217db9c5 [LINUX] Export new gnttab_cancel_free_callback() to modules.
Signed-off-by: Charles Arnold <carnold@novell.com>
2006-06-16 10:52:49 +01:00
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06:00
awilliam@xenbuild.aw e55daf766f [IA64] enable Xen compilation with debug=y
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 10:02:53 -06:00
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
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 89f1d989d2 [MINI-OS] Fix for event initialisation in Mini-OS. All events are masked when
the system is started up. This prevents from getting spurious events  
between hypercall to bind an event-channel and registering  
appropriate event handler.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-06-15 13:20:43 +01:00
kaf24@firebug.cl.cam.ac.uk d406847ecc [LINUX] Network buffers do not need to be multi-page contiguous
for unprivileged domains (in any case, can fall back to swiotlb).
On non-privileged domain of Xen/IA64, this caused some trouble.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-15 13:19:04 +01:00
kaf24@firebug.cl.cam.ac.uk 76f880fe7d [TOOLS] Introduce xc_evtchn_*() interface for interacting with /dev/xen/evtchn.
No longer open the device as non-blocking: all reads immediately follow
a select() on the device indicating it's ready to read.

Signed-off-by: John Levon <john.levon@sun.com>
2006-06-15 13:11:31 +01:00
emellor@leeni.uk.xensource.com a8bdc8130e Catch ValueError and OverflowError, to diagnose bad arguments.
Signed-off-by: Hiroyuki Yamamoto <yamamoto.hiroyu@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2006-06-15 11:52:23 +01: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
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
kaf24@firebug.cl.cam.ac.uk c33ae33cb8 [HVM][QEMU] Fix SDL mouse "invisible wall".
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
2006-06-14 22:15:13 +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
kfraser@dhcp93.uk.xensource.com a5e28e588e [XEN] Abstract setting of master event-pending flag into asm/event.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 13:48:04 +01:00
kfraser@dhcp93.uk.xensource.com e8ef894fec [XENSTAT] Fix two realloc() usage errors in xenstat.
Based on original patch from Jimi Xenidis at IBM.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 13:31:38 +01:00
kaf24@firebug.cl.cam.ac.uk 2fd80b3aac [NET] front: Discard packets in tx ring rather than attempting retransmit
when reconnecting to backend driver (e.g., after save/restore or migrate).

Two main reasons for this: 
 1. The retransmit code is broken for fragmented packets. It would need
    a rewrite to cope with the new scatter-gather format.
 2. We will drop packets anyway, in both directions (e.g., takes some
    time for received packets to be redirected to new virtual interface;
    also further transmitted packets from the network stack are dropped
    after we call netif_carrier_off(), so even if we retransmite what's
    already in the ring it is likely that some subsequent packets will
    already be lost).

If this causes downtimes that are too long (particularly for live
relocation) then the whole strategy for buffering packets while the
frontend-backend connection is severed needs to be considered.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 13:11:44 +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
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 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
kfraser@dhcp93.uk.xensource.com 00dc8b3bf1 [TOOLS] Fix PAE save/restore/migrate: we must flush
all pending 'mmu updates' before moving page directories
below 4GB.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 17:30:30 +01: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