Remove now unused assembly mutex code.
authormpi <mpi@openbsd.org>
Sat, 10 Feb 2018 09:21:12 +0000 (09:21 +0000)
committermpi <mpi@openbsd.org>
Sat, 10 Feb 2018 09:21:12 +0000 (09:21 +0000)
ok mlarkin@, deraadt@

sys/arch/amd64/amd64/genassym.cf
sys/arch/amd64/amd64/mutex.S [deleted file]
sys/arch/i386/i386/genassym.cf
sys/arch/i386/i386/mutex.S [deleted file]

index 88f0212..f72dd49 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: genassym.cf,v 1.32 2018/01/22 10:04:46 mpi Exp $
+#      $OpenBSD: genassym.cf,v 1.33 2018/02/10 09:21:12 mpi Exp $
 #      Written by Artur Grabowski art@openbsd.org, Public Domain
 
 include <sys/param.h>
@@ -139,11 +139,6 @@ struct     ioapic_softc
 member IOAPIC_SC_REG   sc_reg
 member IOAPIC_SC_DATA  sc_data
 
-struct mutex
-member mtx_wantipl
-member mtx_oldipl
-member mtx_owner
-
 # pte fields
 export PG_V
 export PG_KR
diff --git a/sys/arch/amd64/amd64/mutex.S b/sys/arch/amd64/amd64/mutex.S
deleted file mode 100644 (file)
index f864c41..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*     $OpenBSD: mutex.S,v 1.13 2017/06/29 17:17:28 deraadt Exp $      */
-
-/*
- * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
- * All rights reserved. 
- *
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions 
- * are met: 
- *
- * 1. Redistributions of source code must retain the above copyright 
- *    notice, this list of conditions and the following disclaimer. 
- * 2. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include "assym.h"
-
-#include <machine/param.h>
-#include <machine/asm.h>
-#include <machine/segments.h>
-#include <machine/specialreg.h>
-#include <machine/trap.h>
-#include <machine/frameasm.h>
-
-/*
- * Yeah, we don't really need to implement mtx_init here, but let's keep
- * all the functions in the same place.
- */
-ENTRY(__mtx_init)
-       movl    %esi, MTX_WANTIPL(%rdi)
-       movl    $0, MTX_OLDIPL(%rdi)
-       movq    $0, MTX_OWNER(%rdi)
-       ret
-
-ENTRY(__mtx_enter)
-1:     movl    MTX_WANTIPL(%rdi), %eax
-       movq    CPUVAR(SELF), %rcx
-       movl    CPU_INFO_ILEVEL(%rcx), %edx     # oipl = cpl;
-       cmpl    %eax, %edx                      # if (cpl < mtx->mtx_wantipl)
-       cmovge  %edx, %eax
-       movl    %eax, CPU_INFO_ILEVEL(%rcx)     #       cpl = mtx->mtx_wantipl;
-       /*
-        * %edx - the old ipl
-        * %rcx - curcpu()
-        */
-       xorq    %rax, %rax
-#ifdef MULTIPROCESSOR
-       lock
-#endif
-       cmpxchgq        %rcx, MTX_OWNER(%rdi)   # test_and_set(mtx->mtx_owner)
-       jne     2f
-       movl    %edx, MTX_OLDIPL(%rdi)
-#ifdef DIAGNOSTIC
-       incl    CPU_INFO_MUTEX_LEVEL(%rcx)
-#endif
-       ret
-
-       /* We failed to obtain the lock. splx, spin and retry. */
-2:     pushq   %rdi
-       movl    %edx, %edi
-       call    _C_LABEL(spllower)
-       popq    %rdi
-3:
-       pause
-#ifdef DIAGNOSTIC
-       movq    CPUVAR(SELF), %rcx
-       cmpq    MTX_OWNER(%rdi), %rcx
-       je      4f
-#endif
-       movq    MTX_OWNER(%rdi), %rax
-       testq   %rax, %rax
-       jz      1b
-       jmp     3b
-#ifdef DIAGNOSTIC
-4:     movq    $mtx_lockingself, %rdi
-       call    _C_LABEL(panic)
-
-       .section .rodata
-mtx_lockingself:
-       .asciz  "mtx_enter: locking against myself"
-       .text
-#endif
-
-ENTRY(__mtx_enter_try)
-1:     movl    MTX_WANTIPL(%rdi), %eax
-       movq    CPUVAR(SELF), %rcx
-       movl    CPU_INFO_ILEVEL(%rcx), %edx     # oipl = cpl;
-       cmpl    %eax, %edx                      # if (cpl < mtx->mtx_wantipl)
-       cmovge  %edx, %eax
-       movl    %eax, CPU_INFO_ILEVEL(%rcx)     #       cpl = mtx->mtx_wantipl;
-       /*
-        * %edx - the old ipl
-        * %rcx - curcpu()
-        */
-       xorq    %rax, %rax
-#ifdef MULTIPROCESSOR
-       lock
-#endif
-       cmpxchgq        %rcx, MTX_OWNER(%rdi)   # test_and_set(mtx->mtx_owner)
-       jne     2f
-       movl    %edx, MTX_OLDIPL(%rdi)
-#ifdef DIAGNOSTIC
-       incl    CPU_INFO_MUTEX_LEVEL(%rcx)
-#endif
-       movq    $1, %rax
-       ret
-
-       /* We failed to obtain the lock. splx and return 0. */
-2:     pushq   %rdi
-       movl    %edx, %edi
-       call    _C_LABEL(spllower)
-       popq    %rdi
-#ifdef DIAGNOSTIC
-       movq    CPUVAR(SELF), %rcx
-       cmpq    MTX_OWNER(%rdi), %rcx
-       je      3f
-#endif
-       xorq    %rax, %rax
-       ret
-
-#ifdef DIAGNOSTIC
-3:     movq    $mtx_lockingtry, %rdi
-       call    _C_LABEL(panic)
-
-       .section .rodata
-mtx_lockingtry:
-       .asciz  "mtx_enter_try: locking against myself"
-       .text
-#endif
-
-
-ENTRY(__mtx_leave)
-       movq    %rdi, %rax
-#ifdef DIAGNOSTIC
-       movq    CPUVAR(SELF), %rcx
-       cmpq    MTX_OWNER(%rax), %rcx
-       jne     2f
-       decl    CPU_INFO_MUTEX_LEVEL(%rcx)
-#endif
-       xorq    %rcx, %rcx
-       movl    MTX_OLDIPL(%rax), %edi
-       movl    %ecx, MTX_OLDIPL(%rax)
-       movq    %rcx, MTX_OWNER(%rax)
-       cmpl    %edi, CPUVAR(ILEVEL)
-       je      1f
-       call    _C_LABEL(spllower)
-1:
-       ret
-
-#ifdef DIAGNOSTIC
-2:     movq    $mtx_leave_held, %rdi
-       call    _C_LABEL(panic)
-
-       .section .rodata
-mtx_leave_held:
-       .asciz  "mtx_leave: lock not held"
-       .text
-#endif
index 877df63..ecb90f6 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: genassym.cf,v 1.41 2018/01/22 10:04:46 mpi Exp $
+#      $OpenBSD: genassym.cf,v 1.42 2018/02/10 09:21:12 mpi Exp $
 #
 # Copyright (c) 1982, 1990 The Regents of the University of California.
 # All rights reserved.
