summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/irqflags.S
blob: a9c36400bdf8fabfc3fa6a00604c59b551adcf7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* SPDX-License-Identifier: GPL-2.0 */

#include <asm/asm.h>
#include <asm/export.h>
#include <linux/linkage.h>

/*
 * unsigned long native_save_fl(void)
 */
SYM_FUNC_START(native_save_fl)
	pushf
	pop %_ASM_AX
	RET
SYM_FUNC_END(native_save_fl)
EXPORT_SYMBOL(native_save_fl)

/*
 * void native_restore_fl(unsigned long flags)
 * %eax/%rdi: flags
 */
SYM_FUNC_START(native_restore_fl)
	push %_ASM_ARG1
	popf
	RET
SYM_FUNC_END(native_restore_fl)
EXPORT_SYMBOL(native_restore_fl)