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:
parent
cfef943682
commit
62b689edc9
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user