@@ -135,11 +135,6 @@ member     IH_COUNT                ih_count.ec_count
 member ih_next
 endif
 
-struct mutex
-member mtx_wantipl
-member mtx_oldipl
-member mtx_owner
-
 define IP_SRC                  offsetof(struct ip, ip_src)
 define IP_DST                  offsetof(struct ip, ip_dst)
 
diff --git a/sys/arch/i386/i386/mutex.S b/sys/arch/i386/i386/mutex.S
deleted file mode 100644 (file)
index c00fee7..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-/*     $OpenBSD: mutex.S,v 1.12 2017/06/29 17:17:28 deraadt Exp $      */
-
-/*
- * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "assym.h"
-/*
- * Yeah, we don't really need to implement mtx_init here, but let's keep
- * all the functions in the same place.
- */
-ENTRY(__mtx_init)
-       pushl   %ebp
-       movl    %esp, %ebp
-       movl    8(%esp), %eax
-       movl    12(%esp), %edx
-       movl    %edx, MTX_WANTIPL(%eax)
-       xorl    %edx, %edx
-       movl    %edx, MTX_OLDIPL(%eax)
-       movl    %edx, MTX_LOCK(%eax)
-       movl    %edx, MTX_OWNER(%eax)
-       leave
-       ret
-
-#define SOFF   8
-
-ENTRY(__mtx_enter)
-       pushl   %ebp
-       movl    %esp, %ebp      
-1:     movl    SOFF(%ebp), %ecx
-       movl    MTX_WANTIPL(%ecx), %eax
-       movl    CPL, %edx               # oipl = cpl;
-       cmpl    %edx, %eax              # if (cpl < mtx->mtx_wantipl)
-       jle     2f
-       movl    %eax, CPL               #       cpl = mtx->mtx_wantipl;
-2:     /*
-        * %edx now contains the oldipl.
-        * %ecx contains the mtx.
-        */
-       movl    $1, %eax
-       xchgl   %eax, MTX_LOCK(%ecx)    # test_and_set(mtx->mtx_lock)
-       testl   %eax, %eax              # if (already held)
-       jnz     3f
-       movl    CPUVAR(SELF), %eax
-#ifdef DIAGNOSTIC
-       incl    CPU_INFO_MUTEX_LEVEL(%eax)
-#endif
-       movl    %eax, MTX_OWNER(%ecx)
-       movl    %edx, MTX_OLDIPL(%ecx)
-       leave
-       ret
-
-       /* We failed to obtain the lock. splx, spin and retry. */
-3:     pushl   %edx
-       call    _C_LABEL(splx)
-       movl    %ebp, %esp
-       movl    SOFF(%ebp), %ecx                # %ecx clobbered
-4:
-       pause
-#ifdef DIAGNOSTIC
-       movl    CPUVAR(SELF), %edx
-       cmpl    MTX_OWNER(%ecx), %edx
-       je      5f
-#endif
-       movl    MTX_LOCK(%ecx), %eax
-       testl   %eax, %eax
-       jz      1b
-       jmp     4b
-#ifdef DIAGNOSTIC
-5:     pushl   $mtx_lockingself
-       call    _C_LABEL(panic)
-
-       .section .rodata
-mtx_lockingself:
-       .asciz  "mtx_enter: locking against myself"
-       .text
-#endif
-
-ENTRY(__mtx_enter_try)
-       pushl   %ebp
-       movl    %esp, %ebp      
-1:     movl    SOFF(%ebp), %ecx
-       movl    MTX_WANTIPL(%ecx), %eax
-       movl    CPL, %edx               # oipl = cpl;
-       cmpl    %edx, %eax              # if (cpl < mtx->mtx_wantipl)
-       jle     2f
-       movl    %eax, CPL               #       cpl = mtx->mtx_wantipl;
-2:     /*
-        * %edx now contains the oldipl.
-        * %ecx contains the mtx.
-        */
-       movl    $1, %eax
-       xchgl   %eax, MTX_LOCK(%ecx)    # test_and_set(mtx->mtx_lock)
-       testl   %eax, %eax              # if (already held)
-       jnz     3f
-       movl    CPUVAR(SELF), %eax
-#ifdef DIAGNOSTIC
-       incl    CPU_INFO_MUTEX_LEVEL(%eax)
-#endif
-       movl    %eax, MTX_OWNER(%ecx)
-       movl    %edx, MTX_OLDIPL(%ecx)
-       movl    $1, %eax
-       leave
-       ret
-
-       /* We failed to obtain the lock. splx and return zero. */
-3:     pushl   %edx
-       call    _C_LABEL(splx)
-       movl    %ebp, %esp
-       movl    SOFF(%ebp), %ecx                # %ecx clobbered
-#ifdef DIAGNOSTIC
-       movl    CPUVAR(SELF), %edx
-       cmpl    MTX_OWNER(%ecx), %edx
-       je      4f
-#endif
-       xorl    %eax, %eax
-       leave
-       ret
-
-#ifdef DIAGNOSTIC
-4:     pushl   $mtx_lockingtry
-       call    _C_LABEL(panic)
-
-       .section .rodata
-mtx_lockingtry:
-       .asciz  "mtx_enter_try: locking against myself"
-       .text
-#endif
-
-
-ENTRY(__mtx_leave)
-       pushl   %ebp
-       movl    %esp, %ebp
-       movl    SOFF(%ebp), %ecx
-#ifdef DIAGNOSTIC
-       movl    CPUVAR(SELF), %eax
-       cmpl    %eax, MTX_OWNER(%ecx)
-       jne     1f
-       decl    CPU_INFO_MUTEX_LEVEL(%eax)
-#endif
-       xorl    %eax, %eax
-       movl    %eax, MTX_OWNER(%ecx)
-       pushl   MTX_OLDIPL(%ecx)
-       movl    %eax, MTX_OLDIPL(%ecx)
-       movl    %eax, MTX_LOCK(%ecx)
-       call    _C_LABEL(splx)
-       leave
-       ret
-
-#ifdef DIAGNOSTIC
-1:     pushl   $mtx_leave_held
-       call    _C_LABEL(panic)
-
-       .section .rodata
-mtx_leave_held:
-       .asciz  "mtx_leave: lock not held"
-       .text
-#endif