x86: Allow interrupts to be disabled in 64-bit mode
Update the code to support both 32-bit and 64-bit modes. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
@@ -238,8 +238,11 @@ int disable_interrupts(void)
|
|||||||
{
|
{
|
||||||
long flags;
|
long flags;
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
asm volatile ("pushfq ; popq %0 ; cli\n" : "=g" (flags) : );
|
||||||
|
#else
|
||||||
asm volatile ("pushfl ; popl %0 ; cli\n" : "=g" (flags) : );
|
asm volatile ("pushfl ; popl %0 ; cli\n" : "=g" (flags) : );
|
||||||
|
#endif
|
||||||
return flags & X86_EFLAGS_IF;
|
return flags & X86_EFLAGS_IF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user