Commit Graph
210 Commits
Author SHA1 Message Date
cl349@firebug.cl.cam.ac.uk 96b9e930ec Clean up the TPM stack a bit.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-02-07 20:38:44 +00:00
kaf24@firebug.cl.cam.ac.uk 92e6726926 Clarify dual licensing of gnttab.[ch] files in Linux.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-07 12:59:27 +01:00
kaf24@firebug.cl.cam.ac.uk b24a912939 Remove the PHYSDEV_ACCESS configure option from Linux.
It saves very little space, no distro will disable it
in their unified build, and it's rather a pain to 
implement it properly.

I've left the PRIVILEGED_GUEST option for now, as it 
provides some indication of where our platform-bringup
hacks are in our Linux tree. We may wish to exclude 
those from upstream merge in the first instance.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-07 01:02:49 +01:00
cl349@firebug.cl.cam.ac.uk 312e4db7f8 Update ia64 to 2.6.16-rc2.
This boots dom0 and domU on an rx2600.
Revert several files that were accidentally reverted by the merge-ups
(that weren't fixed by cset 8743).  Those are included here with the
2.6.15 patch re-applied as well as changes between 2.6.15 and 2.6.16-rc2.
Specifically, these are pal.h, processor.h and system.h.
This patch also reverts changes to include/asm-ia64/hypercall.h and
hypervisor.h from cset 8742.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-02-06 18:02:36 +00:00
cl349@firebug.cl.cam.ac.uk 294491e83f Update to Linux 2.6.16-rc2.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-03 17:49:27 +00:00
cl349@firebug.cl.cam.ac.uk a8f141f465 Update to Linux 2.6.16-rc1-git4.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : patches/linux-2.6.15/i386-mach-io-check-nmi.patch => patches/linux-2.6.16-rc1-git4/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.15/net-csum.patch => patches/linux-2.6.16-rc1-git4/net-csum.patch
rename : patches/linux-2.6.15/pmd-shared.patch => patches/linux-2.6.16-rc1-git4/pmd-shared.patch
rename : patches/linux-2.6.15/smp-alts.patch => patches/linux-2.6.16-rc1-git4/smp-alts.patch
2006-02-02 19:16:38 +00:00
cl349@firebug.cl.cam.ac.uk 78ae4baf58 Updates ia64 to 2.6.15.
Booted dom0 and domU on an rx2600.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-02-02 10:59:20 +00:00
Ian.Campbell@xensource.com 03d6c77375 Add new feature XENFEAT_auto_translated_physmap.
This feature causes the guest OS to ignore the P2M and M2P tables and
to assume that P==M.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-02-01 20:12:51 +00:00
Ian.Campbell@xensource.com 5361e93da7 Unpack xen_features into an array of u8 'booleans'
This allows us to avoid including bitops.h all over the tree as well
as avoiding any potential endianness issues in the future.

Use __read_mostly on the xen_features array now that the tree is based
on a version of Linux which supports it.

Also export xen_features for use in modules.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-02-01 20:11:18 +00:00
cl349@firebug.cl.cam.ac.uk 90951a5c3e Update to Linux 2.6.15.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-01 18:00:19 +00:00
cl349@firebug.cl.cam.ac.uk c06c7d7c07 Update to Linux 2.6.14.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-01-31 19:55:22 +00:00
cl349@firebug.cl.cam.ac.uk 1ba8680ea4 Adapt Xenlinux/ia64 to build in the new subarch environment.
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@hp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-01-31 17:39:35 +00:00
cl349@firebug.cl.cam.ac.uk 66ee4af453 Update linux sparse tree to subarch layout.
Sparse tree is based on 2.6.12 branch of linux-2.6-xen.hg.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>

--HG--
rename : linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32 => buildconfigs/linux-defconfig_xen0_x86_32
rename : linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_64 => buildconfigs/linux-defconfig_xen0_x86_64
rename : linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 => buildconfigs/linux-defconfig_xenU_x86_32
rename : linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 => buildconfigs/linux-defconfig_xenU_x86_64
rename : linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_32 => buildconfigs/linux-defconfig_xen_x86_32
rename : linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_64 => buildconfigs/linux-defconfig_xen_x86_64
rename : linux-2.6-xen-sparse/arch/xen/i386/Kconfig => linux-2.6-xen-sparse/arch/i386/Kconfig
rename : linux-2.6-xen-sparse/arch/xen/i386/Makefile => linux-2.6-xen-sparse/arch/i386/Makefile
rename : linux-2.6-xen-sparse/arch/xen/boot/Makefile => linux-2.6-xen-sparse/arch/i386/boot-xen/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/acpi/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c => linux-2.6-xen-sparse/arch/i386/kernel/acpi/boot-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/apic.c => linux-2.6-xen-sparse/arch/i386/kernel/apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/cpu/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c => linux-2.6-xen-sparse/arch/i386/kernel/cpu/common-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/mtrr/Makefile => linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/mtrr/main.c => linux-2.6-xen-sparse/arch/i386/kernel/cpu/mtrr/main-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/entry.S => linux-2.6-xen-sparse/arch/i386/kernel/entry-xen.S
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/fixup.c => linux-2.6-xen-sparse/arch/i386/kernel/fixup.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/head.S => linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/i386_ksyms.c => linux-2.6-xen-sparse/arch/i386/kernel/i386_ksyms-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/init_task.c => linux-2.6-xen-sparse/arch/i386/kernel/init_task-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/io_apic.c => linux-2.6-xen-sparse/arch/i386/kernel/io_apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/ioport.c => linux-2.6-xen-sparse/arch/i386/kernel/ioport-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/irq.c => linux-2.6-xen-sparse/arch/i386/kernel/irq-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c => linux-2.6-xen-sparse/arch/i386/kernel/ldt-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/microcode.c => linux-2.6-xen-sparse/arch/i386/kernel/microcode-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/mpparse.c => linux-2.6-xen-sparse/arch/i386/kernel/mpparse-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c => linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c => linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/quirks.c => linux-2.6-xen-sparse/arch/i386/kernel/quirks-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c => linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/signal.c => linux-2.6-xen-sparse/arch/i386/kernel/signal-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/smp.c => linux-2.6-xen-sparse/arch/i386/kernel/smp-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/swiotlb.c => linux-2.6-xen-sparse/arch/i386/kernel/swiotlb.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c => linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c => linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/kernel/vsyscall-note.S => linux-2.6-xen-sparse/arch/i386/kernel/vsyscall-note-xen.S
rename : linux-2.6-xen-sparse/arch/xen/i386/mach-default/Makefile => linux-2.6-xen-sparse/arch/i386/mach-xen/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/Makefile => linux-2.6-xen-sparse/arch/i386/mm/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c => linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/highmem.c => linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c => linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/init.c => linux-2.6-xen-sparse/arch/i386/mm/init-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/ioremap.c => linux-2.6-xen-sparse/arch/i386/mm/ioremap-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c => linux-2.6-xen-sparse/arch/i386/mm/pgtable-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile => linux-2.6-xen-sparse/arch/i386/pci/Makefile
rename : linux-2.6-xen-sparse/arch/xen/i386/pci/i386.c => linux-2.6-xen-sparse/arch/i386/pci/i386-xen.c
rename : linux-2.6-xen-sparse/arch/xen/i386/pci/irq.c => linux-2.6-xen-sparse/arch/i386/pci/irq-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/Kconfig => linux-2.6-xen-sparse/arch/x86_64/Kconfig
rename : linux-2.6-xen-sparse/arch/xen/x86_64/Makefile => linux-2.6-xen-sparse/arch/x86_64/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile => linux-2.6-xen-sparse/arch/x86_64/ia32/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/ia32entry.S => linux-2.6-xen-sparse/arch/x86_64/ia32/ia32entry-xen.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/syscall32.c => linux-2.6-xen-sparse/arch/x86_64/ia32/syscall32-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/ia32/vsyscall-int80.S => linux-2.6-xen-sparse/arch/x86_64/ia32/vsyscall-int80.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/Makefile => linux-2.6-xen-sparse/arch/x86_64/kernel/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/acpi/Makefile => linux-2.6-xen-sparse/arch/x86_64/kernel/acpi/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/apic.c => linux-2.6-xen-sparse/arch/x86_64/kernel/apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/e820.c => linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/early_printk.c => linux-2.6-xen-sparse/arch/x86_64/kernel/early_printk-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/entry.S => linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/genapic.c => linux-2.6-xen-sparse/arch/x86_64/kernel/genapic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/genapic_xen.c => linux-2.6-xen-sparse/arch/x86_64/kernel/genapic_xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head.S => linux-2.6-xen-sparse/arch/x86_64/kernel/head-xen.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head64.c => linux-2.6-xen-sparse/arch/x86_64/kernel/head64-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/io_apic.c => linux-2.6-xen-sparse/arch/x86_64/kernel/io_apic-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ioport.c => linux-2.6-xen-sparse/arch/x86_64/kernel/ioport-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/irq.c => linux-2.6-xen-sparse/arch/x86_64/kernel/irq-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c => linux-2.6-xen-sparse/arch/x86_64/kernel/ldt-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/mpparse.c => linux-2.6-xen-sparse/arch/x86_64/kernel/mpparse-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/pci-nommu.c => linux-2.6-xen-sparse/arch/x86_64/kernel/pci-nommu-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c => linux-2.6-xen-sparse/arch/x86_64/kernel/process-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c => linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c => linux-2.6-xen-sparse/arch/x86_64/kernel/setup64-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/signal.c => linux-2.6-xen-sparse/arch/x86_64/kernel/signal-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smp.c => linux-2.6-xen-sparse/arch/x86_64/kernel/smp-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/traps.c => linux-2.6-xen-sparse/arch/x86_64/kernel/traps-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c => linux-2.6-xen-sparse/arch/x86_64/kernel/vsyscall-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/x8664_ksyms.c => linux-2.6-xen-sparse/arch/x86_64/kernel/x8664_ksyms-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/kernel/xen_entry.S => linux-2.6-xen-sparse/arch/x86_64/kernel/xen_entry.S
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/Makefile => linux-2.6-xen-sparse/arch/x86_64/mm/Makefile
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c => linux-2.6-xen-sparse/arch/x86_64/mm/fault-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c => linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/mm/pageattr.c => linux-2.6-xen-sparse/arch/x86_64/mm/pageattr-xen.c
rename : linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile => linux-2.6-xen-sparse/arch/x86_64/pci/Makefile
rename : linux-2.6-xen-sparse/arch/xen/kernel/Makefile => linux-2.6-xen-sparse/drivers/xen/core/Makefile
rename : linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c => linux-2.6-xen-sparse/drivers/xen/core/evtchn.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/features.c => linux-2.6-xen-sparse/drivers/xen/core/features.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c => linux-2.6-xen-sparse/drivers/xen/core/gnttab.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/reboot.c => linux-2.6-xen-sparse/drivers/xen/core/reboot.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/skbuff.c => linux-2.6-xen-sparse/drivers/xen/core/skbuff.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c => linux-2.6-xen-sparse/drivers/xen/core/smpboot.c
rename : linux-2.6-xen-sparse/arch/xen/kernel/xen_proc.c => linux-2.6-xen-sparse/drivers/xen/core/xen_proc.c
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/agp.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/agp.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/desc.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/desc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/dma-mapping.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/dma-mapping.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/fixmap.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/fixmap.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/floppy.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/floppy.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/highmem.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/highmem.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/hw_irq.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypervisor.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypervisor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/io.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/kmap_types.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/kmap_types.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/mmu.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mmu_context.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/mmu_context.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/page.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/page.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/param.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/param.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pci.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pci.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgalloc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level-defs.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-2level.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level-defs.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/processor.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/processor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/ptrace.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/ptrace.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/scatterlist.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/scatterlist.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/segment.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/segment.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/setup.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/setup.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/smp.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/smp.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/spinlock.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/spinlock.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/swiotlb.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/swiotlb.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/synch_bitops.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/synch_bitops.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/system.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/system.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/tlbflush.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/tlbflush.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/vga.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/vga.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/irq_vectors.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/irq_vectors.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/mach_traps.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/mach_traps.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_pre.h => linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_pre.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/fixmap.h => linux-2.6-xen-sparse/include/asm-ia64/fixmap.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypercall.h => linux-2.6-xen-sparse/include/asm-ia64/hypercall.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/hypervisor.h => linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-ia64/synch_bitops.h => linux-2.6-xen-sparse/include/asm-ia64/synch_bitops.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/arch_hooks.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/arch_hooks.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/bootsetup.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/bootsetup.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/desc.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/desc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/dma-mapping.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/dma-mapping.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/fixmap.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/fixmap.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/floppy.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/floppy.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hw_irq.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypervisor.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypervisor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/io.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/irq.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/irq.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/mmu.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu_context.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/mmu_context.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/nmi.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/nmi.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/page.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/page.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/param.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/param.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pci.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pci.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgtable.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/processor.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/processor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/ptrace.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/ptrace.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/segment.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/segment.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/smp.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/smp.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/synch_bitops.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/synch_bitops.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/system.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/system.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/timer.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/timer.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/tlbflush.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/tlbflush.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/vga.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/vga.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/xor.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/xor.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/io_ports.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/io_ports.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/irq_vectors.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/irq_vectors.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/mach_time.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/mach_time.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/mach_timer.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/mach_timer.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/setup_arch_post.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_post.h
rename : linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mach-xen/setup_arch_pre.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/setup_arch_pre.h
rename : linux-2.6-xen-sparse/include/asm-xen/balloon.h => linux-2.6-xen-sparse/include/xen/balloon.h
rename : linux-2.6-xen-sparse/include/asm-xen/driver_util.h => linux-2.6-xen-sparse/include/xen/driver_util.h
rename : linux-2.6-xen-sparse/include/asm-xen/evtchn.h => linux-2.6-xen-sparse/include/xen/evtchn.h
rename : linux-2.6-xen-sparse/include/asm-xen/features.h => linux-2.6-xen-sparse/include/xen/features.h
rename : linux-2.6-xen-sparse/include/asm-xen/foreign_page.h => linux-2.6-xen-sparse/include/xen/foreign_page.h
rename : linux-2.6-xen-sparse/include/asm-xen/gnttab.h => linux-2.6-xen-sparse/include/xen/gnttab.h
rename : linux-2.6-xen-sparse/include/asm-xen/net_driver_util.h => linux-2.6-xen-sparse/include/xen/net_driver_util.h
rename : linux-2.6-xen-sparse/include/asm-xen/linux-public/evtchn.h => linux-2.6-xen-sparse/include/xen/public/evtchn.h
rename : linux-2.6-xen-sparse/include/asm-xen/linux-public/privcmd.h => linux-2.6-xen-sparse/include/xen/public/privcmd.h
rename : linux-2.6-xen-sparse/include/asm-xen/tpmfe.h => linux-2.6-xen-sparse/include/xen/tpmfe.h
rename : linux-2.6-xen-sparse/include/asm-xen/xen_proc.h => linux-2.6-xen-sparse/include/xen/xen_proc.h
rename : linux-2.6-xen-sparse/include/asm-xen/xenbus.h => linux-2.6-xen-sparse/include/xen/xenbus.h
rename : linux-2.6-xen-sparse/include/asm-xen/xencons.h => linux-2.6-xen-sparse/include/xen/xencons.h
2006-01-30 17:18:27 +00:00
kaf24@firebug.cl.cam.ac.uk 91fe82d9a0 Split XENFEAT_writable_mmu_structures into
XENFEAT_writable_page_tables/XENFEAT_writable_descriptor_tables.

Name the make_readonly/writable functions back to their old
names, and they now accept a feature flag that they test
before performing their operation.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-30 12:49:31 +01:00
kaf24@firebug.cl.cam.ac.uk 901b108e27 Remove shadow-translate Linux patches for now. We'll merge this stuff
in piecemeal.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-28 12:09:45 +01:00
sos22@douglas.cl.cam.ac.uk 11556202e4 Merge up and generally make shadow mode be nice.
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-27 21:23:06 +01:00
Ian.Campbell@xensource.com bcec3ef0dd Add XENVER_get_features sub-operation to HYPERVISOR_xen_version.
This operation allows a guest OS to determine which features are
supported by the running version of Xen. This changeset contains the
base infrastructure but does not implement any features yet.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c	2006-01-27 11:13:22.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/setup.c	2006-01-27 11:27:14.000000000 +0000
@@ -56,6 +56,7 @@
 #include <asm/hypervisor.h>
 #include <asm-xen/xen-public/physdev.h>
 #include <asm-xen/xen-public/memory.h>
+#include <asm-xen/features.h>
 #include "setup_arch_pre.h"
 #include <bios_ebda.h>

@@ -1591,6 +1592,9 @@
 	rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0);
 	rd_doload = ((RAMDISK_FLAGS & RAMDISK_LOAD_FLAG) != 0);
 #endif
