From 97c4f6c00218c8cf74f75a8466c4254cdfba160b Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Mon, 14 Apr 2003 16:31:59 +0000 Subject: bitkeeper revision 1.165 (3e9ae27fgvCRUGxAZJ70ClZ8aKWQkw) Many files: Virtualised the GDT. Also some progress in virtualising the LDT. --- xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/setup.c | 7 +++---- xenolinux-2.4.21-pre4-sparse/include/asm-xeno/hypervisor.h | 9 ++++++--- xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h | 9 --------- xenolinux-2.4.21-pre4-sparse/include/asm-xeno/segment.h | 10 ++++++---- 4 files changed, 15 insertions(+), 20 deletions(-) (limited to 'xenolinux-2.4.21-pre4-sparse') 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 -#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 -- cgit v1.2.3