Kernel/x86 - Fixed bug MM_DumpTables
[tpg/acess2.git] / Kernel / arch / x86 / lib.c
index 969332b..0d493bb 100644 (file)
@@ -15,6 +15,7 @@
 // === IMPRORTS ===
 #if TRACE_LOCKS
 extern struct sShortSpinlock   glDebug_Lock;
+extern struct sShortSpinlock   glThreadListLock;
 #endif
 extern int     GetCPUNum(void);
 
@@ -94,6 +95,14 @@ void SHORTLOCK(struct sShortSpinlock *Lock)
        }
        #endif
        
+       #if TRACE_LOCKS
+       if( Lock != &glDebug_Lock && Lock != &glThreadListLock )
+       {
+               //Log_Log("LOCK", "%p locked by %p", Lock, __builtin_return_address(0));
+               Debug("%p obtaining %p (Called by %p)", __builtin_return_address(0), Lock, __builtin_return_address(1));
+       }
+       #endif
+       
        // Wait for another CPU to release
        while(v) {
                // CMPXCHG:
@@ -124,10 +133,11 @@ void SHORTLOCK(struct sShortSpinlock *Lock)
        #endif
        
        #if TRACE_LOCKS
-       if( Lock != &glDebug_Lock )
+       if( Lock != &glDebug_Lock && Lock != &glThreadListLock )
        {
                //Log_Log("LOCK", "%p locked by %p", Lock, __builtin_return_address(0));
-               LogF("Lock %p locked by %p\n", Lock, __builtin_return_address(0));
+               //Debug("Lock %p locked by %p\t%p", Lock, __builtin_return_address(0), __builtin_return_address(1));
+               Debug("got it");
        }
        #endif
 }
@@ -145,10 +155,10 @@ void SHORTREL(struct sShortSpinlock *Lock)
        #endif
        
        #if TRACE_LOCKS
-       if( Lock != &glDebug_Lock )
+       if( Lock != &glDebug_Lock && Lock != &glThreadListLock )
        {
                //Log_Log("LOCK", "%p released by %p", Lock, __builtin_return_address(0));
-               LogF("Lock %p released by %p\n", Lock, __builtin_return_address(0));
+               Debug("Lock %p released by %p\t%p", Lock, __builtin_return_address(0), __builtin_return_address(1));
        }
        #endif
        
@@ -178,7 +188,7 @@ int putDebugChar(char ch)
                outb(GDB_SERIAL_PORT + 3, 0x03);    // 8 bits, no parity, one stop bit (8N1)
                outb(GDB_SERIAL_PORT + 2, 0xC7);    // Enable FIFO with 14-byte threshold and clear it
                outb(GDB_SERIAL_PORT + 4, 0x0B);    // IRQs enabled, RTS/DSR set
-               gbDebug_SerialSetup = 1;
+               gbGDB_SerialSetup = 1;
        }
        while( (inb(GDB_SERIAL_PORT + 5) & 0x20) == 0 );
        outb(GDB_SERIAL_PORT, ch);
@@ -194,7 +204,7 @@ int getDebugChar(void)
                outb(GDB_SERIAL_PORT + 3, 0x03);    // 8 bits, no parity, one stop bit
                outb(GDB_SERIAL_PORT + 2, 0xC7);    // Enable FIFO with 14-byte threshold and clear it
                outb(GDB_SERIAL_PORT + 4, 0x0B);    // IRQs enabled, RTS/DSR set
-               gbDebug_SerialSetup = 1;
+               gbGDB_SerialSetup = 1;
        }
        while( (inb(GDB_SERIAL_PORT + 5) & 1) == 0)     ;
        return inb(GDB_SERIAL_PORT);
@@ -424,22 +434,6 @@ Uint64 __umoddi3(Uint64 Num, Uint64 Den)
        return Num - __udivdi3(Num, Den) * Den;
 }
 
-Uint16 LittleEndian16(Uint16 Val)
-{
-       return Val;
-}
-Uint16 BigEndian16(Uint16 Val)
-{
-       return ((Val&0xFF)<<8) | ((Val>>8)&0xFF);
-}
-Uint32 LittleEndian32(Uint32 Val)
-{
-       return Val;
-}
-Uint32 BigEndian32(Uint32 Val)
-{
-       return ((Val&0xFF)<<24) | ((Val&0xFF00)<<8) | ((Val>>8)&0xFF00) | ((Val>>24)&0xFF);
-}
 
 // --- EXPORTS ---
 EXPORT(memcpy);        EXPORT(memset);
@@ -450,9 +444,6 @@ EXPORT(inb);        EXPORT(inw);    EXPORT(ind);
 EXPORT(outb);  EXPORT(outw);   EXPORT(outd);
 EXPORT(__udivdi3);     EXPORT(__umoddi3);
 
-EXPORT(LittleEndian16);        EXPORT(BigEndian16);
-EXPORT(LittleEndian32);        EXPORT(BigEndian32);
-
 EXPORT(SHORTLOCK);
 EXPORT(SHORTREL);
 EXPORT(IS_LOCKED);

UCC git Repository :: git.ucc.asn.au