Commit Graph
10293 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk a47f6548d9 [HVM][MMIO] Emulate more instructions: or/and/xor with byte width,
and load string (LODS) instructions.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Yunfeng zhao <yunfeng.zhao@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-06-07 14:20:29 +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
kaf24@firebug.cl.cam.ac.uk e56ed2dc52 [HVM][PIT] Fix missed_ticks() logic.
Signed-off-by Xiaowei Yang <xiaowei.yang@intel.com>
2006-06-07 13:42:21 +01:00
kaf24@firebug.cl.cam.ac.uk fe777d0a4c [LINUX][X86/64] Support IO-port permissions bitmaps (ioperm() syscall).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-07 13:38:08 +01:00
kaf24@firebug.cl.cam.ac.uk 2ad3e284b4 x86/64 Linux: destroy entire init memory mapping beyond kernel image.
Avoids overlap with modules mapping area.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-07 11:24:44 +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 d404680bc3 Use explicitly-sized types in the dom0_ops and privcmd structures.
As discussed previously, the these operations are not performance-sensitive, so
the additional cache footprint shouldn't be an issue.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-06 10:25:59 +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 542ad2f200 [NET] front: Turn grant-ref error into a fatal bug. That's the best we
can do until we have a backend driver recovery method.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-06 08:21:31 +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
kaf24@firebug.cl.cam.ac.uk ff476d8ed1 [HVM][VMX] Interrupts must be kept disabled when entering Xen for
external interrupt processing. Remove code that immediately
reenabled interrupt delivery on VMEXIT.
Signed-off-by: Seteven Smith <sos22@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-05 17:17:27 +01:00
kaf24@firebug.cl.cam.ac.uk 42d838e49b [NET] back: Add a few comments to the goriest parts of the scatter-gather patch.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-05 17:03:19 +01:00
kaf24@firebug.cl.cam.ac.uk 8267025532 [NET] front: Transmit SG packets if supported
This patch adds scatter-and-gather transmission support to the frontend.
This allows the MTU to be raised right now and the potential for TSO in
future.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-06-05 16:33:49 +01:00
kaf24@firebug.cl.cam.ac.uk 99812f4013 [NET] back: Add SG support
This patch adds scatter-and-gather support to the backend.  It also
advertises this fact through xenbus so that the frontend can detect
this and send through SG requests only if it is supported.

