X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Flib.c;h=5f6bdd83278e1cbbb85edc8d053cd7aaef91def9;hb=5e9042e320d0a24d1691bcd6845936879238e812;hp=7402bdaf45d6655fb387df8f2f3abbc5192a9560;hpb=54bf151b1a05b74debdb5f3baec02c18406b74d1;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/lib.c b/Kernel/arch/x86_64/lib.c index 7402bdaf..5f6bdd83 100644 --- a/Kernel/arch/x86_64/lib.c +++ b/Kernel/arch/x86_64/lib.c @@ -8,6 +8,7 @@ #define SERIAL_PORT 0x3F8 #define GDB_SERIAL_PORT 0x2F8 + // === IMPORTS === extern int GetCPUNum(void); extern void *Proc_GetCurThread(void); @@ -16,6 +17,9 @@ extern void *Proc_GetCurThread(void); int gbDebug_SerialSetup = 0; int gbGDB_SerialSetup = 0; +// === PROTOTYPEs === + int putDebugChar(char ch); + // === CODE === /** * \brief Determine if a short spinlock is locked @@ -141,6 +145,7 @@ void SHORTREL(struct sShortSpinlock *Lock) } // === DEBUG IO === +#if USE_GDB_STUB int putDebugChar(char ch) { if(!gbGDB_SerialSetup) { @@ -172,6 +177,7 @@ int getDebugChar(void) while( (inb(GDB_SERIAL_PORT + 5) & 1) == 0) ; return inb(GDB_SERIAL_PORT); } +#endif void Debug_PutCharDebug(char ch) { @@ -195,6 +201,12 @@ void Debug_PutCharDebug(char ch) #endif } +void Debug_PutStringDebug(const char *String) +{ + while(*String) + Debug_PutCharDebug(*String++); +} + // === PORT IO === void outb(Uint16 Port, Uint8 Data) { @@ -228,6 +240,7 @@ Uint32 ind(Uint16 Port) } // === Endianness === +/* Uint32 BigEndian32(Uint32 Value) { Uint32 ret; @@ -242,6 +255,7 @@ Uint16 BigEndian16(Uint16 Value) { return (Value>>8)|(Value<<8); } +*/ // === Memory Manipulation === int memcmp(const void *__dest, const void *__src, size_t __count)