Commit Graph
552 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 971ec7119c [XEN] getpagframeinfo field name mfn -> gmfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-05 17:37:08 +01:00
kfraser@localhost.localdomain 8f33ca9931 [XEN] Hypercall-init dom0_op takes GMFN, not MFN.
Signed-off-by: Steven Smith <sos22@cl.cam.ac.uk>
2006-07-05 17:16:10 +01:00
kaf24@firebug.cl.cam.ac.uk d2f56f3181 Merge with xen-ia64-unstable.hg 2006-07-03 08:35:12 +01:00
kaf24@firebug.cl.cam.ac.uk dbc8a9969c [LIBXC] Fix the 64-bit build.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-01 09:37:24 +01:00
kaf24@firebug.cl.cam.ac.uk 6b4c5ff3c8 Provide more specific and helpful error messages during ELF loading.
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-30 22:19:08 +01:00
kaf24@firebug.cl.cam.ac.uk f4c633d8ec Allow 32-bit libxc to load 64-bit ELF files.
- use 64-bit integral types for addresses in struct domain_start_info
- use stroull() to parse 64-bit values
- remove redundant _p(a) definition and add a comment
- printf format changes for the new types

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-30 22:18:01 +01:00
shand@kneesaa.uk.xensource.com b687b766ae Fail save if we have an out-of-sync P2M/M2P (since otherwise the restore
will fail later). 

A better fix would be to tolerate temporary out-of-sync situations so we 
can make a nicer fix to the kunmap_atomic() iossue (c/f -unstable csets 
10529 & 10533) but this requires some more thought. 

Signed-off-by: Steven Hand <steven@xensource.com>
2006-06-29 11:31:10 +01:00
kaf24@firebug.cl.cam.ac.uk b7207e32e4 Use address types in elf parser that match elf headers.
Necessary if a long is a different size to addresses in elf
file being parsed.
From: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-28 20:46:01 +01:00
awilliam@xenbuild.aw 5c8c8991da merge with xen-unstable.hg 2006-06-28 07:52:21 -06:00
kfraser@dhcp93.uk.xensource.com 8c01122785 [TOOLS] Remove plan9 loader code. Latest plan9 port uses linux builder.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-27 14:38:58 +01:00
awilliam@xenbuild.aw 51cd0d362b merge with xen-unstable.hg 2006-06-23 15:33:25 -06:00
kaf24@firebug.cl.cam.ac.uk b9ad8f1e13 [TOOLS] Fix set_bit/clear bit for x86/64 in xc_linux_save
From: John Byrne <john.l.byrne@hp.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-22 21:37:33 +01:00
kaf24@firebug.cl.cam.ac.uk c772fee485 [TOOLS] Fix pagetable-pinning loop in xc_linux_restore.
Previously it would not pin last PFN in physmap even if it was
a pagetable page.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-22 14:12:01 +01:00
kaf24@firebug.cl.cam.ac.uk 42fae7ae02 [XEN] localtime support for paravirtualized guests
It is quite minimal
in its approach, satisfying the purposes of the paravirtualized
NetWare operating system as well as any others that expect the time
base to be provided in localtime.

Signed-off-by: Bruce Rogers <brogers@novell.com>
2006-06-21 17:09:14 +01:00
awilliam@xenbuild.aw 832cc7c654 [IA64] enable xenctx on ia64
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-19 13:26:45 -06:00
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06:00
kaf24@firebug.cl.cam.ac.uk 76f880fe7d [TOOLS] Introduce xc_evtchn_*() interface for interacting with /dev/xen/evtchn.
No longer open the device as non-blocking: all reads immediately follow
a select() on the device indicating it's ready to read.