+
+	setup_xen_features();
+
 	ARCH_SETUP
 	if (efi_enabled)
 		efi_init();
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c	2006-01-27 11:13:22.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c	2006-01-27 11:27:14.000000000 +0000
@@ -63,6 +63,7 @@
 #include "setup_arch_pre.h"
 #include <asm/hypervisor.h>
 #include <asm-xen/xen-public/nmi.h>
+#include <asm-xen/features.h>
 #define PFN_UP(x)       (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
 #define PFN_PHYS(x)     ((x) << PAGE_SHIFT)
 #define end_pfn_map end_pfn
@@ -587,6 +588,8 @@

 #endif

+	setup_xen_features();
+
 	HYPERVISOR_vm_assist(VMASST_CMD_enable,
 			     VMASST_TYPE_writable_pagetables);

Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/features.h
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/features.h	2006-01-27 11:27:14.000000000 +0000
@@ -0,0 +1,20 @@
+/******************************************************************************
+ * features.h
+ *
+ * Query the features reported by Xen.
+ *
+ * Copyright (c) 2006, Ian Campbell
+ */
+
+#ifndef __ASM_XEN_FEATURES_H__
+#define __ASM_XEN_FEATURES_H__
+
+#include <asm-xen/xen-public/version.h>
+
+extern void setup_xen_features(void);
+
+extern unsigned long xen_features[XENFEAT_NR_SUBMAPS];
+
+#define xen_feature(flag)	(test_bit(_XENFEAT_ ## flag, xen_features))
+
+#endif
Index: xen-features/xen/common/kernel.c
===================================================================
--- xen-features.orig/xen/common/kernel.c	2006-01-27 11:13:22.000000000 +0000
+++ xen-features/xen/common/kernel.c	2006-01-27 11:27:34.000000000 +0000
@@ -144,6 +144,28 @@
             return -EFAULT;
         return 0;
     }
