kaf24@firebug.cl.cam.ac.uk [Thu, 15 Jun 2006 12:30:35 +0000 (13:30 +0100)]
[LINUX][PAE] Fix e820 setup for PAE guests: preserve high-order bits of max_pfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 15 Jun 2006 12:20:43 +0000 (13:20 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Thu, 15 Jun 2006 12:19:04 +0000 (13:19 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Thu, 15 Jun 2006 12:11:31 +0000 (13:11 +0100)]
[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>
emellor@leeni.uk.xensource.com [Thu, 15 Jun 2006 10:52:23 +0000 (11:52 +0100)]
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>
kaf24@firebug.cl.cam.ac.uk [Thu, 15 Jun 2006 10:35:23 +0000 (11:35 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Wed, 14 Jun 2006 21:15:13 +0000 (22:15 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Wed, 14 Jun 2006 16:06:28 +0000 (17:06 +0100)]
[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>
kfraser@dhcp93.uk.xensource.com [Wed, 14 Jun 2006 12:48:04 +0000 (13:48 +0100)]
[XEN] Abstract setting of master event-pending flag into asm/event.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@dhcp93.uk.xensource.com [Wed, 14 Jun 2006 12:31:38 +0000 (13:31 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Wed, 14 Jun 2006 12:11:44 +0000 (13:11 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Wed, 14 Jun 2006 11:36:06 +0000 (12:36 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Wed, 14 Jun 2006 10:19:53 +0000 (11:19 +0100)]
[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>
kfraser@dhcp93.uk.xensource.com [Tue, 13 Jun 2006 16:30:30 +0000 (17:30 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 15:07:16 +0000 (16:07 +0100)]
[MINI-OS] Applications that provide their own app_main need not run the xenbus test.
Signed-of-by: John D. Ramsdell <ramsdell@mitre.org>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 14:56:28 +0000 (15:56 +0100)]
[LINUX] Eliminates a deadlock and reduce (sometimes significantly) the time
interrupts are off during context switch.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 14:41:27 +0000 (15:41 +0100)]
[XM-TEST] Fix 02_block_device_write_verify.py test to parse md5sum output correctly.
The 02_block_device_write_verify.py test that I wrote is failing because
the regular expression to extract the md5sum is only looking at the
first line of output and the sum is in a subsequent line (after the
output from dd).
This patch fixes the test by adding the multiline flag to the search
parameters so that the search looks in all lines of the output for the
md5sum. I added the multiline flag in all searches to make the tests
more robust against changes in the output format of the commands used.
I'm not exactly sure how this slipped through my testing. I suspect
that I forgot to install the new python file after updating the test to
use dd and then tested the old version a second time by accident.
Either that or it really did work when I tested it and the output format
has changed for some reason.
I tested this patch against xen-unstable 10326 and the 02 test fails
without the patch and succeeds with it.
Thanks to James Dykman for some help with this.
Signed-off-by Harry Butterworth <butterwo@uk.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 14:38:58 +0000 (15:38 +0100)]
[ACM] Provide the framework needed for resource labeling.
Subsequent patches will follow in the coming weeks that will enable
Xen ACM to control assignment of resources (e.g., block devices and
networking) to virtual machines based on resource labels and the
active security policy.
Signed-off-by: Bryan D. Payne <bdpayne@us.ibm.com>
Signed-off-by: Reiner Sailer <sailer@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 14:33:10 +0000 (15:33 +0100)]
[LINUX] A better way to stop blkdev request handling in blkfront
driver.
Signed-off-by: Keir Fraser <keir@xensource.com>
sos22@douglas.cl.cam.ac.uk [Tue, 13 Jun 2006 14:19:50 +0000 (15:19 +0100)]
Merge.
sos22@douglas.cl.cam.ac.uk [Tue, 13 Jun 2006 14:19:09 +0000 (15:19 +0100)]
Expand test_xenbus a little.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
sos22@douglas.cl.cam.ac.uk [Tue, 13 Jun 2006 14:17:01 +0000 (15:17 +0100)]
This patch exposes XenBus functions to Mini-OS applications.
Signed-of-by: John D. Ramsdell <ramsdell@mitre.org>
kfraser@dhcp93.uk.xensource.com [Tue, 13 Jun 2006 14:13:29 +0000 (15:13 +0100)]
[LINUX] Fix blkfront driver to check connection status to backend in
all critical circumstances.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@dhcp93.uk.xensource.com [Tue, 13 Jun 2006 13:36:04 +0000 (14:36 +0100)]
[TOOLS][BUILDER] Extend Elf header checks for multiple architectures.
Based on a patch from Hollis Blanchard.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@dhcp93.uk.xensource.com [Tue, 13 Jun 2006 13:08:37 +0000 (14:08 +0100)]
[LINUX] Export some tlb-flush functions to modules, which are
directly accessible via macros in tlbflush.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 10:41:15 +0000 (11:41 +0100)]
[HVM] Fix ioemu build with new Linux headers. We must define __user
attribute to nothing.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 13 Jun 2006 10:28:20 +0000 (11:28 +0100)]
[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>
Ian.Campbell@xensource.com [Tue, 13 Jun 2006 09:14:20 +0000 (10:14 +0100)]
[LINUX] Correctly return the results of {event_channel_op,physdev_op}_compat
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
kfraser@dhcp93.uk.xensource.com [Mon, 12 Jun 2006 17:32:47 +0000 (18:32 +0100)]
[LINUX] Fix code indentation in Linux drivers.
Signed-off-by: Keir Fraser <keir@xensource.com>
Ian.Campbell@xensource.com [Mon, 12 Jun 2006 17:23:42 +0000 (18:23 +0100)]
Initialize the entire hypercall page when running a ring0 kernel
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
shand@chelmsford.uk.xensource.com [Mon, 12 Jun 2006 16:56:20 +0000 (17:56 +0100)]
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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 13:17:05 +0000 (14:17 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 11:01:32 +0000 (12:01 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 09:09:44 +0000 (10:09 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 09:05:55 +0000 (10:05 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 08:57:23 +0000 (09:57 +0100)]
[LINUX] Clean up unused variable in mm/memory.c.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 08:45:03 +0000 (09:45 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 08:06:55 +0000 (09:06 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Mon, 12 Jun 2006 07:53:38 +0000 (08:53 +0100)]
[IA64] Fix a typo in local_event_delivery_enable().
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 11 Jun 2006 18:23:31 +0000 (19:23 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Sun, 11 Jun 2006 13:33:16 +0000 (14:33 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Sun, 11 Jun 2006 08:54:35 +0000 (09:54 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Sat, 10 Jun 2006 10:07:11 +0000 (11:07 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Sat, 10 Jun 2006 10:05:11 +0000 (11:05 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 16:05:09 +0000 (17:05 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 15:49:49 +0000 (16:49 +0100)]
[ACM] Replace enumerations with macros with qualified names.
Old unqualified enumeration names polluted the global namespace.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 15:26:05 +0000 (16:26 +0100)]
[XEN][ACM] Clean up ACM interface to use explicitly-sized types
and guest handles.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 15:19:42 +0000 (16:19 +0100)]
[LINUX] Simplify /proc/iomem initialisation -- no need to fake a
domU memory map. The main e820 map already terminates at max_pfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 15:18:40 +0000 (16:18 +0100)]
[LINUX][X86/64] Initialise pages outside initial allocation so that
they are picked up by the balloon driver.
From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 13:29:00 +0000 (14:29 +0100)]
[XEN] IOPL is ignored for VM86 mode port accesses. Fix Xen
emulation to match native behaviour.
Signed-off-by: Jan Beulich <jbeulich@novel..com>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 13:25:46 +0000 (14:25 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 13:23:50 +0000 (14:23 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 13:20:09 +0000 (14:20 +0100)]
[LINUX][BLKTAP] This code doesn't compile, is marked as DANGEROUS, and
is said to be removed when block drivers use grant tables.
So let's remove it.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 13:13:18 +0000 (14:13 +0100)]
[LINUX] Use structs not typedefs, remove trailing whitespaces, place symbol
EXPORTs with functions, order includes, eliminate unsed macros, don't
initialize static data to NULL, etc. Cleanups from patchqueue.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 13:10:32 +0000 (14:10 +0100)]
[NET] front: There's a small leak on a couple error paths in setup_device().
While there rearrange the ring setup order slightly to simplify error
path since netif_free() will cleanup once ring_ref is valid. And use
get_zeroed_page() instead of __get_free_page()/memset(). Handle error if
bind_evtchn_to_irqhandler() fails, as bad info->irq value is likely to
cause oops later. In create_device(), gnttab_free_grant_references()
is accidentally called twice on tx_head during cleanup from failed
gnttab_alloc_grant_references() on rx_head, which could corrupt
gnttab_free_count.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
kaf24@firebug.cl.cam.ac.uk [Fri, 9 Jun 2006 07:15:58 +0000 (08:15 +0100)]
[XEN] Re-increase MAX_ORDER to 20 for the time being. Reducing
breaks domain0 builder.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 8 Jun 2006 15:51:39 +0000 (16:51 +0100)]
[XEN] Reduce default maximum allocation order from 2^20 pages to 2^11.
On x86 this corresponds to a maximum aligned contiguous allocation of 8MB.
This can be overridden by architectures if need be.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 8 Jun 2006 15:48:23 +0000 (16:48 +0100)]
[LINUX] swiotlb allocates multiple smaller contiguous DMA regions,
rather than a single big one.
Signed-off-by: Keir Fraser <keir@xensource.com>
ack@localhost.localdomain [Thu, 8 Jun 2006 10:35:27 +0000 (11:35 +0100)]
Add sched-credit xm tests but don't run them by default yet...
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 8 Jun 2006 09:24:48 +0000 (10:24 +0100)]
[LINUX] Set up /proc/iomem in a sensibel way to indicate
code & data resources, and a RAM area on domU.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 8 Jun 2006 09:11:04 +0000 (10:11 +0100)]
[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>
kaf24@firebug.cl.cam.ac.uk [Thu, 8 Jun 2006 08:52:04 +0000 (09:52 +0100)]
[TOOLS] Fix domain builder to carefully check that mapped memory area
does not overflow and wrap to zero.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 14:51:56 +0000 (15:51 +0100)]
Fix cut-n-paste comment error in public header file.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 14:46:05 +0000 (15:46 +0100)]
Extended PHYSDEVOP_irq_status_query to obtain sharing status
(bound to multiple guests?).
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 13:38:36 +0000 (14:38 +0100)]
[LINUX] Rename hw_resend_irq to allow it to be defined seperately per arch.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 13:21:49 +0000 (14:21 +0100)]
[HVM][MMIO] Support decode of 0x83 opcode (or imm8,m32/64').
This instruction is used by both WinXP during an SMP installation and by
Sun Solaris. With this patch Sun Solaris UP is able to boot. Windows
SMP gets a bit further but still has issues.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
Signed-off-by: Travis Betak <tbetak.woller@amd.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 13:20:29 +0000 (14:20 +0100)]
[HVM][MMIO] Emulate more instructions: or/and/xor with byte width,
and load string (LODS) instructions.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Yunfeng zhao <yunfeng.zhao@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 13:13:22 +0000 (14:13 +0100)]
[HVM][DM] Cleaner way of clearing VGA memory on mode changes (thanks to
Fabrice Bellard on the QEMU project). This patch clears the
memory in the BIOS call rather than when the Cirrus Logic register changes,
which more closely matches what happens on the real hardware.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 13:07:36 +0000 (14:07 +0100)]
[LIBXC] Convert all printf/fprintf uses to use a macro instead.
Thus all can be disabled at compile time. It would be easy to
make enabling/disabling a run-time option too.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 12:42:21 +0000 (13:42 +0100)]
[HVM][PIT] Fix missed_ticks() logic.
Signed-off-by Xiaowei Yang <xiaowei.yang@intel.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 12:38:08 +0000 (13:38 +0100)]
[LINUX][X86/64] Support IO-port permissions bitmaps (ioperm() syscall).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 10:24:44 +0000 (11:24 +0100)]
x86/64 Linux: destroy entire init memory mapping beyond kernel image.
Avoids overlap with modules mapping area.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
emellor@leeni.uk.xensource.com [Wed, 7 Jun 2006 10:03:51 +0000 (11:03 +0100)]
Merged.
emellor@leeni.uk.xensource.com [Wed, 7 Jun 2006 10:03:15 +0000 (11:03 +0100)]
Fix typo.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Wed, 7 Jun 2006 09:58:09 +0000 (10:58 +0100)]
Added.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Wed, 7 Jun 2006 09:57:25 +0000 (10:57 +0100)]
Move forward to new version of buildroot -- the old one has gone from the
website.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 7 Jun 2006 08:59:56 +0000 (09:59 +0100)]
[HVMLOADER] Revert to uniprocessor MPS table in rombios.
Advertising more CPUs than the guest is allocated hangs boot
of Windows XP (selects wrong HAL). The correct fix here is
to dynamically generate the MPS table (at least the CPU
entries) from hvmloader binary.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 6 Jun 2006 09:25:59 +0000 (10:25 +0100)]
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>
kaf24@firebug.cl.cam.ac.uk [Tue, 6 Jun 2006 08:48:17 +0000 (09:48 +0100)]
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>
kfraser@dhcp93.uk.xensource.com [Tue, 6 Jun 2006 07:21:31 +0000 (08:21 +0100)]
[NET] front: Turn grant-ref error into a fatal bug. That's the best we
can do until we have a backend driver recovery method.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@dhcp93.uk.xensource.com [Tue, 6 Jun 2006 07:05:13 +0000 (08:05 +0100)]
[X86EMUL] Mark MOV instruction as not needing writeback.
Fix the test harness for x86/64 -- map emulated addresses
to low 4GB of address space.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 16:17:27 +0000 (17:17 +0100)]
[HVM][VMX] Interrupts must be kept disabled when entering Xen for
external interrupt processing. Remove code that immediately
reenabled interrupt delivery on VMEXIT.
Signed-off-by: Seteven Smith <sos22@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 16:03:19 +0000 (17:03 +0100)]
[NET] back: Add a few comments to the goriest parts of the scatter-gather patch.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 15:33:49 +0000 (16:33 +0100)]
[NET] front: Transmit SG packets if supported
This patch adds scatter-and-gather transmission support to the frontend.
This allows the MTU to be raised right now and the potential for TSO in
future.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 15:13:47 +0000 (16:13 +0100)]
[NET] back: Add SG support
This patch adds scatter-and-gather support to the backend. It also
advertises this fact through xenbus so that the frontend can detect
this and send through SG requests only if it is supported.
SG support is required to support skb's larger than one page. This
in turn is needed for either jumbo MTU or TSO. One of these is
required to bring local networking performance up to a level that
is acceptable.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 14:18:13 +0000 (15:18 +0100)]
[VMXASSIST] Extensions to vmxassist to handle additional mode switch cases.
Extends vmxassist to handle two cases related to mode switching found
while experimenting with different boot loaders.
The first case is use of the JMP instruction with memory location
operands to complete a switch to protected mode. This patch adds
emulation for this form of the JMP instruction to vmxassist.
The second case is where boot loader code does not save/restore a
non-zero SS register across a protected mode traversal.
Zeroing the SS register in vmxassist results in all sorts of problems
in the domU after returning back to real mode. This patch stores
segment register values before entering protected mode and correctly
restores the old values (instead of an incorrect zero value) when
reentering real mode.
Signed-off-by: Kevin Tronkowski <ktronkowski@virtualiron.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 14:14:58 +0000 (15:14 +0100)]
[NET] back: fix synchronisation of access to deallocation buffer ring.
Must ensure ring is written to before producer index is incremented.
Bug diagnosed by Ky Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 13:35:22 +0000 (14:35 +0100)]
Extend callback-registration hypercall to take a flags argument.
This can currently be used to request that event delivery be
disabled during callback processing.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 5 Jun 2006 09:42:40 +0000 (10:42 +0100)]
Create new vmassist type 'pae_extended_cr3'. Only advertise
pae_pgdir_above_4gb tp guests that have enabled this vmassist.
Control tools ensure all PAE page directories are below 4GB
unless the vmassist is enabled (triggered via an extended-cr3
option in guest Elf header).
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 18:14:44 +0000 (19:14 +0100)]
[LINUX] Simply shared_info mapping code. Always use a fixmap.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@dhcp93.uk.xensource.com [Fri, 2 Jun 2006 17:06:50 +0000 (18:06 +0100)]
[LINUX][X86_64] Destroy initial page-table mappings to avoid overlap with modules.
The temporary mappings needed to set up the 1:1 mappings must be torn
down after use; otherwise they may trigger the
WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold
kernel and initial page tables gets close to or
exceeds 128Mb, or if a sufficiently high mem= argument causes the
static allocations to grow beyond 128Mb, which in
either case means these mappings extend into the modules area).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kfraser@dhcp93.uk.xensource.com [Fri, 2 Jun 2006 16:54:55 +0000 (17:54 +0100)]
Fix Xen build with some versions of gcc.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 13:16:43 +0000 (14:16 +0100)]
[PAE] Fix tools to properly pack/unpack >4GB PAE CR3 values.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 12:36:29 +0000 (13:36 +0100)]
A few put_cpu() calls were missed when adding CONFIG_X86_NO_TSS.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 11:19:33 +0000 (12:19 +0100)]
[NET] loopback: Added support for SG
Just like the standard loopback device, SG support here is innate.
So all we need to do is mark it as such and zero the change_mtu method
so that the MTU can be changed at will.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 11:14:27 +0000 (12:14 +0100)]
Use halt() instead of asm("hlt").
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 11:13:34 +0000 (12:13 +0100)]
Add backing support for HDIO_GETGEO ioctl to blkfront.
Inspired by an earlier patch from Charles Coffing.
Signed-Off-By: Jan Beulich <jbeulich@novell.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 10:46:24 +0000 (11:46 +0100)]
[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>
kfraser@dhcp93.uk.xensource.com [Fri, 2 Jun 2006 08:36:28 +0000 (09:36 +0100)]
[HVM] Fix a problem when destroying a Windows guest.
From: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Tom Woller <thomas.woller@amd.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 2 Jun 2006 08:31:35 +0000 (09:31 +0100)]
Move idle-vcpu allocation logic to a common function.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>