Commit Graph
15798 Commits
Author SHA1 Message Date
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
kfraser@localhost.localdomain 713bbc0699 Allow Xen to build on FreeBSD.
From: Julian Stecklina <der_julian@web.de>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-16 15:44:37 +01:00
kfraser@localhost.localdomain e28e04d593 Remove unused max_dma_mfn variable.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-16 13:27:59 +01:00
kfraser@localhost.localdomain c9fd63e861 xencomm: Fix for code style.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-14 16:32:49 +01:00
kfraser@localhost.localdomain 6877a0de29 [xen, xencomm] preparetion for xencomm consolidation.
Xen/powerpc runs in real mode so that it uses maddr interchangably
with vaddr. But it isn't the case in xen/ia64. It is necessary to
convert maddr to vaddr to access the page. maddr_to_virt() doesn't
convert on powerpc, so it should work on both archtechture.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-14 16:01:34 +01:00
kfraser@localhost.localdomain ad2c8b83e8 [xen, xencomm] xencomm trivial bug fix
- fix return address of xencomm_copy_to_guest()
- fix xencomm_add_offset()
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-14 16:01:08 +01:00
kfraser@localhost.localdomain 5fcc2e7692 xen: Cache 'current' vcpu in physdev_op hcall implementation.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2007-08-14 15:58:16 +01:00
kfraser@localhost.localdomain 10ef7a91b5 xen: Do not accept DOMID_SELF as input to DOMCTL_getdomaininfo.
This was screwing up callers that loop on getdomaininfo(), if there
was a domain with domid DOMID_FIRST_RESERVED-1 (== DOMID_SELF-1).
They would see DOMID_SELF-1, then look up DOMID_SELF, which has domid
0 of course, and then start their domain-finding loop all over again!
Found by Kouya Shimura <kouya@jp.fujitsu.com>. Thanks!
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-14 09:56:46 +01:00
kfraser@localhost.localdomain 807d8048a2 libxc: Various xc_evtchn_* functions must return signed integer type.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-14 09:21:39 +01:00
kfraser@localhost.localdomain 2209d892f9 hvm: Cleanups to state-restore paths (including vmxassist world restore).
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-08-13 18:18:22 +01:00