+
+    case XENVER_get_features:
+    {
+        xen_feature_info_t fi;
+
+        if ( copy_from_user(&fi, arg, sizeof(fi)) )
+            return -EFAULT;
+
+        switch ( fi.submap_idx )
+        {
+        case 0:
+            fi.submap = 0;
+            break;
+        default:
+            return -EINVAL;
+        }
+
+        if ( copy_to_user(arg, &fi, sizeof(fi)) )
+            return -EFAULT;
+        return 0;
+    }
+
     }

     return -ENOSYS;
Index: xen-features/xen/include/public/version.h
===================================================================
--- xen-features.orig/xen/include/public/version.h	2006-01-27 11:13:22.000000000 +0000
+++ xen-features/xen/include/public/version.h	2006-01-27 11:27:22.000000000 +0000
@@ -39,6 +39,14 @@
     unsigned long virt_start;
 } xen_platform_parameters_t;

+#define XENVER_get_features 6
+typedef struct xen_feature_info {
+    unsigned int submap_idx;    /* IN: which 32-bit submap to return */
+    uint32_t     submap;        /* OUT: 32-bit submap */
+} xen_feature_info_t;
+
+#define XENFEAT_NR_SUBMAPS 1
+
 #endif /* __XEN_PUBLIC_VERSION_H__ */

 /*
Index: xen-features/linux-2.6-xen-sparse/arch/xen/kernel/features.c
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/kernel/features.c	2006-01-27 11:27:14.000000000 +0000
@@ -0,0 +1,29 @@
+/******************************************************************************
+ * features.c
+ *
+ * Xen feature flags.
+ *
+ * Copyright (c) 2006, Ian Campbell
+ */
+#include <linux/types.h>
+#include <linux/cache.h>
+#include <asm/hypervisor.h>
+#include <asm-xen/features.h>
+
+/* When we rebase to a more recent version of Linux we can use __read_mostly here. */
+unsigned long xen_features[XENFEAT_NR_SUBMAPS] __cacheline_aligned;
+
+void setup_xen_features(void)
+{
+     uint32_t *flags = (uint32_t *)&xen_features[0];
+     xen_feature_info_t fi;
+     int i;
+
+     for (i=0; i<XENFEAT_NR_SUBMAPS; i++) {
+	  fi.submap_idx = i;
+	  if (HYPERVISOR_xen_version(XENVER_get_features, &fi) < 0)
+	       break;
+	  flags[i] = fi.submap;
+     }
+}
+
2006-01-27 11:31:12 +00:00
Ian.Campbell@xensource.com 469a31e7be Rename funtions
early_make_page_readonly()	(x86/64)
    make_lowmem_page_readonly() (x86/32)
    make_page_readonly() 	(x86)
    make_pages_readonly() 	(x86)
    make_page_writable()	(x86)
    make_pages_writable()	(x86)
