Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/i386/i386/locore.S,v rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/i386/i386/locore.S,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.85 retrieving revision 1.88 diff -u -p -r1.85 -r1.88 --- src/sys/arch/i386/i386/locore.S 2009/03/21 14:41:29 1.85 +++ src/sys/arch/i386/i386/locore.S 2009/07/29 12:02:05 1.88 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.85 2009/03/21 14:41:29 ad Exp $ */ +/* $NetBSD: locore.S,v 1.88 2009/07/29 12:02:05 cegger Exp $ */ /* * Copyright-o-rama! @@ -134,7 +134,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.85 2009/03/21 14:41:29 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.88 2009/07/29 12:02:05 cegger Exp $"); #include "opt_compat_oldboot.h" #include "opt_ddb.h" @@ -173,7 +173,6 @@ __KERNEL_RCSID(0, "$NetBSD: locore.S,v 1 * Xen guest identifier and loader selection */ .section __xen_guest -#ifdef XEN3 .ascii "GUEST_OS=netbsd,GUEST_VER=3.0,XEN_VER=xen-3.0" #if defined(DOM0OPS) || !defined(XEN_COMPAT_030001) .ascii ",VIRT_BASE=0xc0000000" /* KERNBASE */ @@ -190,9 +189,6 @@ __KERNEL_RCSID(0, "$NetBSD: locore.S,v 1 #ifdef PAE .ascii ",PAE=yes[extended-cr3]" #endif -#else /* !XEN3 */ - .ascii "GUEST_OS=netbsd,GUEST_VER=2.0,XEN_VER=2.0" -#endif /* XEN3 */ .ascii ",LOADER=generic" #if (NKSYMS || defined(DDB) || defined(MODULAR)) && !defined(SYMTAB_SPACE) .ascii ",BSD_SYMTAB=yes" @@ -727,11 +723,7 @@ start: popfl cld -#ifdef XEN3 movl %esp, %ebx # save start of available space -#else - movl %esi,%ebx # save start_info pointer -#endif movl $_RELOC(tmpstk),%esp # bootstrap stack end location /* Clear BSS first so that there are no surprises... */ @@ -779,13 +771,13 @@ start: addl $4,%esp call _C_LABEL(main) -#if defined(XEN3) && !defined(XEN_COMPAT_030001) +#if defined(XEN) && !defined(XEN_COMPAT_030001) /* space for the hypercall call page */ #define HYPERCALL_PAGE_OFFSET 0x1000 .org HYPERCALL_PAGE_OFFSET ENTRY(hypercall_page) .skip 0x1000 -#endif /* defined(XEN3) && !defined(XEN_COMPAT_030001) */ +#endif /* defined(XEN) && !defined(XEN_COMPAT_030001) */ /* * void lgdt_finish(void); @@ -1047,6 +1039,7 @@ ENTRY(cpu_switchto) .Lcopy_iobitmap: /* Copy I/O bitmap. */ + incl _C_LABEL(pmap_iobmp_evcnt)+EV_COUNT movl $(IOMAPSIZE/4),%ecx pushl %esi pushl %edi @@ -1079,7 +1072,10 @@ END(savectx) * Old call gate entry for syscall */ IDTVEC(osyscall) +#ifndef XEN + /* XXX we are in trouble! interrupts be off here. */ cli # must be first instruction +#endif pushfl # set eflags in trap frame popl 8(%esp) orl $PSL_I,(%esp) # re-enable ints on return to user