diff --git a/src/hulk/cpu.d b/src/hulk/cpu.d index f39aec6..0edd8dd 100644 --- a/src/hulk/cpu.d +++ b/src/hulk/cpu.d @@ -284,3 +284,9 @@ void cpuid1(uint * ebx, uint * ecx, uint * edx) { __asm("cpuid", "=*{ebx},=*{ecx},=*{edx},{eax}", ebx, ecx, edx, 1u); } + +void swint(int swint_id)() +{ + static assert((0 <= swint_id) && (swint_id <= 255)); + mixin(`__asm("int $$`, swint_id, `", "");`); +}