Commit Graph
10438 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 9402c1936d [HVM] Clean up formatting of new piix acpi file.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-17 09:19:16 +01:00
kaf24@firebug.cl.cam.ac.uk 9c15ad745c [HVM] ACPI support patch 4 of 4: shutdown.
The patch is incorporated  from Ben's Virtual Iron's ACPI shutdown patch
in changeset 9989:f8d20c3e4225
The patch support guest ACPI Windows shutdown, as well as ACPI guest
Linux "halt -p" and "shutdown -h now".

Signed-off-by: Ben Thomas <ben@virtualiron.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
2006-06-17 09:08:14 +01:00
kaf24@firebug.cl.cam.ac.uk 801d469ad8 [HVM] ACPI support patch 3 of 4: ACPI _PRT table.
Adds ACPI _PRT table for PCI IRQ routing table in PIC mode
and fixes the _PRT table in APIC mode

Signed-off-by: Tang Liang <tangliang@lenovo.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
2006-06-17 09:06:46 +01:00
kaf24@firebug.cl.cam.ac.uk c45e9f7a4f [HVM] ACPI support patch 2 of 4: ACPI timer.
ACPI timer is required during guest windows installation and boot.

Signed-off-by: Tang Liang <tangliang@lenovo.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
2006-06-17 09:05:34 +01:00
kaf24@firebug.cl.cam.ac.uk f4cdf1dbe8 [HVM] ACPI support patch 1 of 4: main components.
The patch support ACPI UP Guest Windows 2000,  XP and 2003, based on
this we are going to add more support on SMP and 64bit Windows( which
are only working in ACPI mode) later. We tested: in ia32 guest:

  a. Installation and boot of  Windows XP sp2 and 2003 server in ACPI
mode
  b  when boot to both window, no yellow mark in device manger and  USB,
network card and IDE DMA are working.
  c. clean boot (without ACPI related errors) on UP and  4 vcpu rhel4u1
SMP guest and got ioapic Interrupt assigned according to ACPI DSDT
table's _PRT table's GSI.
  
To minimize the implementation efforts to satisfy the ACPI OS
installation and boot, we implemented  ACPI only event logical model by
emulating ACPI hardware based on PIIX4 (Intel 82371ab) by:  Populating
the PIIX4  ACPI bridge PCI configuration space; Adding ACPI timer
(required during windows installation/boot), PM1 event register block
and PM1 control register block (both are required during
installation/boot, shutdown, entering and leaving PM S state if adding
those features later), we provided full ACPI hardware registers above
using byte/word/dword access per ACPI spec requirement.

The patch also fixed many existing hvm ACPI related bugs, such as
warnings when boot to ACPI  UP and SMP guest Linux OS; adding new ACPI
_PRT table reporting PCI IRQ routing table in PIC mode,  adding new _PRT
table in APIC mode, that fixed no IRQ GSI cause it is forced to shutdown
when OS find new device to assign IRQ without ACPI event service; The
patch also fixed the ACPI DSDT table's  PCI resource conflict with guest
e820 table when booting and installing ACPI Windows; we also added ACPI
shutdown service by incorporating the code in ACPI "hardware enable
register writer" from  Ben's Virtual Iron's team's patch in changeset
9989:f8d20c3e4225.

We only provide minimum power management requirement support per spec-c1
and S5 for shutdown, may be S4 (hibernating which is meaningful for user
to save their working section)  in the future.

Please note, current patch needs to  have following switches in guest
configuration to enable proper ACPI support
  a. need to add ACPI=1 (apic=1 if boot SMP Linux guest plus vcpu=
number want to test) in xmexample.hvm
  b. need to add USB support: USB=1 and usbdevice='device' (or
='tablet') as the pm register base is static..., I will adding dynamic
ACPI FADT table for pm register base pointer later.

When installing guest OS in ACPI mode, need to manually tell Windows
setup program to install single core ACPI HAL:
   After passing the 1st screen of windows setup of install Windows,
   the first thing you'll see at the bottom of the screen is the
   option to press F6 if you need to install a SCSI or RAID
   controller. Don't press F6. Press F5 instead. This will take
   you to a separate menu of Hardware Abstraction Layer's where
   you can choose an appropriate HAL .The choices will be:
  
   ACPI Multiprocessor PC
   ACPI Uniprocessor PC
   Advanced Configuration and Power Interface (ACPI) PC
   ...
   Standard PC
   Standard PC with C-Step i486
  
Please select "Advanced Configuration and Power Interface (ACPI) PC"
using current patch.

Signed-off-by: Winston Wang <winston.l.wang@intel.com>
2006-06-17 09:00:16 +01:00
kaf24@firebug.cl.cam.ac.uk d994f81846 [LINUX] Fix dependencies on CONFIG_PROC_FS.
Signed-off-by: Horms <horms@verge.net.au>
2006-06-17 08:56:02 +01:00
kaf24@firebug.cl.cam.ac.uk e22b1a8b80 [LINUX] Kernel should not send out IPv6 autoconfig multicast
packets if the interface is not marked as multicast-capable.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
2006-06-17 08:42:31 +01:00
kaf24@firebug.cl.cam.ac.uk ac85f84b53 [TOOLS] Clean up the network setup scripts. Create some
setup functions and use them everywhere.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
2006-06-17 08:40:50 +01:00
kaf24@firebug.cl.cam.ac.uk ffa0b25d43 [ACM] Complete the conversion of acm_ops using Xen handles instead
of void pointers. It also fixes a recently slipped in acm bug that hangs 
Xen when a domain is destroyed.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>
2006-06-17 08:38:35 +01:00
kaf24@firebug.cl.cam.ac.uk c8c61a2fd3 [TOOLS][HVM] Enhance the HVM config file to show prototypes for the USB options.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
2006-06-17 08:34:54 +01:00
kaf24@firebug.cl.cam.ac.uk 38b1807fa4 [XEN] Use correct xen_pfn_t type in implementation of XENMEM_exchange.
Avoids compile errors on ppc.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-17 08:31:53 +01:00
akw@localhost.localdomain b85d17117a Remove old blktap tools.
Signed-off-by: Andrew Warfield <andrew.warfield@cl.cam.ac.uk>
2006-06-16 18:45:45 -07:00
kfraser@dhcp93.uk.xensource.com d6a811acc8 [LINUX] Add spurious page-fault detection, intended primarily
for spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 18:19:40 +01:00
kfraser@dhcp93.uk.xensource.com 12794ba7df [XEN] Make the spurious page-fault detection logic
more robust. In particular it must be able to handle
spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 18:18:55 +01:00
kfraser@dhcp93.uk.xensource.com 8d9ab5812a Merge with xen-ia64-unstable.hg. 2006-06-16 18:08:27 +01: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 583b822938 [XEN] Fix 10362 change to create_grant_va_mapping().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 15:34:21 +01:00
kfraser@dhcp93.uk.xensource.com 15dfe74a22 [XEN] PTE updates do not need to use CMPXCHG instruction.
This is because the updates are already protected by a
per-domain lock. Using straightforward memory writes has
two advantages:
 1. Faster
 2. More correct (previously we could race accessed/dirty
    bit updates by other CPUs).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 15:22:03 +01:00
kfraser@dhcp93.uk.xensource.com a2ee238fcf [LINUX] Use new XENMEM_exchange hypercall (where possible)
to provide watertight implementations that should never crash
in ENOMEM situations.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 14:45:01 +01: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