Commit Graph
3414 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 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
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
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06: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 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
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
awilliam@xenbuild.aw 3d089e3ba1 merge with xen-unstable.hg 2006-06-13 12:12:24 -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
kaf24@firebug.cl.cam.ac.uk 9d43a190b1 [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>
2006-06-13 15:41:27 +01:00
kaf24@firebug.cl.cam.ac.uk df70dfb525 [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>
2006-06-13 15:38:58 +01:00
kfraser@dhcp93.uk.xensource.com 7758dfc719 [TOOLS][BUILDER] Extend Elf header checks for multiple architectures.
Based on a patch from Hollis Blanchard.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 14:36:04 +01: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 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 8d7ca20f1e [ACM] Replace enumerations with macros with qualified names.
Old unqualified enumeration names polluted the global namespace.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-09 16:49:49 +01:00
kaf24@firebug.cl.cam.ac.uk abb88790d2 [XEN][ACM] Clean up ACM interface to use explicitly-sized types
and guest handles.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-09 16:26:05 +01:00
ack@localhost.localdomain b5e40184be Add sched-credit xm tests but don't run them by default yet...
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
2006-06-08 11:35:27 +01:00
kaf24@firebug.cl.cam.ac.uk 7babda9241 [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>
2006-06-08 09:52:04 +01:00
kaf24@firebug.cl.cam.ac.uk 104f354554 [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>
2006-06-07 14:13:22 +01:00
kaf24@firebug.cl.cam.ac.uk 2928514138 [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>
2006-06-07 14:07:36 +01:00
emellor@leeni.uk.xensource.com 26229f1699 Merged. 2006-06-07 11:03:51 +01:00
emellor@leeni.uk.xensource.com e41ca46ee7 Fix typo.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-06-07 11:03:15 +01:00
emellor@leeni.uk.xensource.com 752382e00a Added.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-06-07 10:58:09 +01:00
emellor@leeni.uk.xensource.com 5e7cd95038 Move forward to new version of buildroot -- the old one has gone from the
website.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-06-07 10:57:25 +01:00
kaf24@firebug.cl.cam.ac.uk fa50dd1a8e [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>
2006-06-07 09:59:56 +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
kfraser@dhcp93.uk.xensource.com d82a7836f6 [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>
2006-06-06 08:05:13 +01:00
awilliam@xenbuild.aw ae0bcae60a [IA64] pass vcpu nr to guest firmware
This patch pass the vcpus number to VT-i domain guest firmware,
so that guest firmware can set SMP info accordingly, mostly in
ACPI MADT table.  

This patch is required by VT-i  SMP support.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2006-06-05 14:23:57 -06:00
kaf24@firebug.cl.cam.ac.uk 3e19af6e66 [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>
2006-06-05 15:18:13 +01:00
kaf24@firebug.cl.cam.ac.uk ad2de84676 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>
2006-06-05 10:42:40 +01:00
kaf24@firebug.cl.cam.ac.uk 4f7f661224 [PAE] Fix tools to properly pack/unpack >4GB PAE CR3 values.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 14:16:43 +01:00
kaf24@firebug.cl.cam.ac.uk 78f168bc8d [IA64][HVM] Enable CGA acceleration for VTI.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2006-06-02 09:20:58 +01:00
kaf24@firebug.cl.cam.ac.uk bee50046c9 [HVM] Allow more dynamic use of the qemu serial lines by allowing the Summagraphics port to float.
qemu will emulate up to 4 serial lines (COM1 - COM4).  One of these
lines supports a Summagraphics protocol.  This has changed recently,
and it's now always COM2.  This patch allows the user to specify
to qemu which lines should be serial lines, and the code will place
the Summagraphics compatible line at just above the last specified
serial line.  qemu defaults serial line 0 (COM1) to be "vc", resulting
in the Summagraphics support residing on COM2. This is in keeping
with the current behavior.

The results, via qemu command line, are:
<none>                                    COM2
-serial x                                 COM2
-serial x -serial x                       COM3
-serial x -serial x -serial x             COM4
-serial x -serial x -serial x -serial x  <none>

The results are deterministic, and allow the use of up to 4 serial
lines including none with Summagraphics support.  There is no
change from current behavior, unless requested.

Signed-off-by: Ben Thomas <ben@virtualiron.com>
2006-06-01 18:32:04 +01:00
kaf24@firebug.cl.cam.ac.uk bf39d68ed8 [SECURITY] Allow domid and ssidref args to get_decision in
util/security.py to be either strings or ints (previously only strings 
would work due to the underlying call to lowlevel.acm).

Signed-off-by: Bryan D. Payne <bdpayne@us.ibm.com>
Signed-off-by: Reiner Sailer <sailer@us.ibm.com>
2006-06-01 18:30:28 +01:00
Anthony Liguori 744e7a3189 Expose the exception thrown by xen.lowlevel.xs. 2006-06-01 12:13:11 +01:00
pl@us.ibm.com 64297b4ee4 Fix a problem where the vcpu count for dom0 doesn't get reset back to the
original value when 01_enforce_dom0_cpus_basic_pos fails.
2006-06-01 12:11:59 +01:00
emellor@leeni.uk.xensource.com a56b4a5a4b Reraise exceptions caught in create.py, so that the error handling in main.py
can handle it neatly.

Signed-off-by: Daniel Miles <daniel.t.miles@hp.com>
2006-06-01 11:57:33 +01:00
emellor@leeni.uk.xensource.com 7218286f52 Block device write-verify test.
This test imports a ram disk device as a physical device into a domU.
The domU initialises the ram disk with data from /dev/urandom and
calculates the md5 checksum of the data (using tee as it is written so as to
avoid reading it back from the device which might potentially mask
problems).
The domU is stopped and the md5 checksum of the data on the device is
calculated by dom0.  The test succeeds if the checksums match, indicating
that all the data written by domU was sucessfully committed to the
device.

This patch also enables tee in BusyBox on the ramdisk and increments the
xm-test version number to 0.8.0.

The patch also installs the block-integrity tests in the default test
set so they get executed.

Signed-off-by: Harry Butterworth <butterwo@uk.ibm.com>
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-06-01 11:47:00 +01:00
kfraser@dhcp93.uk.xensource.com 1a59e1d7a7 network-bridge: fix syntax error
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 11:25:02 +01:00
kfraser@dhcp93.uk.xensource.com 9ddb2b5be9 network-bridge: Fall back to eth0/xenbr0 if no default route.
From: Dave Lively <dave.lively@gmail.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 11:18:26 +01:00
kfraser@dhcp93.uk.xensource.com 3f2522e1ac Use a global build configuration file, and rework libxc Makefile for PPC.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-05-31 11:31:52 +01:00
kaf24@firebug.cl.cam.ac.uk 678b2e21b2 [HVM] Fixes to buffer handling in ne2000 device model.
Signed-off-by: hanzhu <zhu.han@intel.com>
2006-05-31 09:30:40 +01:00
kaf24@firebug.cl.cam.ac.uk affc898c83 The xm dmesg command wasn't taking the -c/--clear options because of
incorrect values to arg_check(). Patch simply allows for the possible
option with arg_check().

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-05-31 07:48:54 +01:00