X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Finclude%2Farch.h;h=147426950aeae613145378d5f98b417d4709896e;hb=e2744a459d1c63435d7348d0bfd0e4b92b0ec9f9;hp=8a9870589b27b0010b2798f4696965729f34f70b;hpb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/include/arch.h b/KernelLand/Kernel/arch/x86/include/arch.h index 8a987058..14742695 100644 --- a/KernelLand/Kernel/arch/x86/include/arch.h +++ b/KernelLand/Kernel/arch/x86/include/arch.h @@ -45,6 +45,7 @@ struct sShortSpinlock { #if LOCK_DISABLE_INTS int IF; //!< Interrupt state on call to SHORTLOCK #endif + void *LockedBy; }; // === MACROS === @@ -65,6 +66,8 @@ struct sShortSpinlock { * \brief Fire a magic breakpoint (bochs) */ #define MAGIC_BREAK() __asm__ __volatile__ ("xchg %bx, %bx") +// TODO: SMP halt request too +#define HALT_CPU() for(;;) { __asm__ __volatile__ ("cli; hlt"); } // === TYPES === typedef unsigned int Uint; // Unsigned machine native integer @@ -77,7 +80,6 @@ typedef signed char Sint8; typedef signed short Sint16; typedef signed long Sint32; typedef signed long long Sint64; -typedef Uint size_t; typedef char BOOL; typedef Uint32 tPAddr;