Commit Graph
6699 Commits
Author SHA1 Message Date
Keir Fraser 68c053e8a9 xend: Allow xenconsoled to be passed arguments at startup
Attached patch allows to pass arguments to xenconsoled
via XENCONSOLED_TRACE env. variable analogous to xenstored.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-08-13 13:42:30 +01:00
Keir Fraser 74f9ac9665 xend: Make sure that 'PV_kernel' config param is not blank when
assigning it to 'loader' param. This fixes a failure of 'xm create'
via xen-api.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-08-13 13:40:38 +01:00
Keir Fraser 8712242693 xend/xenapi: Initialize a VLAN PIF's record with the MAC and MTU size
of the created network interface

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-08-11 16:51:02 +01:00
Keir Fraser dea6d8b20c xend/xen-api: Have the VDI record return the security label
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-08-11 15:01:34 +01:00
Keir Fraser 3ca259a393 xend: Better support for legacy HVM config of ia64
On ia64, direct Linux boot is not supported, and 'Flash.fd' or
'guest_firmware.bin' has been used as a value of the 'kernel'
option. Cset:17016 ignores those strings and overrides them with
"/usr/lib/xen/boot/hvmloader".

Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-11 11:27:40 +01:00
Keir Fraser b904b98221 tools build: add cross-install to find the right "strip"
Signed-off-by: Aron Griffis <aron@hp.com>
2008-08-11 10:49:57 +01:00
Keir Fraser 8a067f68b1 ia64: PV driver domains - ugly python hacks
x86 IOMMU support added a lot of assumptions about what PCI buses look
like and where to find bridge devices.  On ia64, we don't yet have
virtualization friendly IOMMUs, so for the moment, we just want to
keep "unsafe" PV PCI pass through working as well as it did in Xen
3.2. Looking at the code, it almost seems like x86 has thrown out
support for the old style driver domain.  Things that don't
necessarily work on every PCI compliant architecture:

      * You can't assume that just because there's a device at 01:01.0
        that there's also a bridge at 01:00.0 and blow-up when you
        don't find it.  On HP ia64 boxes, PCI root bridges are not
        necessarily exposed as a PCI device.  This pretty much means
        we can't call into any of the "FLR" code paths.
      * BAR alignment: it's hard to have BAR alignment when your page
        size is 16k.  This wasn't a requirement for previous PV driver
        domains, so I assume it's only for IOMMU support.

This is ugly, so I'm open to suggestions.  It seems that all of these
architecture checks could be replaced by checking some "iommu_present"
variable to test whether the extra requirements are necessary.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-08-08 10:53:40 +01:00
Keir Fraser a9c83dc720 prefix mini-os lists with minios_, drop QEMU_ prefix from QEMU_LIST_*
That permits to reduce the amount of difference with upstream.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-08 10:48:48 +01:00
Keir Fraser 480d1476fc ioemu: fix typo in serial emulation
There is a small bug on the serial emulation code that prevents kgdb
from working correctly over the serial.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-08-08 10:46:39 +01:00
Keir Fraser 97503a73e3 xm: fix trivial typo. s/ciredump-restore/coredump-restart/
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2008-08-07 09:05:31 +01:00
Keir Fraser ec80656941 ioemu-stubdom: fix initialization of vm_change_state_head
That is actually a no-op since it just sets it to NULL again, but
makes sense.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 11:38:42 +01:00
Keir Fraser 203c11a813 stubdom: fix documentation file names
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 11:38:20 +01:00
Keir Fraser f583eb1e3e ioemu: Fix I/O BAR mapping problem
Check BAR type indicator to avoid I/O BAR being mistaken as 64-bit =
memory BAR.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
2008-08-06 10:54:55 +01:00
Keir Fraser 7b256cf63f ioemu: fix a bug in serial_load
Currently we are trying to read the same value twice in the
serial_load function, this patch fixes that.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-08-06 09:46:25 +01:00
Keir Fraser be408edf70 xend: Expose persistent domain path in xend conf file
This patch exposes the persistent (aka managed) domain path in xend
configuration file.  This option is already supported in XendOptions
but is not annotated in the configuration file.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2008-08-06 09:38:43 +01:00
Keir Fraser 66e56e754b install more documentation to /usr/share/doc/xen and /etc/xen
Also resync xmexample3 with xmexample1 and 2.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 09:34:55 +01:00
Keir Fraser fa982a5874 Remove vncconsole from example HVM configs. It's deprecated.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-05 13:45:53 +01:00
Keir Fraser ccecac2def xend: vncconsole config option mustn't be a string
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-05 13:45:25 +01:00
Keir Fraser 95d4283bb4 ioemu: Do not pass -m (memory) option to qemu, as ioemu-remote rejects
memory sizes greater than 2GB when built as a 32-bit binary.

