Commit Graph
15807 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain c0e85ece47 Fix blktap script for versions of readlink command that do not handle
regular files.
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Signed-off-by: Josh Nicholas <jnicholas@virtualiron.com>
2007-08-31 11:10:21 +01:00
Tim Deegan c028cc106a [HVM] Shadow: don't shadow the p2m table.
For HVM vcpus with paging disabled, we used to shadow the p2m table,
and skip the p2m lookup to go from gfn to mfn.  Instead, we now
provide a simple pagetable that gives a one-to-one mapping of 4GB, and
shadow that, making the translations from gfn to mfn via the p2m.
This removes the paging-disabled special-case code from the shadow
fault handler, and allows us to expand the p2m interface, since all HVM
translations now go through the same p2m lookups.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-08-31 11:06:22 +01:00
Tim Deegan e5544039c9 [XEN] Shadow: remove ununsed function shadow_convert_to_log_dirty().
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-08-31 10:59:41 +01:00
kfraser@localhost.localdomain 527571ecef Support extensions to Intel architecture for TXT/SMX.
Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-30 18:53:54 +01:00
kfraser@localhost.localdomain af6a326c1a qemu: Allow more IDE power management.
Made the QEMU IDE disk tolerate more power-mgmt commands, specifically:
        WIN_SETFEATURE(EN_AAM)  - enable automatic acoustic mgmt
        WIN_SETFEATURE(DIS_AAM) - disable automatic acoustic mgmt
        WIN_SETFEATURE(DIS_APM) - disable automatic power mgmt
        WIN_STANDBY
        WIN_SETIDLE1
        WIN_SLEEPNOW1
        WIN_STANDBY2
        WIN_SETIDLE2
        WIN_SLEEPNOW2
        WIN_STANDBYNOW2
These are all essentially no-ops, like existing support for EN_RLA
(enable read lookahead) and WIN_STANDBYNOW1.

This fixes a crash in the SLES9-SP3 64bit kernel when the powersaved
was started (with ACPI or ACM).  This guest really only needs EN_AAM,
DIS_APM, and WIN_SETIDLE1 support, but the others seemed sensible to
include.

I've excluded EN_APM since I'm unsure of what that's agreeing to do.
It's probably ok to include.

Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Signed-off-by: David Lively <dlively@virtualiron.com>
2007-08-30 16:41:57 +01:00
kfraser@localhost.localdomain c1d183f3dd blktap: Fix double-free in tapdisk cleanup.
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Signed-off-by: Josh Nicholas <jnicholas@virtualiron.com>
2007-08-30 16:29:10 +01:00
kfraser@localhost.localdomain abfd726ed8 PV-on-HVM: Define DEFINE_RWLOCK() macro for older Linux kernels.
Signed-off-by: Ben Guthro <bguthro@virtualron.com>
2007-08-30 16:17:07 +01:00
kfraser@localhost.localdomain f4f4412534 PV-on-HVML: Remove extra parentheses in netif_tx_lock_bh and netif_tx_unlock_bh
macros, as it caused problems when compiling against a SLES9 tree.

Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
2007-08-30 16:13:42 +01:00
kfraser@localhost.localdomain 4a517de8f6 [ACM/XEND] Fix case where resource label file does not exist.
Fix the case where the resource label file does not exist but its
contents would be needed for access control evaluations.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-08-30 15:39:13 +01:00
kfraser@localhost.localdomain 6236121d5f qemu: Remove mapcache lock - we no longer have multiple threads in core qemu code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-30 15:35:10 +01:00
kfraser@localhost.localdomain 9ac422f0e2 Update dump-core-foramt.txt documentation.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 15:00:49 +01:00
kfraser@localhost.localdomain 75dabf614d Introduce xc_core_arch_gpfn_may_present() hook.
On ia64 trying to map a foreign domain page which isn't allocated
cause annoying warning message. xm dump-core results in too many
warnings. With this hook, ia64 dump-core can suprress warning.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 15:00:21 +01:00
kfraser@localhost.localdomain 0e0204500e Optimize xc_core.c implementation.
Optimize out unnecessary map/unmap foreign domain page
by moving p2m/pfn talbe after pages array.
This patch doesn't change the xm dump-core format.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 14:58:40 +01:00
kfraser@localhost.localdomain c583625712 Some minor cleanup of xc_core.c.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 14:57:24 +01:00
kfraser@localhost.localdomain 5e9b89146b xen: Understand the E820_UNUSABLE (type code 5) memory type.
Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-30 11:01:39 +01:00
kfraser@localhost.localdomain f57dc30e30 hvm: Provide an HVMOP_flush_tlbs to flush VCPU TLBs.
From: Peter Johnston <pjohnston@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-30 09:57:09 +01:00
kfraser@localhost.localdomain 067b09326e ioemu: Avoid unaligned guest memory accesses on ia64.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-29 15:47:55 +01:00
kfraser@localhost.localdomain b7794267c2 Skipping image name at start of command line is an
architecture-specific action. Definitely not required on IA64, for now
make it just x86 specific.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-29 15:43:53 +01:00
kfraser@localhost.localdomain 357caf631c hvm: Add rombios decoding of F11/F12 scancodes in support for
Microsoft's Remote Installation Services, which require F11/F12 keys