to
    early_make_mmu_page_readonly()
    make_lowmem_mmu_page_readonly()
    make_mmu_page_readonly()
    make_mmu_pages_readonly()
    make_mmu_page_writable()
    make_mmu_pages_writable()

These functions are only called by LDT, GDT or page table page
construction, initialisation and destruction functions and in the
future they will behave in a MMU page specific manner.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h	2006-01-27 10:56:59.000000000 +0000
@@ -413,19 +413,19 @@
 } while (0)

 #ifndef CONFIG_XEN_SHADOW_MODE
-void make_lowmem_page_readonly(void *va);
-void make_lowmem_page_writable(void *va);
-void make_page_readonly(void *va);
-void make_page_writable(void *va);
-void make_pages_readonly(void *va, unsigned int nr);
-void make_pages_writable(void *va, unsigned int nr);
+void make_lowmem_mmu_page_readonly(void *va);
+void make_lowmem_mmu_page_writable(void *va);
+void make_mmu_page_readonly(void *va);
+void make_mmu_page_writable(void *va);
+void make_mmu_pages_readonly(void *va, unsigned int nr);
+void make_mmu_pages_writable(void *va, unsigned int nr);
 #else
-#define make_lowmem_page_readonly(_va) ((void)0)
-#define make_lowmem_page_writable(_va) ((void)0)
-#define make_page_readonly(_va)        ((void)0)
-#define make_page_writable(_va)        ((void)0)
-#define make_pages_readonly(_va, _nr)  ((void)0)
-#define make_pages_writable(_va, _nr)  ((void)0)
+#define make_lowmem_mmu_page_readonly(_va) ((void)0)
+#define make_lowmem_mmu_page_writable(_va)     ((void)0)
+#define make_mmu_page_readonly(_va)        ((void)0)
+#define make_mmu_page_writable(_va)            ((void)0)
+#define make_mmu_pages_readonly(_va, _nr)  ((void)0)
+#define make_mmu_pages_writable(_va, _nr)      ((void)0)
 #endif

 #define virt_to_ptep(__va)						\
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c	2006-01-27 10:18:19.000000000 +0000
@@ -572,7 +572,7 @@
 	     va < gdt_descr->address + gdt_descr->size;
 	     va += PAGE_SIZE, f++) {
 		frames[f] = virt_to_mfn(va);
-		make_lowmem_page_readonly((void *)va);
+		make_lowmem_mmu_page_readonly((void *)va);
 	}
 	if (HYPERVISOR_set_gdt(frames, gdt_descr->size / 8))
 		BUG();
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/kernel/ldt.c	2006-01-27 10:56:59.000000000 +0000
@@ -59,8 +59,8 @@
 		cpumask_t mask;
 		preempt_disable();
 #endif
-		make_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
-				    PAGE_SIZE);
+		make_mmu_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
+					PAGE_SIZE);
 		load_LDT(pc);
 #ifdef CONFIG_SMP
 		mask = cpumask_of_cpu(smp_processor_id());
@@ -70,7 +70,7 @@
 #endif
 	}
 	if (oldsize) {
-		make_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
+		make_mmu_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
 			PAGE_SIZE);
 		if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE)
 			vfree(oldldt);
@@ -86,8 +86,8 @@
 	if (err < 0)
 		return err;
 	memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_SIZE);
-	make_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
-			    PAGE_SIZE);
+	make_mmu_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
+				PAGE_SIZE);
 	return 0;
 }

