1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 293031595SSimon Glass /* 393031595SSimon Glass * (C) Copyright 2016 Google, Inc 493031595SSimon Glass * Written by Simon Glass <sjg@chromium.org> 593031595SSimon Glass */ 693031595SSimon Glass 793031595SSimon Glass #include <common.h> 893031595SSimon Glass #include <asm/processor-flags.h> 993031595SSimon Glass enable_interrupts(void)1093031595SSimon Glassvoid enable_interrupts(void) 1193031595SSimon Glass { 1293031595SSimon Glass asm("sti\n"); 1393031595SSimon Glass } 1493031595SSimon Glass disable_interrupts(void)1593031595SSimon Glassint disable_interrupts(void) 1693031595SSimon Glass { 1793031595SSimon Glass long flags; 1893031595SSimon Glass 1993031595SSimon Glass asm volatile ("pushfq ; popq %0 ; cli\n" : "=g" (flags) : ); 2093031595SSimon Glass 2193031595SSimon Glass return flags & X86_EFLAGS_IF; 2293031595SSimon Glass } 2393031595SSimon Glass interrupt_init(void)2493031595SSimon Glassint interrupt_init(void) 2593031595SSimon Glass { 2693031595SSimon Glass /* Nothing to do - this was already done in SPL */ 2793031595SSimon Glass return 0; 2893031595SSimon Glass } 29