Kill the ASM versions of the mtx_lock_spin and friends. They were never

used on amd64, and were actually totally broken.  They had the wrong
calling conventions.  I believe the i386 versions are going away too.

Approved by:  re (scottl)
This commit is contained in:
Peter Wemm 2003-12-06 23:17:18 +00:00
parent cfef943682
commit 62b689edc9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=123178

View File

@ -33,7 +33,6 @@
#define _MACHINE_MUTEX_H_
#ifndef LOCORE
#ifdef _KERNEL
/* Global locks */
@ -41,35 +40,5 @@ extern struct mtx clock_lock;
#endif /* _KERNEL */
#else /* !LOCORE */
/*
* Simple assembly macros to get and release mutexes.
*
* Note: All of these macros accept a "flags" argument and are analoguous
* to the mtx_lock_flags and mtx_unlock_flags general macros. If one
* desires to not pass a flag, the value 0 may be passed as second
* argument.
*
* XXX: We only have MTX_LOCK_SPIN and MTX_UNLOCK_SPIN for now, since that's
* all we use right now. We should add MTX_LOCK and MTX_UNLOCK (for sleep
* locks) in the near future, however.
*/
#define MTX_LOCK_SPIN(lck, flags) \
pushq $0 ; \
pushq $0 ; \
pushq $flags ; \
pushq $lck ; \
call _mtx_lock_spin_flags ; \
addq $0x20, %rsp ; \
#define MTX_UNLOCK_SPIN(lck) \
pushq $0 ; \
pushq $0 ; \
pushq $0 ; \
pushq $lck ; \
call _mtx_unlock_spin_flags ; \
addq $0x20, %rsp ; \
#endif /* !LOCORE */
#endif /* __MACHINE_MUTEX_H */