Signed-off-by: Ben Guthro <bguthro@virtualron.com>
Signed-off-by: Steve Ofsthun <sofsthun@virtualiron.com>
2007-08-29 15:02:41 +01:00
kfraser@localhost.localdomain 34d8b97250 Improve commenting of xencomm_ctxt_next().
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-29 15:01:57 +01:00
kfraser@localhost.localdomain fa505361f6 hvm: Intercept reads of MSR_IA32_MCG_CAP and return 0.
This indicates no  machine check "units", which agrees more closely
with Xen's super-minimal machine check architecture (just enough to
allow Windows to run). This fixes a bug that occurs when migrating a
RHEL4-64bit guest to a host with fewer machine check units than the
original host.  These host physical details shouldn't be leaking
through to guests.

Signed-off-by: David Lively <dlively@virtualiron.com>
2007-08-29 14:57:12 +01:00
kfraser@localhost.localdomain 17af24e189 x86: Do not #GP when guest writes unexpected values to CR4. Just
ignore them.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-29 14:54:14 +01:00
kfraser@localhost.localdomain 201b1e702b x86: Remove (most) Centaur CPU support. Only VIA C7 can work, as it
has CMOV support. Leave a small amount of centaur.c around to support
that. MTRR code goes entirely, as 686-class Centaur CPUs have generic
MTRR support.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-29 14:40:00 +01:00
kfraser@localhost.localdomain 4e8e841109 x86: Kill Rise iDragon support.
Don't carry dead code needlessly: this is a family 5 CPU, which Xen
doesn't support. Perhaps, other CPUs' files could use some cleanup in
that respect, too, but there it would increase the delta to the Linux
origin of these files, while here the entire file can go away.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-08-29 11:34:01 +01:00
kfraser@localhost.localdomain 72885c0fa3 ioemu: Avoid struct members clashing with POSIX apis
The TPM code in tools/ioemu/hw/tpm_tis.c has a struct containing a
number of function pointers with names open, close, read, write which
are the same as various POSIX apis already #included in the
file. POSIX allows these functions to be defined as macros and latest
GCC/glibc does indeed define them as macros depending on compiler
flags. This causes compile errors when deferencing the struct
members. The solution is either to change calls like   ctx->open () to
be (* ctx->open) (), or simply to rename the struct members. Since
this struct was only used inside that one file I simply renamed them.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2007-08-28 16:13:35 +01:00
kfraser@localhost.localdomain 40f18cbcf0 xm: Fix error message for xm create command.
When I tested xm create command, I saw the following error message.
I expected an error message "Error: (12, 'Cannot allocate memory')"
because I intentionally caused a memory shortage on the test.
But the error message was different from my expectation.

# xm create /xen/HVMdomain.1
Using config file "/xen/HVMdomain.1".
Error: an integer is required

I looked at xend.log to examine the cause why the error message was
shown.  (Could you see the attached xend.log?)
xend had the error message "Error: (12, 'Cannot allocate memory')"
first.  But xend changed the error message to "Error: an integer is
required" halfway.  I'm not sure about the cause why an exception
occurred in logging processing.  But when I applied an attached patch,
I confirmed that the error message that I expected was shown.  The
patch does not call xc.domain_destroy_hook() if self.domid is None.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2007-08-28 16:11:05 +01:00
kfraser@localhost.localdomain de01426fdf ioemu: error checkin when setting up the Cirrus Logic video device.
set_mm_mapping() may fail because of xc_domain_populate_physmap().  In
this case, we should not blindly go on; the xc_map_foreign_batch()
that follows will cause a page fault and, at best, get mapped in a
zeroed page from the dom0 (which is not what we want).  While I'm in
here, fix a memory leak on an error path.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2007-08-28 16:08:38 +01:00
kfraser@localhost.localdomain 81217a7a8d xend: Fix memory ballooning logic during save/restore. Should be same
as during domain creation.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2007-08-28 16:06:32 +01:00
kfraser@localhost.localdomain 145dd4e0fb Fix VNC server after HVM save/restore/migrate, when no vncpasswd specified.
The basic problem was that the "image" section of the sxp had a "None"
in it, which means that on the restore (either on the local machine or
remote machine), the vnc server in the qemu device model literally
needed the string "None" to properly connect.  This simple patch only
puts a vncpasswd entry in the image if it is *not* None in the python
code, thus avoiding the whole issue.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
2007-08-28 15:58:46 +01:00
kfraser@localhost.localdomain 62ba102d87 xencomm: Code style cleanups.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-28 15:44:19 +01:00
kfraser@localhost.localdomain ca4a49e4cc [xen, xencomm] xencomm multiple page support
Current implementation doesn't allow struct xencomm_desc::address
array to be more than single page. On IA64 it causes 64GB+ domain
creation failure. This patch generalizes xencomm to allow multipage

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-28 15:32:27 +01:00
kfraser@localhost.localdomain ac1e3a08a8 [xen, xencomm] fix various xencomm invalid racy access.
- Xencomm should check struct xencomm_desc alignment.
- Xencomm should check whether struct xencomm_desc itself (8 bytes)
  doesn't cross page boundary. Otherwise a hostile guest kernel can
  pass such a pointer that may across page boundary. Then xencomm
  accesses an unrelated page.
