Commit Graph
958 Commits
Author SHA1 Message Date
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
Ian.Campbell@xensource.com c6ba49142d Implement direct iret to guest kernel where possible in HYPERVISOR_IRET macro.
Returns to guest userspace and from an NMI must still go via the hypervisor.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-02-24 11:05:52 +00:00
kaf24@firebug.cl.cam.ac.uk e36c8877da Return <4GB memory back to Xen when destroying a PAE pgdir.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-24 08:49:32 +01:00
kaf24@firebug.cl.cam.ac.uk e16b78bf48 Use common IRET macro for all exits from XenLinux. Currently
uses slow iret path every time (but most returns will do that
anyway, since they'll be to userspace). Fast return (to kernel)
can be implemented inside the macro and respect the 
supervisor_mode_kernel feature flag.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-23 18:40:08 +01: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
kaf24@firebug.cl.cam.ac.uk 7b7a8ea148 Silenty ignore calls to xen_create_contiguous_region() when running
in auto_translated_physmap mode. A new comment in that function explains
why this is an okay thing to do.

This avoids an unnecessary crash in Xen's skbuff_ctor.

Signed-off-by: Michael Vrable <mvrable@cs.ucsd.edu>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-23 11:42:19 +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
cl349@firebug.cl.cam.ac.uk 4720eab035 Don't reload segment registers -- it's done later in generic code.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-22 15:50:28 +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
Ian.Campbell@xensource.com c0bb7d27dc List supported feature flags in __xen_guest section.
Signed-off-bu: Ian Campbell <Ian.Campbell@XenSource.com>
2006-02-22 15:16:44 +00:00
Ian.Campbell@xensource.com 33718a77fd Allow Xen to truncate x86_32 segment limits to the correct value
rather than hardcoding them in each guest kernel.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-02-22 15:13:08 +00:00
cl349@firebug.cl.cam.ac.uk 55ee36debf tpm: Fixes and cleanup
Fix a recently found problem in tpm.c, move the vtpm sysfs
entry to /sys/device/platform/tpm_vtpm and add locking in
the vtpm hotplug script.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-02-21 17:13:30 +00:00
cl349@firebug.cl.cam.ac.uk b42866cdd4 Update ia64 sparse tree to Linux 2.6.16-rc4.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-02-21 16:25:56 +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 7db6c822ec linux-i386: Cleanup stack pointer initialization at start of day.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 20:26:24 +00:00
cl349@firebug.cl.cam.ac.uk d3e3ecc2a9 Suppress VIDEO_SELECT config option.
The Xen guest doesn't know how to change video modes at boot.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 18:03:56 +00:00
cl349@firebug.cl.cam.ac.uk cb4d0ad5d0 Add drivers/video/Kconfig to sparse tree.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 18:02:55 +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 704aa39dff Eliminate i386 idt_table.
Add CONFIG_X86_NO_IDT to exclude all code which references the idt table.
Make CONFIG_X86_F00F_BUG conditional on CONFIG_X86_NO_IDT.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 17:22:00 +00:00
cl349@firebug.cl.cam.ac.uk 9f4df136bd Add arch/i386/Kconfig.cpu to sparse tree.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 17:15:14 +00:00
vhanquez@kneesa.uk.xensource.com b5532eb9d7 do not BUG() if memory cannot be allocated, just wait.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-02-20 17:14:19 +00:00
vhanquez@kneesa.uk.xensource.com 2d93dbc65a alloc_netdev must be freed with free_netdev, not directly by kfree.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-02-20 17:06:36 +00:00
cl349@firebug.cl.cam.ac.uk 0df689dee5 Simplify utoa macro, make it identical with x86_64 version.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 16:49:35 +00:00
cl349@firebug.cl.cam.ac.uk 448cb8937a Eliminate hard coded items from x86_64 __xen_guest section
to avoid problems when the position of the hypercall page changes.
Further, clean up many things to avoid needless differences to native
code, while also adding a couple of adjustments that only will be
submitted for native code inclusion, that simplify code, or that
remove unused elements.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 16:42:54 +00:00
cl349@firebug.cl.cam.ac.uk 83e8b14bc4 Eliminate hard coded items from i386 __xen_guest section
to allow the new VMSPLIT_* Kconfig options to work, and to
avoid problems when the position of the hypercall page
changes.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 16:08:27 +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 c41010d645 Add arch/x86_64/kernel/{asm-offsets,init_task}.c to sparse tree.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 14:51:50 +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 530dd103f6 Add arch/i386/kernel/{asm-offsets.c,sysenter.c,vm86.c,vsyscall.S} to sparse tree.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 14:37:13 +00:00
cl349@firebug.cl.cam.ac.uk 0ce71ef235 Allow CPU frequency option on x86_64 for privileged guests.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-20 11:38:23 +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
kaf24@firebug.cl.cam.ac.uk ca0e9847e8 PCI backend and frontend drivers for i386 and x86_64.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-02-16 23:44:41 +01:00
kaf24@firebug.cl.cam.ac.uk b41c62a012 Provide a simpler, higher-level interface for mapping in pages from another domain.
I also added a one-liner that causes xenbus_dev_(error|fatal) to output
to the kernel log buffer (and thus syslog) which was invaluable to me
while debugging (by default, error messages only appear in xenstore).

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-02-16 23:37:40 +01:00
kaf24@firebug.cl.cam.ac.uk 666c2a019b Fix bugs related to the virtual TPM. Also make the vTPM
manager listen on /dev/vtpm.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-02-16 23:00:00 +01:00
kaf24@firebug.cl.cam.ac.uk 8c9970bdb4 Clean up swiotlb_init() decls.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-16 16:31:52 +01:00
cl349@firebug.cl.cam.ac.uk 890259d6b5 Fix upgrade omissions.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-16 14:10:01 +00:00
cl349@firebug.cl.cam.ac.uk 668fe87cad Check for the entire kernel range for temporarily cleared PMD entries.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-16 11:30:44 +00:00
cl349@firebug.cl.cam.ac.uk 3d77bc4d6b Fix prototype mismatch.
Should fix e1000/tg3 hang and cciss problems.

From: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-16 11:25:36 +00:00