1*93031595SSimon Glass /* 2*93031595SSimon Glass * (C) Copyright 2016 Google, Inc 3*93031595SSimon Glass * Written by Simon Glass <sjg@chromium.org> 4*93031595SSimon Glass * 5*93031595SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 6*93031595SSimon Glass */ 7*93031595SSimon Glass 8*93031595SSimon Glass #include <common.h> 9*93031595SSimon Glass #include <asm/processor-flags.h> 10*93031595SSimon Glass enable_interrupts(void)11*93031595SSimon Glassvoid enable_interrupts(void) 12*93031595SSimon Glass { 13*93031595SSimon Glass asm("sti\n"); 14*93031595SSimon Glass } 15*93031595SSimon Glass disable_interrupts(void)16*93031595SSimon Glassint disable_interrupts(void) 17*93031595SSimon Glass { 18*93031595SSimon Glass long flags; 19*93031595SSimon Glass 20*93031595SSimon Glass asm volatile ("pushfq ; popq %0 ; cli\n" : "=g" (flags) : ); 21*93031595SSimon Glass 22*93031595SSimon Glass return flags & X86_EFLAGS_IF; 23*93031595SSimon Glass } 24*93031595SSimon Glass interrupt_init(void)25*93031595SSimon Glassint interrupt_init(void) 26*93031595SSimon Glass { 27*93031595SSimon Glass /* Nothing to do - this was already done in SPL */ 28*93031595SSimon Glass return 0; 29*93031595SSimon Glass } 30