From d00e6a08ededb16e5d075ce28d7d797763e25c55 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Mon, 11 May 2020 19:14:20 +0200 Subject: Some very small fixes in several files --- src/userspace/programs/sh.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/userspace/programs/sh.c') diff --git a/src/userspace/programs/sh.c b/src/userspace/programs/sh.c index ba6ba8f..db8543d 100644 --- a/src/userspace/programs/sh.c +++ b/src/userspace/programs/sh.c @@ -11,8 +11,31 @@ void test(u8 *data) printf("."); } +u32 cpu_flags() +{ + u32 flags; + asm volatile("pushf\n" + "pop %0\n" + : "=rm"(flags)::"memory"); + return flags; +} + +int interrupts_enabled() +{ + return (cpu_flags() & 0x200) == 0x200; +} + void main() { + /* if (get_pid() != 1) { */ + /* printf("Wrong PID!\n"); */ + /* exit(1); */ + /* } */ + + if (interrupts_enabled()) + printf("INTs enabled :)\n"); + else + printf("INTs disabled :(\n"); printf("[~] "); /* while (1) { */ -- cgit v1.2.3