Commit Graph
268 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 728b3dab17 Creates a module that exports Xen Hypervisor attributes to sysfs. The
module has a tri-state configuration so it can be a loadable module.

Views the hypervisor as hardware device, uses sysfs as  a scripting
interface for user space tools that need these attributes.

Some user space apps, particularly for systems management, need to
know if their kernel is running in a virtual machine and if so in
what type of virtual machine. This property is contained in the
file /sys/hypervisor/type.

The file hypervisor_sysfs.c creates a generic  hypervisor subsystem
that can be linked to by any hypervisor. The file xen_sysfs.c exports
the xen-specific attributes.

Signed-off-by: Mike D. Day <ncmike@us.ibm.com>
2006-03-21 12:17:19 +01:00
kaf24@firebug.cl.cam.ac.uk ed87d736e9 merge with xen-ia64-unstable.hg 2006-03-18 10:59:11 +01:00
cl349@firebug.cl.cam.ac.uk ce0bcf0e64 Update to Linux 2.6.16-rc6.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : patches/linux-2.6.16-rc5/i386-mach-io-check-nmi.patch => patches/linux-2.6.16-rc6/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.16-rc5/net-csum.patch => patches/linux-2.6.16-rc6/net-csum.patch
rename : patches/linux-2.6.16-rc5/pmd-shared.patch => patches/linux-2.6.16-rc6/pmd-shared.patch
rename : patches/linux-2.6.16-rc5/smp-alts.patch => patches/linux-2.6.16-rc6/smp-alts.patch
2006-03-18 00:12:26 +00:00
awilliam@xenbuild.aw 824bd8fc88 [IA64] remaining privified insns removed
Privified insns replaced by hyperprivops.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-03-16 12:20:59 -07:00
awilliam@xenbuild.aw 499341ff62 [IA64] remove warning of xen_init()
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-03-15 08:20:28 -07:00
awilliam@xenbuild.aw 44784246fc merge 2006-03-14 13:50:35 -07:00
kaf24@firebug.cl.cam.ac.uk badff410e4 Define a new sched_op hypercall called sched_op_new, which differs from the
legacy hypercall in that it takes a pointer to a block of extra arguments
rather than an opaque unsigned long. The old hypercall still exists, for
backwards compatibility.

The new hypercall supports new sub-command SCHEDOP_poll, which can be used to
wait on a set of event-channel ports with an optional timeout. This is exported
in XenLinux as HYPERVISOR_poll, and used in the pcifront driver to wait on a
response from the pciback driver.

Can also be used for debuggers. :-)

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: John Levon <john.levon@sun.com>
2006-03-14 19:33:45 +01:00
kaf24@firebug.cl.cam.ac.uk d82dd13c9e Fix PAE ptep_get_and_clear_full(). The fast path requires us to manually clear
the low half before the high half. Otherwise the compiler may reorder the writes
and validation in Xen will fail.

From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-14 15:25:33 +01:00
kaf24@firebug.cl.cam.ac.uk 1e0419bfee No need to pin/unpin intermediate pagetables in x86/64 xenlinux.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-12 19:37:38 +01:00
awilliam@xenbuild.aw 5950e11777 [IA64] compilation fix hypercall.h
it refers dom0_op_t.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-03-10 09:18:52 -07:00
cl349@firebug.cl.cam.ac.uk 16c73f7f6c Map grant table pages in vmalloc kernel address space instead of fixmap.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-10 13:27:24 +00:00
cl349@firebug.cl.cam.ac.uk e2b8c75165 Change the location of the shared_info page for auto_translated_physmap guests.
Instead of putting the page outside of the guests pseudo-physical address
space, we put it next to the other pages filled by the domain builder,
such that the page is already mapped in the initial pagetables and/or a
lowmem-type memory mapping.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-09 16:24:57 +00:00
kaf24@firebug.cl.cam.ac.uk b76d31960b Fix 64-bit Linux build.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-08 11:11:53 +01:00
kaf24@firebug.cl.cam.ac.uk 97bdaa5bdf Upgrade all hypercalls to use the new guest_handle interface (on the Xen side).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-07 18:40:42 +01:00
cl349@firebug.cl.cam.ac.uk 343d7d9b01 Cleanup whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-06 17:15:10 +00:00
emellor@leeni.uk.xensource.com f8de6179af Added a 'state' field to the xenbus_device structure, which caches the state
at the local end of the xenbus connection (i.e. that value that is passed
through xenbus_switch_state).  This means that xenbus_probe can wait for all
the boot devices to become ready without having to hurt the store.

