aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/arch/x86/cpu/x86_64/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/arch/x86/cpu/x86_64/interrupts.c')
-rw-r--r--roms/u-boot/arch/x86/cpu/x86_64/interrupts.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/roms/u-boot/arch/x86/cpu/x86_64/interrupts.c b/roms/u-boot/arch/x86/cpu/x86_64/interrupts.c
new file mode 100644
index 000000000..634f7660c
--- /dev/null
+++ b/roms/u-boot/arch/x86/cpu/x86_64/interrupts.c
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2016 Google, Inc
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#include <common.h>
+#include <irq_func.h>
+#include <asm/processor-flags.h>
+
+void enable_interrupts(void)
+{
+ asm("sti\n");
+}
+
+int disable_interrupts(void)
+{
+ long flags;
+
+ asm volatile ("pushfq ; popq %0 ; cli\n" : "=g" (flags) : );
+
+ return flags & X86_EFLAGS_IF;
+}
+
+int interrupt_init(void)
+{
+ /* Nothing to do - this was already done in SPL */
+ return 0;
+}