Signed-off-by: John Levon <john.levon@sun.com>
2006-06-15 13:11:31 +01:00
awilliam@xenbuild.aw 3d089e3ba1 merge with xen-unstable.hg 2006-06-13 12:12:24 -06:00
kfraser@dhcp93.uk.xensource.com 00dc8b3bf1 [TOOLS] Fix PAE save/restore/migrate: we must flush
all pending 'mmu updates' before moving page directories
below 4GB.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 17:30:30 +01:00
kfraser@dhcp93.uk.xensource.com 7758dfc719 [TOOLS][BUILDER] Extend Elf header checks for multiple architectures.
Based on a patch from Hollis Blanchard.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 14:36:04 +01:00
kaf24@firebug.cl.cam.ac.uk 7babda9241 [TOOLS] Fix domain builder to carefully check that mapped memory area
does not overflow and wrap to zero.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-08 09:52:04 +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 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
awilliam@xenbuild.aw ae0bcae60a [IA64] pass vcpu nr to guest firmware
This patch pass the vcpus number to VT-i domain guest firmware,
so that guest firmware can set SMP info accordingly, mostly in
ACPI MADT table.  

This patch is required by VT-i  SMP support.

Signed-off-by: Yu Ke <ke.yu@intel.com>
2006-06-05 14:23:57 -06: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 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
kfraser@dhcp93.uk.xensource.com 3f2522e1ac Use a global build configuration file, and rework libxc Makefile for PPC.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-05-31 11:31:52 +01:00
kaf24@firebug.cl.cam.ac.uk 3903e920a1 Rename csched -> sched_credit/sched-credit in control plane.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-27 10:13:27 +01:00
kaf24@firebug.cl.cam.ac.uk c263397874 [PAE] Allow pgdirs above 4GB for paravirt guests.
**NOTE**: This obviates the need for lowmem_emergency_pool.
Unpriv guests no longer need to be able to allocate memory
below 4GB for PAE PDPTs.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-26 17:22:30 +01:00
ack@kneesa.uk.xensource.com 46ecd27056 New weighted fair-share CPU scheduler w/ automatic SMP load balancing
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
2006-05-26 11:14:36 +01:00
kaf24@firebug.cl.cam.ac.uk 22c42d4bc0 Fix xc_tbuf.c indentation and stop turning failure to change
trace-buffer size into a fatal error.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-25 14:42:07 +01:00
kaf24@firebug.cl.cam.ac.uk 04f28b0fc7 [PTRACE] Fix ptrace for hvm guests.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-05-24 14:12:40 +01:00
awilliam@xenbuild.aw 7e713108be merge with xen-unstable.hg 2006-05-22 14:13:38 -06:00
kaf24@firebug.cl.cam.ac.uk ed7041aaff [LOADER] More sanity checks when parsing Elf images to avoid
out-of-bounds array accesses when loading the image.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-21 20:15:58 +01:00
kaf24@firebug.cl.cam.ac.uk 630ad4e0ad [ACM] Replace the union structure parameter of the ACM hypercalls
with command-specific request structures. It aligns the ACM
hypercalls with the way parameters are passed in the event channel
hypercalls.

Advantages include backward-compatibility regarding old guests when
new calls are added and clarity of the code.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>
2006-05-21 19:05:31 +01:00
kaf24@firebug.cl.cam.ac.uk b9cede7418 [LOADER] Another change to the elf_paddr_offset/virt_base logic.
This avoids using zero to indicate 'undefined'. Instead we use
an explicit boolean to indicate whether suitable defaults should
be used. As well as making the logic clearer (I believe) it also
avoids problems if anyone ever explicitly specifies virt_base
(and also elf_paddr_offset) as zero.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-21 18:55:14 +01:00
kaf24@firebug.cl.cam.ac.uk e699658dbb [LOADER] Remove check for VIRT_BASE existence: it's not needed
to prevent xend crashign (when Aravindh's latest patch is
applied) and breaks ia64. Also, ensure we set a reasonable
default for elf_paddr_offset.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-21 09:55:15 +01:00
kaf24@firebug.cl.cam.ac.uk 1dfbe29c87 [BUILDER] Always build initial PAE pagetables with a fourth mid-level
pgdir. This is required for Xen to be able to insert its own protected
mappings. At the same time, clean up 32b and pae pagetable-size
calculations to use the helper macro already used for x86/64.

Based on an original patch from Bruce Rogers at Novell.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-20 16:25:28 +01:00
kaf24@firebug.cl.cam.ac.uk d3eb6da342 Fix a crash in gdbserver-xen where it references unmapped memory if
the page directory / page table pages are not present (for example
through dereferencing NULL in the gdb session). Changes:

- map_domain_va_32 has been rewritten to match map_domain_va_pae and
  map_domain_va_64.