Also, fix this probing -- previously, the wrong value was being returned by 
all_devices_ready_, so this polling would only have waited for one device. 

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-04 19:10:56 +01:00
cl349@firebug.cl.cam.ac.uk 99e08d6078 linux: clean up setup_arch_post.h
- machine_specific_memory_setup() was unused on x86-64
- machine_specific_modify_cpu_capabilities() must not be __init (for CPU hotplug)
- machine_specific_modify_cpu_capabilities() should be called in similar ways on 32- and 64-bits

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-02 15:33:47 +00:00
kaf24@firebug.cl.cam.ac.uk 2f760d09a8 Merge xen-ia64-unstable.hg 2006-03-02 10:49:19 +01:00
vhanquez@kneesa.uk.xensource.com dcb858b089 Removing out-of-date unused file.
current code available in io/xs_wire.h

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-03-02 02:14:45 +00:00
awilliam@xenbuild.aw 8bda27c810 merge 2006-03-01 12:47:25 -07:00
awilliam@xenbuild.aw 138d5932c2 [IA64] Cleanup hypercall.h
Cleanup to hypercall.h of ia64 xenlinux, and remove used stuff.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-02-28 10:13:55 -07:00
cl349@firebug.cl.cam.ac.uk 9d77d697b1 Update to Linux 2.6.16-rc5.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-27 16:56:08 +00:00
cl349@firebug.cl.cam.ac.uk 0a28c5336a Fix non-xen build for: Make the fixmap area moveable in kernel address space.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-27 10:34:03 +00:00
cl349@firebug.cl.cam.ac.uk 566a61fa41 Fix non-xen build for: Move the gate page (vsyscall) out of the fixmap area
into user address space, just below PAGE_OFFSET.

From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-27 10:27:57 +00:00
cl349@firebug.cl.cam.ac.uk 62d449275c Add include/asm-i386/{fixmap,page}.h to sparse tree.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-27 10:26:01 +00:00
awilliam@xenbuild.aw 3a310f793d merge 2006-02-24 15:41:08 -07:00
awilliam@xenbuild.aw 77f6ce9bd0 [IA64] bug fix reserve_memory()
reserved_region[].start is of virtual address in identity
mapping. not physical address.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-02-24 08:44:34 -07:00
awilliam@xenbuild.aw 28c70b0a59 [IA64] import linux/include/asm-ia64/meminit.h from 2.6.16-rc3.
this is needed for a later patch to modify meminit.h

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-02-24 08:41:21 -07:00
awilliam@xenbuild.aw 979c647186 [IA64] hypercall cleanup
hypercall clean up.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-02-24 08:24:58 -07:00
cl349@firebug.cl.cam.ac.uk bb5d5f577a linux-i386: cleanup head.S, sync default_ldt and {new,boot}_cpu_data with native.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-24 14:41:45 +00:00
kaf24@firebug.cl.cam.ac.uk 9925f4a7dc Remove explicit munging of selector RPLs from Xen Linux x86/64.
Not needed now it's done by Xen.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-23 18:27:18 +01:00
cl349@firebug.cl.cam.ac.uk f79142a93d Make the fixmap area moveable in kernel address space.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-23 15:59:54 +00:00
cl349@firebug.cl.cam.ac.uk 7ac0b750e5 Move the gate page (vsyscall) out of the fixmap area into user address space,
just below PAGE_OFFSET.