Instead, direct HVM Linux loading approximates end of low memory via a
different method.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-05 13:23:59 +01:00
Keir Fraser 61c632064b fs-back: build fix for BSD
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-08-05 09:59:01 +01:00
Keir Fraser 45f66e11cc xend: remove default NIC in qemu when no vif configured
Latest QEMU would add a NIC device by default, unless specify the
"-nic none". So end user still get a unusable NIC even no vif in the
config file.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2008-08-05 09:29:42 +01:00
Keir Fraser 1883561885 PV-GRUB: add sample config file
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-04 18:10:51 +01:00
Keir Fraser 23566e775d stubdom: rename the ioemu-dm domain config file to domainname-dm,
which is shorter, makes more sense, and sorts better.

From: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-04 16:47:52 +01:00
Keir Fraser 3adee298e7 Fix a few typos
From: Diego Ongaro <diego.ongaro@eu.citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-04 11:25:20 +01:00
Keir Fraser 33d021a978 xend: Fix handling of pci creation failure in device_create().
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-08-04 11:11:24 +01:00
Keir Fraser f6a15c6354 xm on xenapi: Enable 'xm pci-list' via Xen-API
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-08-04 11:11:02 +01:00
Keir Fraser ad67b382bb xend: fix finding pci capability
Xend doesn't start up on my laptop which has a PCI-CardBus bridge.
PCI-CardBus bridge device doesn't have a capability chain.
Also sanity checking of a capability chain.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-08-04 11:10:27 +01:00
Keir Fraser c5c5a83176 stubdom: fix read-only disks access
There is no need for a flush on read-only disks.  It would actually
even error out and disturb the guest.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-04 11:07:17 +01:00
Keir Fraser f06e832088 xm: fix up exception handling when spawning vnc viewer.
From: Ian Jackson <Ian.Jackson@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-04 11:06:31 +01:00
Keir Fraser 85d4d8cb05 ioemu, passthrough: fix flag for expansion rom base address register.
pt_bar_reg_parse() is called for expansion rom base address register.
Currently it returns PT_BAR_FLAG_MEM if bit 0 is 0. It returns
PT_BAR_FLAG_IO if bit 0 is 1.

But bit 0 in expansion rom base address register is enable bit. If bit
0 is 1 for some reason, it returns PT_BAR_FLAG_IO. Expansion rom is
mapped to memory space. It should return PT_BAR_FLAG_MEM.

After applying this patch, it returns PT_BAR_FLAG_MEM regardless
of bit 0, when it is called for expansion rom base address register.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-01 09:54:54 +01:00
Keir Fraser 8c715178a1 ioemu, passthrough: fix corrupting register value in pt_pci_write_config().
I forgot to shift value read from real device. If the emulated
register offset is not aligned with 4 byte, the write emulation will
not be handled well because of corrupting register value read from
real device. The patch fixes this issue.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-01 09:54:13 +01:00
Keir Fraser 37404be82b ioemu: fix libpci error handling.
libpci returns ALL F when error occurs. Currently, if libpci returns
ALL F, emulation stops. But it is possible that the field of real register
which is read by guest software is ALL F.

After applying this patch, if libpci returns ALL F, ioemu will log
warning message and continue the emulation.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-01 09:53:05 +01:00
Keir Fraser 02c55540b8 ioemu, passthrough: fix writing handlers for base address registers.
This patch fixes writing handlers for base address registers (include
expansion rom base address register) as follows.
It can be applied to both ioemu-remote and ioemu.

- Current implementation can not work fine when base address registers
  are accessed via 1 byte write access and 2 byte write access. This
  patch enables them.

- Currently guest software can set address which is not aligned
  with resource size and page size. The patch does not allow guest
  software to set unaligned address.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-01 09:52:22 +01:00
Keir Fraser 546454e2c3 ioemu, passthrough: fix log messages and comments
- fix log messages to make analysis easier when issue occurs.

- remove verbose message.

- add comments in the source code.

- fix wrong comments in the source code.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-01 09:51:27 +01:00
Keir Fraser 0ae64c2ff8 minios: Error case when unbinding unknown port in xc_evtchn_unbind is
missing a return statement.

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
2008-08-01 09:38:25 +01:00
Keir Fraser e5ba23a1d9 FSIF: extend protocol to multi-grant requests and multi-page ring
To improve throughput and inline the stat response.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-01 09:37:10 +01:00
Keir Fraser 0f74052786 pass IOEMU_CONFIGURE_CROSS to ioemu-remote/xen-setup
Add --cpu to IOEMU_CONFIGURE_CROSS since otherwise qemu uses the
output of `uname -m` even for cross-building.  Pass
IOEMU_CONFIGURE_CROSS to xen-setup which passes it on to
ioemu/configure.

