Commit Graph
6953 Commits
Author SHA1 Message Date
Keir Fraser 8bb2359cd7 xenconsole: Fix pty handling
I printed the terminal attributes after openpty() and they were
garbage on the first console, valid on the second etc.
openpty() gets garbage in (uninitialized attributes MODIFIED by
cfmakeraw()). It sets the slave to the attributes requested. Using
uninitialized data for cfmakeraw->openpty results in pty attributes
that may even have the receiver disabled. Closing the slave just hides
the bug as these attributes disappear and hope the slave will be
reopened and initialized.

From: Juergen Hannken-Illjes <hannken@netbsd.org>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-02-20 17:02:36 +00:00
Keir Fraser fecfa97c11 xenconsoled: make guest console visible on NetBSD dom0
After openpty(), slave_fd must be closed or guest console output goes
to the slave while select() in xen console client listens on the
master.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-02-20 11:13:11 +00:00
Keir Fraser d3d0b89247 libxc: xc_ptrace cleanup
There are some bugs in PTRACE_PEEK/POKE.
- can't track 2MB pages in 32bit pae mode.
- leakage of mmap/munmap.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-02-20 11:09:46 +00:00
Keir Fraser c796f3c14f pygrub: parse xen module option in grub
Add function for GrubConf to parse xen module option in grub.
Pygrub should pass args as domUloader did.

Signed-off-by: Wei Kong <weikong.cn@gmail.com>
2009-02-20 11:08:31 +00:00
Keir Fraser 755c7136fe xend: Fix exception in pci_convert_sxp_to_dict()
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2009-02-19 11:07:33 +00:00
Keir Fraser b35b1efb72 xm: Some fixes for pvSCSI
For xm create and xm new, an error may not occur even if wrong
vscsi configuration is given.

e.g.
  vscsi = [ '0:0:0:0,0:0:0:0', '0:0:0:0,1:0:0:0' ]

  # xm create vm1
  Using config file "/etc/xen/vm1".
  Started domain vm1 (id=8)
  # xm scsi-list vm1
  Idx BE  state host  phy-hctl   phy   vir-hctl   devstate
  0   0   1     0     0:0:0:0    sda   0:0:0:0    None
  1   0   1     0     0:0:0:0    sda   1:0:0:0    None

This patch fixes some problems such as the above.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-02-19 11:01:15 +00:00
Keir Fraser 692cd6efe1 pygrub: fix for NetBSD
Signed-off-by: Frank van der Linden <frank.vanderlinden@sun.com>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-02-19 10:53:46 +00:00
Keir Fraser f9de1c1ae6 pvSCSI, xend: add new device assignment mode
You can use "host" mode by specifying keyword "host" as virtual scsi
device. Following is usage example.

    xm scsi-attach 1 2:0:3:4 host

In this case, all LUNs under host=2 are attached to guest domain 1.
The channel=0, target=3 and lun=4 are ignored.

Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Jun Kamada <kama@jp.fujitsu.com>
2009-02-17 11:19:55 +00:00
Keir Fraser ae4aa4f803 xend: Update VCPUs_live
XendConfig.py said about VCPUs_live as follows.

 -- the number of VCPUs currently up, as reported by Xen.

But the value of VCPUs_live always is 1 till xm vcpu-set get
executed.  This patch updates VCPUs_live by using online_vcpus.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-02-17 11:13:34 +00:00
Keir Fraser ec54fc8c6d xend: Improve information-gathering processing of SCSI devices by using lsscsi
In the case of xm scsi-attach, when the SCSI devices are specified in
HCTL form or device name form, the processing is faster.

If lsscsi command is not installed, the processing works by using
information of /sys as before.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-02-17 11:12:50 +00:00
Keir Fraser b985dc0b9e xenpm tool: add average C state residency
Signed-off-by: Yu Ke <ke.yu@intel.com>
2009-02-17 11:08:31 +00:00
Keir Fraser f3c727b324 Fix typos in xendomains script.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-02-17 11:04:08 +00:00
Keir Fraser 0eecf73be6 hvm: Align periodic vpts.
Aligned periodic vpts can improve the HVM guest power consumption a
lot, especially while the guest using high HZ such as 1000HZ.

Signed-off-by: Wei Gang <gang.wei@intel.com>
2009-02-13 09:43:06 +00:00
Keir Fraser 737073ac89 xenapi: Correct some syntax errors in xen/xend/XendAPI.py
- usage of undefined variables in error cases (invalid handle
specified) in methods VBD_create, VTPM_destroy, event_unregister
- not imported module 'uuid' in method debug_create results in an
exception

Signed-off-by: Lutz Dube <Lutz.Dube@fujitsu-siemens.com>
2009-02-13 09:38:16 +00:00
Keir Fraser 9acc94349e xendomains: clean up output formatting
Show errors in the way they are coming from xm command only (no usage
is printed now). Watchdog_wm() has been changed for not showing dots
in the process of shutting down domains and if an error occurs it
prints target domain, operation (save/restore/migrate etc.) and reason
of failure in more user-friendly way.