From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-23 15:22:19 +00:00
cl349@firebug.cl.cam.ac.uk 14fbb23123 Add include/asm-i386/{a.out,elf}.h to sparse tree
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-23 15:22:17 +00:00
kaf24@firebug.cl.cam.ac.uk 186366e279 Remove some unnecessary diffs vs. native Linux. We now don't use the Xen
FLAT_foo segment selectors at all.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-23 15:33:08 +01:00
kaf24@firebug.cl.cam.ac.uk cc0225babb Fix netfront receive path for auto_translate_physmap mode.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-23 15:22:12 +01:00
kaf24@firebug.cl.cam.ac.uk 55232abc7e Rename XENFEAT_ring0_kernel to slightly more generic XENFEAT_supervisor_mode_kernel.
Add comments in public header version.h to explain what all the different
feature flags mean. Add a new flag XENFEAT_pae_pgdir_above_4gb to inform the guest
that its PAE page directories do not need to conform to the usual hardware
restriction.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-23 11:59:27 +01:00
Ian.Campbell@xensource.com a58703d1ed Add feature flag allowing guest kernel to run in domain 0.
To support this we give kernel GDT entries DPL=0 and use kernel
segment selectors with RPL=0. Xen will crunch these to ring 1 when
they are passed in. When a segment selector is used directly or placed
in a stack frame the guest OS is reponsible for crunching the RPL.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-02-22 19:11:23 +00:00
Ian.Campbell@xensource.com 3d7e20748b Move lgdt_finish inline
Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-02-22 15:17:04 +00:00
cl349@firebug.cl.cam.ac.uk 471759d839 Update to Linux 2.6.16-rc4.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : patches/linux-2.6.16-rc3/i386-mach-io-check-nmi.patch => patches/linux-2.6.16-rc4/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.16-rc3/net-csum.patch => patches/linux-2.6.16-rc4/net-csum.patch
rename : patches/linux-2.6.16-rc3/pmd-shared.patch => patches/linux-2.6.16-rc4/pmd-shared.patch
rename : patches/linux-2.6.16-rc3/smp-alts.patch => patches/linux-2.6.16-rc4/smp-alts.patch
2006-02-21 11:19:13 +00:00
cl349@firebug.cl.cam.ac.uk bc5d7734b3 linux-i386: Fix CONFIG_X86_NO_TSS and CONFIG_X86_SYSENTER.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 23:01:50 +00:00
cl349@firebug.cl.cam.ac.uk 4d0d0e2ed5 Fix I/O port address for first floppy controller on x86_64.
As a consequence, some of the i386 changes over native code need to also be
added to x86-64.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 17:59:41 +00:00
cl349@firebug.cl.cam.ac.uk 49fa33098b Fix read_cr3() and use it.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 17:34:21 +00:00
cl349@firebug.cl.cam.ac.uk d685638f98 Eliminate x86_64 idt_table.
Add CONFIG_X86_NO_IDT to exclude all code which references the idt table.
Also fix the non-Xen cpu_gdt_init() handling.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 17:32:29 +00:00
cl349@firebug.cl.cam.ac.uk 29a164e799 Eliminate tss - tss is meaningless in a paravirtualized kernel
and consumes 25% of the per-cpu area.
Add CONFIG_X86_NO_TSS to exclude all code which references tss.

Based on a patch by Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 15:15:10 +00:00
cl349@firebug.cl.cam.ac.uk b2c35e3d13 Eliminate tss - tss is meaningless in a paravirtualized kernel
and consumes 25% of the per-cpu area.
Add CONFIG_X86_NO_TSS to exclude all code which references tss.
Add CONFIG_X86_SYSENTER to conditionally include support for sysenter.
Change CONFIG_DOUBLEFAULT to depend on !CONFIG_X86_NO_TSS.
(sysenter and doublefault need tss).

Based on a patch by Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 14:46:14 +00:00
cl349@firebug.cl.cam.ac.uk 3bd384cfd9 Don't define ARCH_APICTIMER_STOPS_ON_C3.
Protect the calls to the switch_APIC_timer_to_ipi and
switch_ipi_to_APIC_timer functions since we don't implement
smp_send_timer_broadcast_ipi().

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 11:20:42 +00:00
cl349@firebug.cl.cam.ac.uk 2adc93e80c Add include/asm-{i386,x86_64}/apic.h to sparse tree.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 10:26:39 +00:00
kaf24@firebug.cl.cam.ac.uk 1aca85cf41 Include an extra header file in xenbus.h. Fixes ia64 build.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-02-18 11:41:42 +01:00
cl349@firebug.cl.cam.ac.uk 9ff4a6f68e Update the ia64 linux-2.6-xen-sparse tree to 2.6.16-rc3.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-02-16 23:24:47 +00:00