From a39c8975fad5806a06669b9ba9806ac0335df342 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 30 May 2025 00:16:24 +0100 Subject: [PATCH] remove unused spinlock header --- gc/ogc/machine/spinlock.h | 191 -------------------------------------- libdb/debug.c | 1 - libogc/exi.c | 4 +- lwip/arch/gc/netif/gcif.c | 1 - 4 files changed, 2 insertions(+), 195 deletions(-) delete mode 100644 gc/ogc/machine/spinlock.h diff --git a/gc/ogc/machine/spinlock.h b/gc/ogc/machine/spinlock.h deleted file mode 100644 index b2ad11b51..000000000 --- a/gc/ogc/machine/spinlock.h +++ /dev/null @@ -1,191 +0,0 @@ -#ifndef __SPINLOCK_H__ -#define __SPINLOCK_H__ - -#include -#include - -typedef struct { - vu32 lock; -} spinlock_t; - -#define SPIN_LOCK_UNLOCKED (spinlock_t){0} - -#define spin_lock_init(x) do { *(x) = SPIN_LOCK_UNLOCKED; }while(0) - -static __inline__ u32 _test_and_set(u32 *atomic) -{ - u32 ret; - - __asm__ __volatile__ ("1: lwarx %0,0,%1\n" - " cmpwi 0,%0,0\n" - " bne- 2f\n" - " stwcx. %2,0,%1\n" - " bne- 1b\n" - " isync\n" - "2:" : "=&r"(ret) - : "r"(atomic), "r"(1) - : "cr0", "memory"); - - return ret; -} - -static __inline__ u32 atomic_inc(u32 *pint) -{ - u32 ret; - __asm__ __volatile__( - "1: lwarx %0,0,%1\n\ - addi %0,%0,1\n\ - stwcx. %0,0,%1\n\ - bne- 1b\n\ - isync\n" - : "=&r"(ret) : "r"(pint) - : "cr0", "memory"); - return ret; -} - -static __inline__ u32 atomic_dec(u32 *pint) -{ - u32 ret; - __asm__ __volatile__( - "1: lwarx %0,0,%1\n\ - addi %0,%0,-1\n\ - stwcx. %0,0,%1\n\ - bne- 1b\n\ - isync\n" - : "=&r"(ret) : "r"(pint) - : "cr0", "memory"); - return ret; -} - -static __inline__ void spin_lock(spinlock_t *lock) -{ - u32 tmp; - - __asm__ __volatile__( - "b 1f # spin_lock\n\ -2: lwzx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne+ 2b\n\ -1: lwarx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne- 2b\n\ - stwcx. %2,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(lock), "r"(1) - : "cr0", "memory"); -} - -static __inline__ void spin_lock_irqsave(spinlock_t *lock,register u32 *p_isr_level) -{ - u32 level; - u32 tmp; - - _CPU_ISR_Disable(level); - - __asm__ __volatile__( - " b 1f # spin_lock\n\ - 2: lwzx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne+ 2b\n\ - 1: lwarx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne- 2b\n\ - stwcx. %2,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(lock), "r"(1) - : "cr0", "memory"); - - *p_isr_level = level; -} - -static __inline__ void spin_unlock(spinlock_t *lock) -{ - __asm__ __volatile__("eieio # spin_unlock": : :"memory"); - lock->lock = 0; -} - -static __inline__ void spin_unlock_irqrestore(spinlock_t *lock,register u32 isr_level) -{ - __asm__ __volatile__( - "eieio # spin_unlock" - : : :"memory"); - lock->lock = 0; - - _CPU_ISR_Restore(isr_level); -} - -typedef struct { - vu32 lock; -} rwlock_t; - -#define RW_LOCK_UNLOCKED (rwlock_t){0} - -#define read_lock_init(lp) do { *(lp) = RW_LOCK_UNLOCKED; }while(0) - -static __inline__ void read_lock(rwlock_t *rw) -{ - u32 tmp; - - __asm__ __volatile__( - "b 2f # read_lock\n\ -1: lwzx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - blt+ 1b\n\ -2: lwarx %0,0,%1\n\ - addic. %0,%0,1\n\ - ble- 1b\n\ - stwcx. %0,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(&rw->lock) - : "cr0", "memory"); -} - -static __inline__ void read_unlock(rwlock_t *rw) -{ - u32 tmp; - - __asm__ __volatile__( - "eieio # read_unlock\n\ -1: lwarx %0,0,%1\n\ - addic %0,%0,-1\n\ - stwcx. %0,0,%1\n\ - bne- 1b" - : "=&r"(tmp) - : "r"(&rw->lock) - : "cr0", "memory"); -} - -static __inline__ void write_lock(rwlock_t *rw) -{ - u32 tmp; - - __asm__ __volatile__( - "b 2f # write_lock\n\ -1: lwzx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne+ 1b\n\ -2: lwarx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne- 1b\n\ - stwcx. %2,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(&rw->lock), "r"(-1) - : "cr0", "memory"); -} - -static __inline__ void write_unlock(rwlock_t *rw) -{ - __asm__ __volatile__("eieio # write_unlock": : :"memory"); - rw->lock = 0; -} - - -#endif diff --git a/libdb/debug.c b/libdb/debug.c index bcde1328c..4f2fc21d9 100644 --- a/libdb/debug.c +++ b/libdb/debug.c @@ -5,7 +5,6 @@ #include #include "asm.h" #include "processor.h" -#include "spinlock.h" #include "lwp.h" #include "lwp_threads.h" #include "context.h" diff --git a/libogc/exi.c b/libogc/exi.c index ebff701e7..1de0e6017 100644 --- a/libogc/exi.c +++ b/libogc/exi.c @@ -34,12 +34,12 @@ distribution. #include "asm.h" #include "irq.h" #include "processor.h" -#include "spinlock.h" #include "system.h" #include "exi.h" #include "gcutil.h" -#include "lwp_queue.h" +#include "lwp_watchdog.h" +#include "lwp_queue.h" #include "lwp_queue.inl" //#define _EXI_DEBUG diff --git a/lwip/arch/gc/netif/gcif.c b/lwip/arch/gc/netif/gcif.c index b653b4627..3a32f65a7 100644 --- a/lwip/arch/gc/netif/gcif.c +++ b/lwip/arch/gc/netif/gcif.c @@ -1,7 +1,6 @@ #include #include "asm.h" #include "processor.h" -#include "spinlock.h" #include "irq.h" #include "exi.h" #include "cache.h"