- Xencomm shouldn't access struct xencomm_desc::nr_addrs multiple
  times. Copy it to local area and use the copy.
  Otherwise a hostile guest can modify at the same time.
- Xencomm should check whether struct xencomm_desc::address[] array
  crosses page boundary. Otherwise xencomm may access unrelated pages.
- Xencomm should get_page()/put_page() after address conversion from
  paddr to maddr because xen supports SMP and balloon driver.
  Otherwise another vcpu may free the page at the same time.
  Such a domain behaviour doesn't make sense, however nothing prevents
  it.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-28 15:31:56 +01:00
kfraser@localhost.localdomain 22f2674542 hvmloader: Clarify relationship between xen_domain_handle_t and SMBIOS uuid field.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-24 16:32:56 +01:00
Keir Fraser 8356257742 x86: Fix paging_init() to not overwrite existing page-directory entry
for fixmap area.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-24 16:19:14 +01:00
kfraser@localhost.localdomain b7d20cfb9d Merge with ia64/xen-unstable.hg 2007-08-17 16:48:10 +01:00
Ian Campbell 47e2355fc9 silentoldconfig seems to break automated testing, try an explicit make prepare
instead.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-08-17 16:34:11 +01:00
kfraser@localhost.localdomain b43bbe7bf0 Update version number to reflect that next stable release will be 3.2.x
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-17 15:43:24 +01:00
Ian Campbell d6ad276628 Linux 2.6.18 doesn't create include/linux/autoconf.h as a side effect
of make oldconfig. Use silentoldconfig instead.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-08-17 13:30:05 +01:00
Ian Campbell bc39e90242 Pull XEN_LINUX_UPDATE into mk.linux-2.6-xen so it can be shared by
src.tarball and src.hg-clone

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-08-17 13:28:53 +01:00
kfraser@localhost.localdomain 270415d327 Add sharing-check for blktap
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
Signed-off-by: Hirofumi Tsujimura <tsujimura.hirof@jp.fujitsu.com>
2007-08-17 10:02:52 +01:00
kfraser@localhost.localdomain 8b7f8bce55 xend: Fix vbd detach.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2007-08-17 10:01:40 +01:00
kfraser@localhost.localdomain 133feccc85 Fix "xm restore" require 4 times amount of memory on ia64.
Signed-off-by: Masayuki Igawa <igawa@mxs.nes.nec.co.jp>
2007-08-17 10:00:22 +01:00
kfraser@localhost.localdomain 0af35cef10 xend: Avoid unnecessary writes to xenstore.
Type of rtc/timeoffset is not 'int' but 'str'.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2007-08-17 09:59:28 +01:00
Alex Williamson f87e8be01d [IA64] xencomm - compilation fix of unmodified driver
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-16 13:46:50 -06:00
Alex Williamson 842e49b295 [IA64] Use common xencomm.c and remove ia64 xencomm.c
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-16 13:03:41 -06:00
Alex Williamson f628da7abf merge with xen-unstable.hg 2007-08-16 10:47:33 -06:00
Alex Williamson a787af4ec3 [IA64] Support of 4k page size for individual guests
4k pagesize support per vcpu

Signed-off-by: Juergen Gross <juergen.gross@fujitsu-siemens.com>
2007-08-16 10:03:26 -06:00
Alex Williamson b10564cbaa [IA64] Shrink vtlb size
Instrumenting thash_purge_all() shows a very low usage of vtlb
entries (21 at most).

This patch shrinks the default vtlb size from 512KB to 16KB
to optimize memory.  This also speeds up ptc_e emulation.
To improve the hash function, frequency of collision never changed
and there is no performance degradation.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2007-08-16 09:37:54 -06:00
kfraser@localhost.localdomain 6fcad535ee Tack -m32/-m64 on HOSTCFLAGS when COMPILE_ARCH is x86.
Should fix building in Solaris environments.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-16 16:00:17 +01:00
kfraser@localhost.localdomain 2aef880641 Avoid new-fangled gnumake else-if syntax.
Declarative style is neater anyway.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-16 15:59:18 +01:00