@@ -119,9 +119,9 @@
 	if (mm->context.size) {
 		if (mm == current->active_mm)
 			clear_LDT();
-		make_pages_writable(mm->context.ldt,
-				    (mm->context.size * LDT_ENTRY_SIZE) /
-				    PAGE_SIZE);
+		make_mmu_pages_writable(mm->context.ldt,
+					(mm->context.size * LDT_ENTRY_SIZE) /
+					PAGE_SIZE);
 		if (mm->context.size*LDT_ENTRY_SIZE > PAGE_SIZE)
 			vfree(mm->context.ldt);
 		else
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c	2006-01-27 10:18:19.000000000 +0000
@@ -68,7 +68,7 @@

 #ifdef CONFIG_X86_PAE
 	pmd_table = (pmd_t *) alloc_bootmem_low_pages(PAGE_SIZE);
-	make_lowmem_page_readonly(pmd_table);
+	make_lowmem_mmu_page_readonly(pmd_table);
 	set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT));
 	pud = pud_offset(pgd, 0);
 	if (pmd_table != pmd_offset(pud, 0))
@@ -89,7 +89,7 @@
 {
 	if (pmd_none(*pmd)) {
 		pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
-		make_lowmem_page_readonly(page_table);
+		make_lowmem_mmu_page_readonly(page_table);
 		set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE));
 		if (page_table != pte_offset_kernel(pmd, 0))
 			BUG();
Index: xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c	2006-01-27 11:01:11.000000000 +0000
@@ -198,7 +198,7 @@
 {
 	pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO);
 	if (pte)
-		make_lowmem_page_readonly(pte);
+		make_lowmem_mmu_page_readonly(pte);
 	return pte;
 }

@@ -344,7 +344,7 @@
 			pmd_t *kpmd = pmd_offset(kpud, v);
 			pmd_t *pmd = (void *)__va(pgd_val(pgd[i])-1);
 			memcpy(pmd, kpmd, PAGE_SIZE);
-			make_lowmem_page_readonly(pmd);
+			make_lowmem_mmu_page_readonly(pmd);
 		}
 		pgd_list_add(pgd);
 		spin_unlock_irqrestore(&pgd_lock, flags);
@@ -378,7 +378,7 @@
 			spin_unlock_irqrestore(&pgd_lock, flags);
 			for (i = USER_PTRS_PER_PGD; i < PTRS_PER_PGD; i++) {
 				pmd_t *pmd = (void *)__va(pgd_val(pgd[i])-1);
-				make_lowmem_page_writable(pmd);
+				make_lowmem_mmu_page_writable(pmd);
 				memset(pmd, 0, PTRS_PER_PMD*sizeof(pmd_t));
 				kmem_cache_free(pmd_cache, pmd);
 			}
@@ -389,7 +389,7 @@
 }

 #ifndef CONFIG_XEN_SHADOW_MODE
-void make_lowmem_page_readonly(void *va)
+void make_lowmem_mmu_page_readonly(void *va)
 {
 	pte_t *pte = virt_to_ptep(va);
 	int rc = HYPERVISOR_update_va_mapping(
@@ -397,7 +397,7 @@
 	BUG_ON(rc);
 }

-void make_lowmem_page_writable(void *va)
+void make_lowmem_mmu_page_writable(void *va)
 {
 	pte_t *pte = virt_to_ptep(va);
 	int rc = HYPERVISOR_update_va_mapping(
@@ -405,7 +405,7 @@
 	BUG_ON(rc);
 }

-void make_page_readonly(void *va)
+void make_mmu_page_readonly(void *va)
 {
 	pte_t *pte = virt_to_ptep(va);
 	int rc = HYPERVISOR_update_va_mapping(
@@ -419,12 +419,12 @@
 			kmap_flush_unused(); /* flush stale writable kmaps */
 		else
 #endif
-			make_lowmem_page_readonly(
+			make_lowmem_mmu_page_readonly(
 				phys_to_virt(pfn << PAGE_SHIFT));
 	}
 }

-void make_page_writable(void *va)
+void make_mmu_page_writable(void *va)
 {
 	pte_t *pte = virt_to_ptep(va);
 	int rc = HYPERVISOR_update_va_mapping(
@@ -436,23 +436,23 @@
 #ifdef CONFIG_HIGHMEM
 		if (pfn < highstart_pfn)
 #endif
-			make_lowmem_page_writable(
+			make_lowmem_mmu_page_writable(
 				phys_to_virt(pfn << PAGE_SHIFT));
 	}
 }

-void make_pages_readonly(void *va, unsigned int nr)
+void make_mmu_pages_readonly(void *va, unsigned int nr)
 {
 	while (nr-- != 0) {
-		make_page_readonly(va);
+		make_mmu_page_readonly(va);
 		va = (void *)((unsigned long)va + PAGE_SIZE);
 	}
 }

-void make_pages_writable(void *va, unsigned int nr)
+void make_mmu_pages_writable(void *va, unsigned int nr)
 {
 	while (nr-- != 0) {
-		make_page_writable(va);
+		make_mmu_page_writable(va);
 		va = (void *)((unsigned long)va + PAGE_SIZE);
 	}
 }
Index: xen-features/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c	2006-01-27 10:18:19.000000000 +0000
@@ -239,7 +239,7 @@
 		memcpy((void *)cpu_gdt_descr[cpu].address,
 		       (void *)cpu_gdt_descr[0].address,
 		       cpu_gdt_descr[0].size);
-		make_page_readonly((void *)cpu_gdt_descr[cpu].address);
+		make_mmu_page_readonly((void *)cpu_gdt_descr[cpu].address);

 		cpu_set(cpu, cpu_possible_map);
 #ifdef CONFIG_HOTPLUG_CPU
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c	2006-01-27 10:56:59.000000000 +0000
@@ -65,8 +65,8 @@

 		preempt_disable();
 #endif
-		make_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
-				    PAGE_SIZE);
+		make_mmu_pages_readonly(pc->ldt, (pc->size * LDT_ENTRY_SIZE) /
+					PAGE_SIZE);
 		load_LDT(pc);
 #ifdef CONFIG_SMP
 		mask = cpumask_of_cpu(smp_processor_id());
@@ -76,7 +76,7 @@
 #endif
 	}
 	if (oldsize) {
-		make_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
+		make_mmu_pages_writable(oldldt, (oldsize * LDT_ENTRY_SIZE) /
 			PAGE_SIZE);
 		if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE)
 			vfree(oldldt);
@@ -92,8 +92,8 @@
 	if (err < 0)
 		return err;
 	memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_SIZE);
-	make_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
-			    PAGE_SIZE);
+	make_mmu_pages_readonly(new->ldt, (new->size * LDT_ENTRY_SIZE) /
+				PAGE_SIZE);
 	return 0;
 }