Signed-off-by: Michal Novotny <minovotn@redhat.com>
2009-02-13 09:32:02 +00:00
Keir Fraser 418f758483 xm save: Display help text if bad options specified.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-02-12 10:53:10 +00:00
Keir Fraser 54ddfee829 rombios: fix int15/86h (wait for microseconds)
The bcc compiler generates wrong stack pointer offset of a local
variable within ASM code if another local variable is declared
later.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2009-02-12 10:52:05 +00:00
Keir Fraser cef052b621 xend: PCIQuirk`__devIsUnconstrained refers to an undeclared variable if
/etc/xen/xend-pci-permissive.sxp doesn't exist.

Signed-off-by: David Edmondson <dme@sun.com>
2009-02-11 10:45:34 +00:00
Keir Fraser 77de1e2709 blktap: Fix check_gcrypt
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
2009-02-11 10:44:42 +00:00
Keir Fraser 2b9a5bea15 xenctx: print x86_32 context on x86_64
Although x86_64 context covers x86_32, I think it's easy to watch.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-02-06 10:43:58 +00:00
Keir Fraser 20eed172a7 libxenctrl: adds xc_domain_unbind_msi_irq to libxc.
The function is needed to unbind MSI/MSI-X on transition from D3hot
state to D0 state.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2009-02-05 15:28:09 +00:00
Keir Fraser c8ff96bd9f xenctx support for 64-bit HVM guests
Now that we can easily find EFER.LMA, xenctx can detect 64-bit HVM
VCPUs

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2009-02-05 12:17:24 +00:00
Keir Fraser 2c3072a583 libxc support for the new partial-HVM-save domctl.
This includes making the pagetable walker in xc_pagetab.c behave
correctly for 32-bit and 64-bit HVM guests.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2009-02-05 12:17:08 +00:00
Keir Fraser 149748770b xend: fix vncconsole option
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-02-04 12:43:11 +00:00
Keir Fraser 6ecbae750b xend: Delay before SIGKILL qemu
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2009-02-04 12:01:05 +00:00
Keir Fraser b526733e2f xm: Improve xm error if booted native
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2009-02-04 11:58:25 +00:00
Keir Fraser 14e9431629 XendAPIStore - do not remove non-existent item
If list is searched and item not found, then don't attempt to delete
the item.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2009-02-04 11:57:17 +00:00
Keir Fraser fa5078d407 stubdom: add videoram to stubdom initial memory reservation
This patch adds a videoram parameter (4MB is the default) to pv guests
too: if the pv guest is actually a stubdomain then the videoram size
is added to the initial required available memory.
This way there is no risk that a stubdom fails to populate the
videoram because the RAM freed for the videoram by dom0 has already
been used to create the stubdom.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2009-01-29 16:41:48 +00:00
Keir Fraser 597edba986 xend: Fix block device type check
Since changeset 17617 the block device protocols are checked to be
either file or phy. This has later been fixed to also include
tap. This is still not a correct check as there can be arbitrary
additional protocols. Before this check was added you could have a
block-xyz hotplug script and xyz would work as a protocol, now it is
refused. An example for this mechanism is the block-nbd script which
is included in the tree.

This patch changes the check to allow file, phy, tap and all protocol
names for which a block-$protocol hotplug script exists. This should
fix the last regressions introduced by the check.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
2009-01-29 16:39:56 +00:00
Keir Fraser e64d0c2e62 rombios: fix pointer argument to PMM
The pointer to PMM function arguments must be flattened for protected
mode with zero-based segments.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-01-26 11:22:03 +00:00
Keir Fraser c32523e141 rombios: fix wrong stack segment return in 32-bit gateway
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-01-26 11:16:52 +00:00
Keir Fraser 83833d973b rombios: Indirect through 32-bit jump table from within the 32-bit bios.
This gets rid of shenanigans with relocating the jump table around the
place.

Also clean up bios_info table while we are updating it.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-23 14:32:41 +00:00
Keir Fraser b08c16ec2f hvm bios: add PMM (a memory manager during POST)
The PMM (POST Memory Manager) offers malloc/free functionality
for PCI option ROMs during POST (Power On Self Test).

This patch adds a PMM functionality to the guest BIOS.

For example, the option ROM on LSI Logic SAS card uses PMM and
failed to initialize the device without PMM.  Thus, the HVM can't
boot up directly from the passthroughed SCSI disk.
gPXE also uses PMM (I don't know what happens without PMM).

With this patch, we succeeded in SAS boot of HVM.

For further information about PMM:
http://www.phoenix.com/en/OEM-ODM/Customer+Services/White+Papers-Specs/PC+Industry+Specifications.htm
http://www.phoenix.com/NR/rdonlyres/873A00CF-33AC-4775-B77E-08E7B9754993/0/specspmm101.pdf

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2009-01-23 12:50:14 +00:00
Keir Fraser 26181d3763 bump libxenctrl and libxenguest versions
In c/s 19009 an incompatible change was made to the ABI of libelf-*,
which are included in libxenctrl and libxenguest.  To avoid client
programs (such as python/lowlevel/xc/xc.so) picking up a wrong
version and perhaps crashing, the soname should be changed.

I have chosen the version number 3.4 as xen-unstable is currently the
pre-3.4 branch.  I assume we don't care about API/ABI stability within
an unstable branch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2009-01-23 11:51:43 +00:00
Keir Fraser 85952ca7ce rombios: Simplify 32-bit gateway interface definitions.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-22 17:41:13 +00:00
Keir Fraser 4917117c97 rombios: Simplify 32-bit gateway and avoid need for EBDA space.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-22 16:32:06 +00:00
Keir Fraser ea75815bab xend: Fix do_FLR() scope problem.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2009-01-22 11:07:32 +00:00
Keir Fraser f7c23cc9a9 hvmloader: ACPI compiler is not to be buil;t and installed on target system.
Since it is a build prerequisite (in some cases) simply fail the build
if it is not found when it turns out to be required. Just as we would
for any other tool-chain prereq.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-20 15:10:28 +00:00
Keir Fraser ff4f536ebf [IA64] fix compilation error caused by 19046:ecf603780f56
This patch fixes the following compilation error adjusting
function prototypes.

> xc_core_ia64.c:176: error: conflicting types for
  'xc_core_arch_memory_map_get'
> xc_core.h:141: error: previous declaration of
  'xc_core_arch_memory_map_get' was here
> xc_core_ia64.c:241: error: conflicting types for
  'xc_core_arch_map_p2m'
> xc_core.h:144: error: previous declaration of 'xc_core_arch_map_p2m'
  was here

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2009-01-16 11:47:21 +00:00
Keir Fraser fb9dda3e06 ptrace_core: Handle FV cross-bitness.
Signed-off-by: Bruce Rogers <brogers@novell.com>
2009-01-16 11:46:51 +00:00
Keir Fraser 44c6dadfe2 rombios: remove unnecessary function calls.
The rombios always becomes read-only after using 32bit gateway.
That is not handy for using the gateway.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-01-15 12:41:44 +00:00
Keir Fraser 3967bb3aff libxc: Support cross-bitness guest when core-dumping
This patch allows core-dumping to work on a cross-bit host/guest
configuration, whereas previously that was not supported.  It supports
both PV and FV guests. The core file format generated by the host,
needs to match that of the guest, so an alignment issue is addressed,
along with the p2m frame list handling being done according to the
guest size.

Signed-off-by: Bruce Rogers <brogers@novell.com>
2009-01-15 12:37:42 +00:00
Keir Fraser 501b78cbc2 rombios: Protect the ax register before calling the TCG BIOS extensions function.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2009-01-15 12:35:09 +00:00
Keir Fraser 568aed7d6b xenpm: build fix
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-01-14 13:43:17 +00:00
Keir Fraser 78c3097e4f Remove unused XENMEM_remove_from_physmap.
Never present in any stable release of Xen. Introduced for use by
qemu-dm but now not needed.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-14 11:24:37 +00:00
Keir Fraser 2d2f7977a0 Remove unused XENMEM_translate_pfn_list.
Never used by a guest OS (except in IA64 hcall translation layer) and
obsoleted in the tools for ages. Recent usage by qemu-dm is now
removed.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-14 11:15:01 +00:00
Keir Fraser a390e6128b x86, hvm: stdvga improvements
* enables linear framebuffer and VBE 3.0 extensions.
* add a number of new resolutions, up to 2560x1600, and including
* widescreen modes common to modern displays.
* Introduce configurable video ram size through the "videoram" config
* file option, shrinking default video ram used to 4 Megs (thus
* eliminating 4 wasted megs/VM that have been the case until now), but
* allowing users to specify up to 16 Megs of vram, to support the
* extreme high resolutions such as 2560x1600x32.

Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2009-01-14 10:51:58 +00:00
Keir Fraser 5abf934455 hvmloader: remove videoram allocation; move reserve base to 0xfc000000.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2009-01-13 15:42:47 +00:00
Keir Fraser 47cee35ef0 xend: fix ballooning bug
c/s 18960 introduced a bug when xend balloons memory. The function
balloon.free requires a reference to a XendDomainInfo object, which is
missing in one call of this function. Attached patch fixes this. Also
replaced the variable name "self" in the (classless) function with
something more descriptive.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Reported-by: Maik Hentsche <maik.hentsche@amd.com>
2009-01-13 15:29:06 +00:00
Keir Fraser 6b1ce5497d build: Define cc-option-add to immediately add options to CFLAGS
without deferring the test execution of CC. This avoids extra
executions of CC every time CFLAGS is expanded.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-01-13 08:59:49 +00:00