aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.21-pre4-sparse
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-04-14 16:31:59 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2003-04-14 16:31:59 +0000
commit97c4f6c00218c8cf74f75a8466c4254cdfba160b (patch)
tree30fef49ce806c23ceca028e0881e7878bd08613a /xenolinux-2.4.21-pre4-sparse
parent7e3f82ea5e4abae5d28e58d90f7c2b54f109eb6a (diff)
downloadxen-97c4f6c00218c8cf74f75a8466c4254cdfba160b.tar.gz
xen-97c4f6c00218c8cf74f75a8466c4254cdfba160b.tar.bz2
xen-97c4f6c00218c8cf74f75a8466c4254cdfba160b.zip
bitkeeper revision 1.165 (3e9ae27fgvCRUGxAZJ70ClZ8aKWQkw)
Many files: Virtualised the GDT. Also some progress in virtualising the LDT.
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse')
-rw-r--r--xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c7
-rw-r--r--xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h9
-rw-r--r--xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h9
-rw-r--r--xenolinux-2.4.21-pre4-sparse/include/asm-xeno/segment.h10
4 files changed, 15 insertions, 20 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c
index 00c68a836f..6ac4ff242e 100644
--- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c
+++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c
@@ -153,10 +153,9 @@ void __init setup_arch(char **cmdline_p)
extern unsigned long cpu0_pte_quicklist[];
extern unsigned long cpu0_pgd_quicklist[];
- HYPERVISOR_shared_info->event_address =
- (unsigned long)hypervisor_callback;
- HYPERVISOR_shared_info->failsafe_address =
- (unsigned long)failsafe_callback;
+ HYPERVISOR_set_callbacks(
+ __KERNEL_CS, (unsigned long)hypervisor_callback,
+ __KERNEL_CS, (unsigned long)failsafe_callback);
boot_cpu_data.pgd_quick = cpu0_pgd_quicklist;
boot_cpu_data.pte_quick = cpu0_pte_quicklist;
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h
index 4b9591102c..35de4c20eb 100644
--- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h
+++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h
@@ -195,13 +195,16 @@ static inline int HYPERVISOR_stack_switch(unsigned long ss, unsigned long esp)
return ret;
}
-static inline int HYPERVISOR_ldt_switch(unsigned long ldts)
+static inline int HYPERVISOR_set_callbacks(
+ unsigned long event_selector, unsigned long event_address,
+ unsigned long failsafe_selector, unsigned long failsafe_address)
{
int ret;
__asm__ __volatile__ (
TRAP_INSTR
- : "=a" (ret) : "0" (__HYPERVISOR_ldt_switch),
- "b" (ldts) : "memory" );
+ : "=a" (ret) : "0" (__HYPERVISOR_set_callbacks),
+ "b" (event_selector), "c" (event_address),
+ "d" (failsafe_selector), "S" (failsafe_address) : "memory" );
return ret;
}
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h
index aad36820b7..d15646fcb5 100644
--- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h
+++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h
@@ -116,12 +116,6 @@ static inline pmd_t __pmd(unsigned long x)
#define __PAGE_OFFSET (0xC0000000)
-/*
- * This much address space is reserved for vmalloc() and iomap()
- * as well as fixmap mappings.
- */
-#define __VMALLOC_RESERVE (128 << 20)
-
#ifndef __ASSEMBLY__
/*
@@ -162,9 +156,6 @@ static __inline__ int get_order(unsigned long size)
#endif /* __ASSEMBLY__ */
#define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET)
-#define VMALLOC_RESERVE ((unsigned long)__VMALLOC_RESERVE)
-#define __MAXMEM (-__PAGE_OFFSET-__VMALLOC_RESERVE)
-#define MAXMEM ((unsigned long)(-PAGE_OFFSET-VMALLOC_RESERVE))
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET))
#define virt_to_page(kaddr) (mem_map + (__pa(kaddr) >> PAGE_SHIFT))
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/segment.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/segment.h
index 5623211570..35862eb1f2 100644
--- a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/segment.h
+++ b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/segment.h
@@ -1,10 +1,12 @@
#ifndef _ASM_SEGMENT_H
#define _ASM_SEGMENT_H
-#define __KERNEL_CS 0x11
-#define __KERNEL_DS 0x19
+#include <asm/hypervisor-ifs/hypervisor-if.h>
-#define __USER_CS 0x23
-#define __USER_DS 0x2B
+#define __KERNEL_CS FLAT_RING1_CS
+#define __KERNEL_DS FLAT_RING1_DS
+
+#define __USER_CS FLAT_RING3_CS
+#define __USER_DS FLAT_RING3_DS
#endif