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.43.4.1 retrieving revision 1.43.4.4 diff -u -p -r1.43.4.1 -r1.43.4.4 --- src/sys/arch/i386/i386/locore.S 2006/10/20 19:42:24 1.43.4.1 +++ src/sys/arch/i386/i386/locore.S 2006/12/29 20:27:41 1.43.4.4 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.43.4.1 2006/10/20 19:42:24 ad Exp $ */ +/* $NetBSD: locore.S,v 1.43.4.4 2006/12/29 20:27:41 ad Exp $ */ /*- * Copyright (c) 1998, 2000, 2004 The NetBSD Foundation, Inc. @@ -215,16 +215,10 @@ start: movw $0x1234,0x472 # warm boot .align 4 .globl Multiboot_Header _C_LABEL(Multiboot_Header): -#define MULTIBOOT_HEADER_FLAGS (MULTIBOOT_HEADER_WANT_MEMORY | \ - MULTIBOOT_HEADER_HAS_ADDR) +#define MULTIBOOT_HEADER_FLAGS (MULTIBOOT_HEADER_WANT_MEMORY) .long MULTIBOOT_HEADER_MAGIC .long MULTIBOOT_HEADER_FLAGS .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) - .long RELOC(Multiboot_Header) - .long RELOC(start) - .long RELOC(_edata) - .long RELOC(_end) + MULTIBOOT_SYMTAB_SPACE - .long RELOC(start) 1: /* Check if we are being executed by a Multiboot-compliant boot @@ -885,9 +879,9 @@ ENTRY(cpu_switch) xorl %esi,%esi sti idle_unlock: -#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG) +#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG) || defined(DIAGNOSTIC) pushl $_C_LABEL(sched_mutex) - call _C_LABEL(mutex_exit) + call _C_LABEL(smutex_exit) addl $4,%esp #endif /* Interrupts are okay again. */ @@ -916,9 +910,9 @@ idle_start: idle_exit: movl $IPL_HIGH,CPUVAR(ILEVEL) # splhigh sti -#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG) +#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG) || defined(DIAGNOSTIC) pushl $_C_LABEL(sched_mutex) - call _C_LABEL(mutex_enter) + call _C_LABEL(smutex_enter) addl $4,%esp #endif movl _C_LABEL(sched_whichqs),%ecx @@ -1072,14 +1066,9 @@ switch_restored: movl $1,%ebx switch_return: - /* Donate the current CPU's sched mutex to the LWP */ - movl CPUVAR(SELF),%eax - addl $CPU_INFO_SCHED_MUTEX,%eax - movl %eax,L_MUTEX(%edi) - -#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG) +#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG) || defined(DIAGNOSTIC) pushl $_C_LABEL(sched_mutex) - call _C_LABEL(mutex_exit) + call _C_LABEL(smutex_exit) addl $4,%esp #endif cmpl $0,CPUVAR(IPENDING)