@@ -131,9 +131,9 @@
 	if (mm->context.size) {
 		if (mm == current->active_mm)
 			clear_LDT();
-		make_pages_writable(mm->context.ldt,
-				    (mm->context.size * LDT_ENTRY_SIZE) /
-				    PAGE_SIZE);
+		make_mmu_pages_writable(mm->context.ldt,
+					(mm->context.size * LDT_ENTRY_SIZE) /
+					PAGE_SIZE);
 		if (mm->context.size*LDT_ENTRY_SIZE > PAGE_SIZE)
 			vfree(mm->context.ldt);
 		else
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c	2006-01-27 10:18:19.000000000 +0000
@@ -141,7 +141,7 @@
 	     va < gdt_descr->address + gdt_descr->size;
 	     va += PAGE_SIZE, f++) {
 		frames[f] = virt_to_mfn(va);
-		make_page_readonly((void *)va);
+		make_mmu_page_readonly((void *)va);
 	}
 	if (HYPERVISOR_set_gdt(frames, gdt_descr->size /
                                sizeof (struct desc_struct)))
Index: xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c	2006-01-27 11:01:11.000000000 +0000
@@ -66,7 +66,7 @@
 	(((mfn_to_pfn((addr) >> PAGE_SHIFT)) << PAGE_SHIFT) +	\
 	__START_KERNEL_map)))

-static void early_make_page_readonly(void *va)
+static void early_make_mmu_page_readonly(void *va)
 {
 	unsigned long addr, _va = (unsigned long)va;
 	pte_t pte, *ptep;
@@ -88,7 +88,7 @@
 		BUG();
 }

-void make_page_readonly(void *va)
+void make_mmu_page_readonly(void *va)
 {
 	pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
 	unsigned long addr = (unsigned long) va;
@@ -103,10 +103,10 @@
 		xen_l1_entry_update(ptep, pte); /* fallback */

 	if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
-		make_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT));
+		make_mmu_page_readonly(__va(pte_pfn(pte) << PAGE_SHIFT));
 }

-void make_page_writable(void *va)
+void make_mmu_page_writable(void *va)
 {
 	pgd_t *pgd; pud_t *pud; pmd_t *pmd; pte_t pte, *ptep;
 	unsigned long addr = (unsigned long) va;
@@ -121,21 +121,21 @@
 		xen_l1_entry_update(ptep, pte); /* fallback */

 	if ((addr >= VMALLOC_START) && (addr < VMALLOC_END))
-		make_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT));
+		make_mmu_page_writable(__va(pte_pfn(pte) << PAGE_SHIFT));
 }

-void make_pages_readonly(void *va, unsigned nr)
+void make_mmu_pages_readonly(void *va, unsigned nr)
 {
 	while (nr-- != 0) {
-		make_page_readonly(va);
+		make_mmu_page_readonly(va);
 		va = (void*)((unsigned long)va + PAGE_SIZE);
 	}
 }

-void make_pages_writable(void *va, unsigned nr)
+void make_mmu_pages_writable(void *va, unsigned nr)
 {
 	while (nr-- != 0) {
-		make_page_writable(va);
+		make_mmu_page_writable(va);
 		va = (void*)((unsigned long)va + PAGE_SIZE);
 	}
 }
@@ -223,7 +223,7 @@
 	pud = (user_mode ? pud_offset_u(vaddr) : pud_offset(pgd, vaddr));
 	if (pud_none(*pud)) {
 		pmd = (pmd_t *) spp_getpage();
-		make_page_readonly(pmd);
+		make_mmu_page_readonly(pmd);
 		xen_pmd_pin(__pa(pmd));
 		set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | _PAGE_USER));
 		if (pmd != pmd_offset(pud, 0)) {
@@ -234,7 +234,7 @@
 	pmd = pmd_offset(pud, vaddr);
 	if (pmd_none(*pmd)) {
 		pte = (pte_t *) spp_getpage();
-		make_page_readonly(pte);
+		make_mmu_page_readonly(pte);
 		xen_pte_pin(__pa(pte));
 		set_pmd(pmd, __pmd(__pa(pte) | _KERNPG_TABLE | _PAGE_USER));
 		if (pte != pte_offset_kernel(pmd, 0)) {
@@ -276,7 +276,7 @@
 	if (pud_none(*pud)) {

 		pmd = (pmd_t *) spp_getpage();
-		make_page_readonly(pmd);
+		make_mmu_page_readonly(pmd);
 		xen_pmd_pin(__pa(pmd));

 		set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | _PAGE_USER));
@@ -290,7 +290,7 @@

 	if (pmd_none(*pmd)) {
 		pte = (pte_t *) spp_getpage();
-		make_page_readonly(pte);
+		make_mmu_page_readonly(pte);
 		xen_pte_pin(__pa(pte));

 		set_pmd(pmd, __pmd(__pa(pte) | _KERNPG_TABLE | _PAGE_USER));
@@ -419,7 +419,7 @@
 		}

 		pmd = alloc_static_page(&pmd_phys);
-		early_make_page_readonly(pmd);
+		early_make_mmu_page_readonly(pmd);
 		xen_pmd_pin(pmd_phys);
 		set_pud(pud, __pud(pmd_phys | _KERNPG_TABLE));
       		for (j = 0; j < PTRS_PER_PMD; pmd++, j++) {
@@ -448,7 +448,7 @@
 				__set_pte(pte, __pte(paddr | _KERNPG_TABLE));
 			}
 			pte = pte_save;
-			early_make_page_readonly(pte);
+			early_make_mmu_page_readonly(pte);
 			xen_pte_pin(pte_phys);
 			set_pmd(pmd, __pmd(pte_phys | _KERNPG_TABLE));
 		}
@@ -497,11 +497,11 @@
 		      _KERNPG_TABLE | _PAGE_USER);
 	memcpy((void *)level2_kernel_pgt, page, PAGE_SIZE);

