ChangeSet 1.1288, 2005/04/12 10:48:55+01:00, mafetter@xxxxxxxxxxxxxxxx
Hand merged
linux-2.6.11-xen-sparse/arch/xen/Kconfig | 12
linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32 | 9
linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 | 9
linux-2.6.11-xen-sparse/include/asm-xen/hypervisor.h | 512
----------
xen/arch/x86/domain.c | 29
xen/arch/x86/shadow.c | 18
xen/common/dom_mem_ops.c | 14
xen/include/asm-x86/shadow.h | 46
8 files changed, 107 insertions(+), 542 deletions(-)
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/Kconfig
b/linux-2.6.11-xen-sparse/arch/xen/Kconfig
--- a/linux-2.6.11-xen-sparse/arch/xen/Kconfig 2005-04-13 19:03:13 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/Kconfig 2005-04-13 19:03:13 -04:00
@@ -143,17 +143,17 @@
choice
prompt "Processor Type"
- default X86
+ default XEN_X86
-config X86
+config XEN_X86
bool "X86"
help
Choose this option if your computer is a X86 architecture.
-config X86_64
+config XEN_X86_64
bool "X86_64"
help
- Choose this option if your computer is a X86 architecture.
+ Choose this option if your computer is a X86_64 architecture.
endchoice
@@ -165,11 +165,11 @@
source "init/Kconfig"
-if X86
+if XEN_X86
source "arch/xen/i386/Kconfig"
endif
-if X86_64
+if XEN_X86_64
source "arch/xen/x86_64/Kconfig"
endif
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32
b/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32
--- a/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32
2005-04-13 19:03:13 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32
2005-04-13 19:03:13 -04:00
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.11-xen0
-# Sat Mar 19 19:42:39 2005
+# Wed Apr 6 09:19:05 2005
#
CONFIG_XEN=y
CONFIG_ARCH_XEN=y
@@ -14,15 +14,15 @@
CONFIG_XEN_PHYSDEV_ACCESS=y
CONFIG_XEN_BLKDEV_BACKEND=y
# CONFIG_XEN_BLKDEV_TAP_BE is not set
-# CONFIG_XEN_BLKDEV_GRANT is not set
+CONFIG_XEN_BLKDEV_GRANT=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
# CONFIG_XEN_BLKDEV_TAP is not set
CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_X86=y
-# CONFIG_X86_64 is not set
+CONFIG_XEN_X86=y
+# CONFIG_XEN_X86_64 is not set
CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
#
@@ -76,6 +76,7 @@
# X86 Processor Configuration
#
CONFIG_XENARCH="i386"
+CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32
b/linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32
--- a/linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32
2005-04-13 19:03:13 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32
2005-04-13 19:03:13 -04:00
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.11-xenU
-# Tue Apr 5 16:44:33 2005
+# Wed Apr 6 09:20:09 2005
#
CONFIG_XEN=y
CONFIG_ARCH_XEN=y
@@ -12,15 +12,15 @@
#
# CONFIG_XEN_PRIVILEGED_GUEST is not set
# CONFIG_XEN_PHYSDEV_ACCESS is not set
-# CONFIG_XEN_BLKDEV_GRANT is not set
+CONFIG_XEN_BLKDEV_GRANT=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
# CONFIG_XEN_BLKDEV_TAP is not set
CONFIG_XEN_SHADOW_MODE=y
CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_X86=y
-# CONFIG_X86_64 is not set
+CONFIG_XEN_X86=y
+# CONFIG_XEN_X86_64 is not set
CONFIG_HAVE_ARCH_DEV_ALLOC_SKB=y
#
@@ -73,6 +73,7 @@
# X86 Processor Configuration
#
CONFIG_XENARCH="i386"
+CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
diff -Nru a/linux-2.6.11-xen-sparse/include/asm-xen/hypervisor.h
b/linux-2.6.11-xen-sparse/include/asm-xen/hypervisor.h
--- a/linux-2.6.11-xen-sparse/include/asm-xen/hypervisor.h 2005-04-13
19:03:13 -04:00
+++ b/linux-2.6.11-xen-sparse/include/asm-xen/hypervisor.h 2005-04-13
19:03:13 -04:00
@@ -39,9 +39,11 @@
#include <asm-xen/xen-public/io/domain_controller.h>
#include <asm/ptrace.h>
#include <asm/page.h>
+#if defined(__i386__)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#include <asm-generic/pgtable-nopmd.h>
#endif
+#endif
/* arch/xen/i386/kernel/setup.c */
union xen_start_info_union
@@ -72,14 +74,22 @@
*/
void xen_pt_switch(unsigned long ptr);
+void xen_new_user_pt(unsigned long ptr); /* x86_64 only */
+void xen_load_gs(unsigned int selector); /* x86_64 only */
void xen_tlb_flush(void);
void xen_invlpg(unsigned long ptr);
#ifndef CONFIG_XEN_SHADOW_MODE
void xen_l1_entry_update(pte_t *ptr, unsigned long val);
void xen_l2_entry_update(pmd_t *ptr, pmd_t val);
+void xen_l3_entry_update(pud_t *ptr, pud_t val); /* x86_64 only */
+void xen_l4_entry_update(pgd_t *ptr, pgd_t val); /* x86_64 only */
void xen_pgd_pin(unsigned long ptr);
void xen_pgd_unpin(unsigned long ptr);
+void xen_pud_pin(unsigned long ptr); /* x86_64 only */
+void xen_pud_unpin(unsigned long ptr); /* x86_64 only */
+void xen_pmd_pin(unsigned long ptr); /* x86_64 only */
+void xen_pmd_unpin(unsigned long ptr); /* x86_64 only */
void xen_pte_pin(unsigned long ptr);
void xen_pte_unpin(unsigned long ptr);
#else
@@ -123,506 +133,6 @@
unsigned long allocate_empty_lowmem_region(unsigned long pages);
#endif
-/*
- * Assembler stubs for hyper-calls.
- */
-
-static inline int
-HYPERVISOR_set_trap_table(
- trap_info_t *table)
-{
- int ret;
- unsigned long ignore;
-
- __asm__ __volatile__ (
- TRAP_INSTR
- : "=a" (ret), "=b" (ignore)
- : "0" (__HYPERVISOR_set_trap_table), "1" (table)
- : "memory" );
-
- return ret;
-}
-
-static inline int
-HYPERVISOR_mmu_update(
- mmu_update_t *req, int count, int *success_count, domid_t domid)
-{
- int ret;
- unsigned long ign1, ign2, ign3, ign4;
-
- __asm__ __volatile__ (
- TRAP_INSTR
- : "=a" (ret), "=b" (ign1), "=c" (ign2), "=d" (ign3), "=S" (ign4)
- : "0" (__HYPERVISOR_mmu_update), "1" (req), "2" (count),
- "3" (success_count), "4" (domid)
- : "memory" );
-
- return ret;
-}
-
-static inline int
-HYPERVISOR_mmuext_op(
- struct mmuext_op *op, int count, int *success_count, domid_t domid)
-{
- int ret;
- unsigned long ign1, ign2, ign3, ign4;
-
- __asm__ __volatile__ (
- TRAP_INSTR
- : "=a" (ret), "=b" (ign1), "=c" (ign2), "=d" (ign3), "=S" (ign4)
- : "0" (__HYPERVISOR_mmuext_op), "1" (op), "2" (count),
- "3" (success_count), "4" (domid)
- : "memory" );
-
- return ret;
-}
-
-static inline int
-HYPERVISOR_set_gdt(
- unsigned long *frame_list, int entries)
-{
- int ret;
- unsigned long ign1, ign2;
-
- __asm__ __volatile__ (
- TRAP_INSTR
- : "=a" (ret), "=b" (ign1), "=c" (ign2)
- : "0" (__HYPERVISOR_set_gdt), "1" (frame_list), "2" (entries)
- : "memory" );
-
-
- return ret;
-}
-
-static inline int
-HYPERVISOR_stack_switch(
- unsigned long ss, unsigned long esp)
-{
- int ret;
- unsigned long ign1, ign2;
-
- __asm__ __volatile__ (
- TRAP_INSTR
- : "=a" (ret), "=b" (ign1), "=c" (ign2)
- : "0" (__HYPERVISOR_stack_switch), "1" (ss), "2" (esp)
- : "memory" );
-
- return ret;
-}
-
-static inline int
-HYPERVISOR_set_callbacks(
- unsigned long event_selector, unsigned long event_address,
- unsigned long failsafe_selector, unsigned long failsafe_address)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|