X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Finclude%2Farch.h;h=feb25f4322536fdf8ee1d3734732588c64028b1a;hb=13078002b01ee4f63eb2001d2ef479a2a006ea32;hp=658684528f161acd0498e0863ca4521d3667283f;hpb=479d0634670b58da044bc58149662adba0ad1d0b;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/include/arch.h b/KernelLand/Kernel/arch/x86/include/arch.h index 65868452..feb25f43 100644 --- a/KernelLand/Kernel/arch/x86/include/arch.h +++ b/KernelLand/Kernel/arch/x86/include/arch.h @@ -66,6 +66,10 @@ 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"); } + +#define ASM(v...) __asm__ __volatile__ (v) // === TYPES === typedef unsigned int Uint; // Unsigned machine native integer