Signed-off-by: Aron Griffis <aron@hp.com>
2008-07-31 16:13:22 +01:00
Keir Fraser f1b5be9017 xm on xenapi: Enable 'xm pci-{att,det}ach' commands to be executed via xen-api.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-07-31 13:31:15 +01:00
Keir Fraser fc57b9025f xm on xenapi: Add missing support for creating pci-assigned domains
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-07-31 13:30:59 +01:00
Keir Fraser dfad53d5fe xend: Fix portability issue of lspci option.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-07-31 12:39:56 +01:00
Keir Fraser 52c456a522 hvm builder: Cleaner sp_extents allocation
We do not need more than count elements in the sp_extents array.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-31 12:38:32 +01:00
Keir Fraser 0a72f4c6f8 firmware: Fix build dependencies.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-07-31 11:51:14 +01:00
Keir Fraser cd1f9abc4a Allow xm to spawn vnc viewer
The new merged qemu no longer has the ability to spawn a vnc viewer
process in the bowels of the xend/qemu stack.  In this patch we
provide support for this use case in a different manner - one more
akin to the mechanism used for `xm console' and `xm create -c'.

We introduce new xm options:
   xm create --vncviewer [--vncviewer-autopass]
   xm vncviewer [--vncviewer-autopass]

These spawn a VNC viewer, obtaining the relevant information
(including the port number and if you tell it your viewer supports it
the password to use) directly from xenstore.

Like xm console it waits in the foreground for the vnc port to become
available; the timeout case isn't handled as well as it might be - it
just causes the whole program (xm) to die with `Alarm clock' but this
is difficult to deal with given the current structure of the xs Python
lowlevel interface, which doesn't provide a timeout on the call to
wait for a xenstore watch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2008-07-30 16:22:45 +01:00
Keir Fraser 24c47cc182 firmware: Fix CFLAGS -I directives.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-07-30 10:55:06 +01:00
Keir Fraser 5a168d3d82 rombios: Simplify and clarify POST code a little.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-07-30 10:02:11 +01:00
Keir Fraser d508c764f1 ioemu: fix warnings in pass-through.h and pass-through.c
This patch backports following changes of ioemu-remote to ioemu.
It fixs warning in tools/ioemu/hw/pass-through.h and
tools/ioemu/hw/pass-through.c.

commit 30f00a0284a5ee356de6f6095e52173f2234145b
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date:   Fri Jul 18 16:02:23 2008 +0100

    hw/pass-through.c: pt_unregister_regions returns void

    It only ever falls off the end, and its return value is not used
    by its one caller.

    Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>


commit 439836900dad41f66234d2a14981aa2a90d4d346
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date:   Tue Jul 22 11:55:18 2008 +0100

    Add missing cast for printf of maddr


commit cf5b00e6b714eb5f900d55471d85956b09cb8fd9
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date:   Thu Jul 24 13:57:10 2008 +0100

    pass-through.h: Sprinkle some #ifdefs to cope with pciutils-dev
    versions

    Some versions of pciutils-dev contain #defines which others are
    lacking.
    To avoid spurious compiler warnings we add some #ifdefs.  *sigh*

    Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-07-30 09:26:06 +01:00
Keir Fraser 1a1af72f08 pygrub: Add 64bit library path to pygrub default search path.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-07-30 09:23:47 +01:00
Keir Fraser 78130b8a28 xm, xenapi: Fix a problem in xm client for domain shutdown
Xm did not shut down domains anymore when run in xen-api mode due to a
'None' parameter being passed to xend when looking up a domain. This
fixes the problem.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-07-30 09:23:11 +01:00
Keir Fraser cacc71b173 xm: Enable a bootloader when using XM via Xen-API
This enables the usage of a bootloader, i.e., pygrub, when starting a
domain using xm in Xen-API mode.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-07-30 09:22:24 +01:00
Keir Fraser dd6832985c xenconsoled: replace gettimeofday with clock_gettime
Currently if someone changes the date on the host, xenconsoled may
behave incorrectly due to the use of gettimeofday for the rate control
algorithm. For example I was able to hang the console connected to a
guest just setting the date forward 20 years. To solve the problem we
need to use a time source that doesn't change start point, that is
clock_gettime with CLOCK_MONOTONIC. The only bad side effect is that
it introduces a dependency to librt, but I think is well worth it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-07-30 09:18:35 +01:00