-	early_make_page_readonly(init_level4_pgt);
-	early_make_page_readonly(init_level4_user_pgt);
-	early_make_page_readonly(level3_kernel_pgt);
-	early_make_page_readonly(level3_user_pgt);
-	early_make_page_readonly(level2_kernel_pgt);
+	early_make_mmu_page_readonly(init_level4_pgt);
+	early_make_mmu_page_readonly(init_level4_user_pgt);
+	early_make_mmu_page_readonly(level3_kernel_pgt);
+	early_make_mmu_page_readonly(level3_user_pgt);
+	early_make_mmu_page_readonly(level2_kernel_pgt);

 	xen_pgd_pin(__pa_symbol(init_level4_pgt));
 	xen_pgd_pin(__pa_symbol(init_level4_user_pgt));
@@ -539,7 +539,7 @@
 		pmd = (pmd_t *)&page[pmd_index(va)];
 		if (pmd_none(*pmd)) {
 			pte_page = alloc_static_page(&phys);
-			early_make_page_readonly(pte_page);
+			early_make_mmu_page_readonly(pte_page);
 			xen_pte_pin(phys);
 			set_pmd(pmd, __pmd(phys | _KERNPG_TABLE | _PAGE_USER));
 		} else {
@@ -586,7 +586,7 @@
 	for (; start < end; start = next) {
 		unsigned long pud_phys;
 		pud_t *pud = alloc_static_page(&pud_phys);
-		early_make_page_readonly(pud);
+		early_make_mmu_page_readonly(pud);
 		xen_pud_pin(pud_phys);
 		next = start + PGDIR_SIZE;
 		if (next > end)
@@ -791,11 +791,11 @@
 		set_page_count(virt_to_page(addr), 1);
 		memset((void *)(addr & ~(PAGE_SIZE-1)), 0xcc, PAGE_SIZE);
 		xen_pte_unpin(__pa(addr));
-		make_page_writable(__va(__pa(addr)));
+		make_mmu_page_writable(__va(__pa(addr)));
 		/*
 		 * Make pages from __PAGE_OFFSET address as well
 		 */
-		make_page_writable((void *)addr);
+		make_mmu_page_writable((void *)addr);
 		free_page(addr);
 		totalram_pages++;
 	}
Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h	2006-01-27 10:18:17.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h	2006-01-27 10:56:59.000000000 +0000
@@ -7,10 +7,10 @@
 #include <linux/mm.h>
 #include <asm/io.h>		/* for phys_to_virt and page_to_pseudophys */

-void make_page_readonly(void *va);
-void make_page_writable(void *va);
-void make_pages_readonly(void *va, unsigned int nr);
-void make_pages_writable(void *va, unsigned int nr);
+void make_mmu_page_readonly(void *va);
+void make_mmu_page_writable(void *va);
+void make_mmu_pages_readonly(void *va, unsigned int nr);
+void make_mmu_pages_writable(void *va, unsigned int nr);

 #define __user_pgd(pgd) ((pgd) + PTRS_PER_PGD)

@@ -161,7 +161,7 @@
 {
         pte_t *pte = (pte_t *)get_zeroed_page(GFP_KERNEL|__GFP_REPEAT);
         if (pte)
-		make_page_readonly(pte);
+		make_mmu_page_readonly(pte);

 	return pte;
 }
@@ -181,7 +181,7 @@
 {
 	BUG_ON((unsigned long)pte & (PAGE_SIZE-1));
         xen_pte_unpin(__pa(pte));
-        make_page_writable(pte);
+        make_mmu_page_writable(pte);
 	free_page((unsigned long)pte);
 }

Index: xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h
===================================================================
--- xen-features.orig/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h	2006-01-27 11:01:53.000000000 +0000
+++ xen-features/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h	2006-01-27 11:02:07.000000000 +0000
@@ -42,7 +42,7 @@
 static inline void pte_free_kernel(pte_t *pte)
 {
 	free_page((unsigned long)pte);
-	make_page_writable(pte);
+	make_mmu_page_writable(pte);
 }

 extern void pte_free(struct page *pte);
2006-01-27 11:29:42 +00:00
kaf24@firebug.cl.cam.ac.uk e5c953af87 Fix inline asm hypercall argument parameter indexes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-25 12:34:02 +01:00
kaf24@firebug.cl.cam.ac.uk b1f769322e Fix 64-bit build and fix the transfer-page code for the
iret hypercall.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-25 11:08:33 +01:00
kaf24@firebug.cl.cam.ac.uk 99e957075c Indirect hypercalls through a hypercall transfer page.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-24 18:05:45 +01:00
kaf24@firebug.cl.cam.ac.uk 05e845bded The present pud_offset_k implementation runs the value read through
the m2p translation process twice. With that removed, it can then
also be simplified.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
2006-01-23 16:27:00 +01:00
Ian.Campbell@xensource.com 2c5ceaba04 Fix x86_64 domU build by conditionalizing NMI support on CONFIG_X86_LOCAL_APIC
The NMI handler is not built unless CONFIG_X86_LOCAL_APIC is defined, and 
CONFIG_X86_LOCAL_APIC requires a dom0 build.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-01-12 10:37:10 +00:00
Ian.Campbell@xensource.com 544a856af5 Pass NMIs to DOM0 via a dedicated callback, Xen/Linux x86_64 support.
Register our NMI handler with Xen. Do an iret via the hypervisor
whenever the return CS is > RING0.

Add include/asm-xen/asm-x86_64/nmi.h as a Xen modified copy of
include/asm-x86_64/nmi.h in order that we can implement
get_nmi_reason() in a manner suitable for Xen.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-01-11 15:53:59 +00:00
Ian.Campbell@xensource.com 716d68d4c2 Pass NMIs to DOM0 via a dedicated callback, Xen/Linux i386 support.
Register our NMI handler with Xen. Use a pseudo-flag in EFLAGS in
indicate that we should return from the NMI via a hypervisor iret.

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>
2006-01-11 15:52:54 +00:00
vhanquez@kneesa.uk.xensource.com d9014bb4aa update xs_transaction_t to be a plain u32 integer instead of a fake pointer.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-01-11 12:01:37 +00:00
vhanquez@kneesa.uk.xensource.com ec5303c071 Change xenbus_transaction fake pointer into an opaque type.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-01-10 17:16:30 +00:00
vhanquez@kneesa.uk.xensource.com e92fb45b06 Replace NULL xenbus transaction by a specific XBT_NULL value.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-01-10 15:05:05 +00:00
djm@kirby.fc.hp.com e31c95409c Merge 2006-01-03 10:19:20 -06:00
djm@kirby.fc.hp.com fe8281c24d Small bug fixes 2006-01-03 08:59:00 -06:00
cl349@firebug.cl.cam.ac.uk 7fae73c67e Remove xen specific bug() implementation -- the regular one works just fine.
From: "Jan Beulich" <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-12-22 15:50:06 +01:00
kaf24@firebug.cl.cam.ac.uk 2eb236c17e Remove FIX_RSDP_PAGE. Access RSDP via the 'isamap' of low 1MB.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-12-20 18:45:29 +01:00
kaf24@firebug.cl.cam.ac.uk 3f60590ca4 Remove automatic I/O-fault handling in XenLinux. It's now
handled by Xen itself.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-12-20 18:34:58 +01:00
chris@ubuntu.eng.hq.xensource.com 3c10a56738 Add and use write_ldt_entry, as seen in later linux kernel versions.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-12-15 16:17:13 -07:00
chris@ubuntu.eng.hq.xensource.com a76c7da6d9 merge? 2005-12-13 19:05:57 -07:00
chris@ubuntu.eng.hq.xensource.com 45fb552eb2 Make set_pte_at and set_pte_at_sync macros instead of inline functions.
This avoids having to include sched.h to get a definition of init_mm.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-12-13 19:04:14 -07:00
kaf24@firebug.cl.cam.ac.uk 3e61615263 Fix unmask_evtchn() when the port is bound to a different
VCPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-12-13 19:20:29 +01:00
kaf24@firebug.cl.cam.ac.uk e50c7df410 Make balloon driver arch-neutral.
Signed-off-by: Dan Magenheimer <dan.magenheimer@hp.com>
2005-12-08 15:33:10 +01:00
kaf24@firebug.cl.cam.ac.uk 8d547cb252 Simplify console driver and avoid unnecessary spinning in the
transmit handler.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-12-02 16:14:20 +01:00
kaf24@firebug.cl.cam.ac.uk 9bd97f28fa Bundle vcpu_time and vcpu_info structures together into a single
structure that is 64 bytes on x86. This ensures that indexing into
the array is fast (power-of-two size) and that accesses are cache
friendly (cache line size is usually 32 or 64 bytes).

Rename vcpu_data to vcpu_info, vcpu_time to vcpu_info.time.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-28 19:48:54 +01:00
kaf24@firebug.cl.cam.ac.uk 83120737f5 Implement new memory_op() XENMEM_machphys_mfn_list. Replaces old
privcmd Linux ioctl and includes an implementation for x86/64.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-25 18:43:35 +01:00
emellor@leeni.uk.xensource.com fefa6c7211 Move XenbusState from the Linux-specific xenbus.h into a new file with the Xen
public interfaces.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 11:19:03 +00:00
kaf24@firebug.cl.cam.ac.uk 5a808f1e05 Add __iomem and __user pointer annotations to linux sparse tree.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-11-23 14:14:01 +01:00
cl349@firebug.cl.cam.ac.uk a69feeba51 Move tpmfe.h file next to other xen specific header files.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : linux-2.6-xen-sparse/include/linux/tpmfe.h => linux-2.6-xen-sparse/include/asm-xen/tpmfe.h
2005-11-19 02:27:20 +01:00
kaf24@firebug.cl.cam.ac.uk f2d946d367 Simplify arbitrary_virt_to_phys, and fix the x86/64 version to mask
out the NX bit.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-18 17:41:03 +01:00
kaf24@firebug.cl.cam.ac.uk de70603843 Remove conditionally-compiled code for Linux 2.4.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-11-18 13:46:18 +01:00
smh22@firebug.cl.cam.ac.uk 4c908cf0e3 Many fixes for save/restore and related areas for PAE in particular. Now
should be able to save/restore successfully on machines with up to 16GB 
and any size of guest. 

Signed-off-by: Steven Hand <steven@xensource.com>
2005-11-16 17:45:03 +01:00
kaf24@firebug.cl.cam.ac.uk cebb9d12a5 Change ISA_IO_BASE to fix_to_virt(FIX_ISAMAP_BEGIN). It used to be
PAGE_OFFSET, which was unaltered from vanilla Linux 2.6.12.6 kernels
and caused isa_memcpy_fromio() to not read physical memory from
0xf0000 - 0xfffff correctly.

http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=393

Signed-off-by: Andrew D. Ball <aball@us.ibm.com>
2005-11-16 11:39:38 +01:00
kaf24@firebug.cl.cam.ac.uk 7cfd98e2f1 Correctly export xencons functions to avoid ugly 'extern'
declarations.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-11-16 11:32:19 +01:00
emellor@leeni.uk.xensource.com 2654fdd1f6 New Xenbus driver structure, bringing an explicit state machine to the table.
This will make the drivers more robust to failure of the other end, and makes
current driver state more visible.  It also allows us to bring very similar
pieces of code from the drivers together into the xenbus driver.  This should
be the start of a fix to the problem with block and net device hotplugging,
because the code was previously confused about the difference between the
connection state of the kernel device layer, and the state of the xenbus
communication.  This confusion is addressed here.

Much of this work is influenced by Rusty Russell's skeleton driver, recently
posted to xen-devel, as that piece made suggestions as to structure and
arrangement that have been taken on board, albeit pushed down into the xenbus
layer.

A new file xenbus_client.c has been added.  This file implements the interface
between the xenbus layer and the layer specific to the driver.  Access to
lower layers is still allowed for those who do not need all the facilities of
the new driver.

xenbus_dev_error has moved from xenbus_xs.c into xenbus_client.c, and
xenbus_dev_ok has been removed, in favour of xenbus_switch_state.

DevController.py now closes down a device by writing a change to the Closing
state on the backend, to allow the frontend time to close down properly.  Its
also writes the frontend and backend details within the same transaction.

The timeout on the hotplug scripts has been cranked down from 2 minutes to 5
seconds.

The diagnose script has been updated to parse the new states.

The blktab and tpm drivers have yet to be ported to this structure.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-11 21:59:05 +01:00