SG support is required to support skb's larger than one page.  This
in turn is needed for either jumbo MTU or TSO.  One of these is
required to bring local networking performance up to a level that
is acceptable.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-06-05 16:13:47 +01: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 08f2d66ff6 [NET] back: fix synchronisation of access to deallocation buffer ring.
Must ensure ring is written to before producer index is incremented.
Bug diagnosed by Ky Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-05 15:14:58 +01:00
kaf24@firebug.cl.cam.ac.uk d3a5ffe775 Extend callback-registration hypercall to take a flags argument.
This can currently be used to request that event delivery be
disabled during callback processing.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-05 14:35:22 +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 44beffcd61 [LINUX] Simply shared_info mapping code. Always use a fixmap.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 19:14:44 +01:00
kfraser@dhcp93.uk.xensource.com 585c0a4528 [LINUX][X86_64] Destroy initial page-table mappings to avoid overlap with modules.
The temporary mappings needed to set up the 1:1 mappings must be torn
down after use; otherwise they may trigger the
WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold
kernel and initial page tables gets close to or
exceeds 128Mb, or if a sufficiently high mem= argument causes the
static allocations to grow beyond 128Mb, which in
either case means these mappings extend into the modules area).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-02 18:06:50 +01:00
kfraser@dhcp93.uk.xensource.com 7ec31d2960 Fix Xen build with some versions of gcc.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 17:54:55 +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 dd9f789cb6 A few put_cpu() calls were missed when adding CONFIG_X86_NO_TSS.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-02 13:36:29 +01:00
kaf24@firebug.cl.cam.ac.uk e16b4fa8fe [NET] loopback: Added support for SG
Just like the standard loopback device, SG support here is innate.
So all we need to do is mark it as such and zero the change_mtu method
so that the MTU can be changed at will.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-06-02 12:19:33 +01:00
kaf24@firebug.cl.cam.ac.uk cf7e961ca7 Use halt() instead of asm("hlt").
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-02 12:14:27 +01:00
kaf24@firebug.cl.cam.ac.uk 413629e69f Add backing support for HDIO_GETGEO ioctl to blkfront.
Inspired by an earlier patch from Charles Coffing.
Signed-Off-By: Jan Beulich <jbeulich@novell.com>
2006-06-02 12:13:34 +01:00
kaf24@firebug.cl.cam.ac.uk 6d747ccc8f [PAE] Fix support for pgdirs above 4GB. Requires an interface change so that %cr3
is extended to include high-order address bits at bottom of %cr3 value.
Guests who understand this interface change publish the fact by setting the
option 'PAE=yes[extended-cr3]' in their __xen_guest section.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 11:46:24 +01:00
kfraser@dhcp93.uk.xensource.com f365408b0d [HVM] Fix a problem when destroying a Windows guest.
From: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-06-02 09:36:28 +01:00
kaf24@firebug.cl.cam.ac.uk 32ede0e12b Move idle-vcpu allocation logic to a common function.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2006-06-02 09:31:35 +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
kfraser@dhcp93.uk.xensource.com 5d30fd9f10 Build breakage: revert 10247:2fd7f4fb7d1453e4ff418c06961b0bd9fcb71129.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-02 09:15:51 +01:00
kaf24@firebug.cl.cam.ac.uk 8b6787faa7 [IA64] Fix Xen running on IA64. Some function prototypes were
moved to domain.h and hence undefined in some source files.
This meant that some return types defaulted to int, resulting
in corruption.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2006-06-02 07:56:41 +01:00
kaf24@firebug.cl.cam.ac.uk 85bcc12ba7 Fix pagetable accessor macros in Xen to have better names and to
preserve top bits of PAE pgdirs situated above 4GB.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 22:21:39 +01:00
kaf24@firebug.cl.cam.ac.uk 8cd06eb323 Use DEFINE_SPINLOCK consistently throughout Xen.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 21:49:25 +01:00
kaf24@firebug.cl.cam.ac.uk 6af99de37c Allow all trace-buffer hypercalls to be executed even when tracing is currently disabled.
From: George Dunlap
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 21:34:47 +01:00
kaf24@firebug.cl.cam.ac.uk a0746b30b0 [LINUX] Fix cpu_possible_map initialisation.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 19:14:42 +01:00
kaf24@firebug.cl.cam.ac.uk 410f6d8716 [LINUX][X86_64] Fix initial memory mapping code.
The temporary mappings needed to set up the 1:1 mappings must be torn down after use; otherwise they may trigger the
WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold kernel and initial page tables gets close to or
exceeds 128Mb, or if a sufficiently high mem= argument causes the static allocations to grow beyond 128Mb, which in
either case means these mappings extend into the modules area).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-01 19:07:40 +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
kaf24@firebug.cl.cam.ac.uk 296d1a2fd4 [LINUX] Converge ia64 versions of xen/drivers Makefiles with general versions.
This patch converges the ia64-specific and general versions of
xen/drivers/Makefile and xen/drivers/core/Makefile, using Kconfig
settings instead to control whether specific pieces are built.

Signed-off-by: Aron Griffis <aron@hp.com>
2006-06-01 18:29:23 +01:00
kaf24@firebug.cl.cam.ac.uk d884b10778 Domain creation/destruction cleanups.
1. Move alloc/dealloc routines to domain.[ch]
 2. Merge alloc_task/add_vcpu schedops -> init_vcpu
 3. Merge free_task/remove_vcpu schedops -> destroy_domain

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 18:10:00 +01:00
kfraser@dhcp93.uk.xensource.com cf220cf03b Fix dummy domains (DOM_IO and DOM_XEN) creation so that
list heads are initialised.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 16:39:42 +01:00
kfraser@dhcp93.uk.xensource.com f7ec354306 Fix negation of unsigned quantities in the Xen x86 emulator.
This fixes the problems left behind by c/s 10171. Again pointed
out by Jan Beulich; and again different from his suggested patch.
Hopefully this one will be less embarrassing.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-01 16:31:37 +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