- All three functions have been extended to handle multiple vCPUs,
  (untested, but shuld work), and check for _PAGE_PRESENT.

- Keir's workaround for the compile error in map_domain_va_64 has been
  removed and hopefully fixed.

Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
2006-05-19 15:22:11 +01:00
kaf24@firebug.cl.cam.ac.uk 73e9ee97b4 Theoretically a 0 VIRT_BASE is okay. Change the bail code when
parsing elf headers to bail only when VIRT_BASE is not specified
at all.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-17 23:41:59 +01:00
kaf24@firebug.cl.cam.ac.uk 86c03b97cb This patch fixes the Linux builder so that it dies gracefully when
trying to load malformed ELF images.
Signed-off-by: Aravindh Puthiyaparambil <aravindh.puthiyaparambil@unisys.com>
2006-05-17 23:19:18 +01:00
kaf24@firebug.cl.cam.ac.uk dbb16ea9d1 Fix the tools build:
1. xenctrl.h needs to include stddef.h to define size_t
 2. tbctl is broken -- remove it since xenmon and xentrace
    both automatcially enable tracing now
 3. Fix setsize after xc_tbug interface changes

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-16 13:35:59 +01:00
kaf24@firebug.cl.cam.ac.uk b152f0ed7a Use common code for enabling tracing via xenmon and xentrace, also fixing
the last two remaining xc_private.h users outside of libxc.

Signed-off-by: John Levon <john.levon@sun.com>
2006-05-16 09:18:25 +01:00
awilliam@xenbuild.aw 4bfd7b5e13 [IA64] Strengthen dom0_getmemlist
reset num_pfns before hypercalling, more checks in hypercall, cleanup

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-05-15 13:42:18 -06:00
awilliam@xenbuild.aw 0b5ba3777d [IA64] move evtchn_vector to shared_info
Move evtchn_vector from vcpu_info to shared_info.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-05-15 10:53:23 -06:00
kaf24@firebug.cl.cam.ac.uk 4f08f939e2 Fix 64-bit build. xc_ptrace() is still broken for x86/64 however.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-14 20:13:14 +01:00
kaf24@firebug.cl.cam.ac.uk 6ca3eb3308 Fix an out-of-bounds memory access in xc_ptrace.c.
Currently, Xen always copies the entire 512 byte extended
FPU state (fxsave) even if only the "regular" FPU state was
requested.

This breaks since the memory buffer allocated in
linux-xen-low.c:regsets_fetch_inferior_registers() is only large
enough to hold the "plain" FPU registers.

Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
2006-05-12 15:47:25 +01:00
kaf24@firebug.cl.cam.ac.uk 3e3fe8486d Re-enables ptrace for paravirtualized guests.
Changes:

- Added to_ma function which translates a physical address to a
  machine address for HVM guests and just returns the address for PV
  guests.

- Use to_ma() in map_domain_va_32, map_domain_va_pae and
  map_domain_va_64 to abstract away differences between HVM and PV
  guests.

- (From Keir, Ryan) Export CR0 to PV guests as well.

I've removed the address checks against 0 since the last version since
physical/machine address 0 should be valid. Invalid translations
should be catched in xc_map_foreign_domain.

Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
2006-05-12 15:26:39 +01:00
cl349@firebug.cl.cam.ac.uk 15efc30a11 Add support to domain builders for loading kernels with physical addresses in the elf paddr and entry fields.
Add a new __xen_guest header field to distinguish between kernels with
the previous use of the paddr field and the new use.
Add a new __xen_guest header field to control the kernel entry point,
since the elf header entry field now points to a physical address.
This header field is also useful for supporting alternative entry
points in kernel images which run both on xen and native.
Also add a kernel config option to control whether the resulting kernel
should include compatibility code to run on Xen 3.0.2 or whether such
code such be left out, resulting in a kernel which will only run on
newer Xen versions.  Default to having compatibility enabled.
Kernels built with the new use of the elf header fields would otherwise
not work on Xen versions prior to this changeset.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-05-11 17:30:50 +01:00
kaf24@firebug.cl.cam.ac.uk 118614a90c Fix a typo in xc_ptrace() and fix single-stepping when attached
to a live guest.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-11 11:33:07 +01:00