stos/amd64: Add kernel fence helper
Signed-off-by: Chloe M. <chloe@mensia.org>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2026, Chloe M.
|
||||
* Provided under the BSD-3 clause.
|
||||
*
|
||||
* Description: Kernel entry fence
|
||||
* Author: Chloe M.
|
||||
*/
|
||||
|
||||
#ifndef _MACHINE_KFENCE_H_
|
||||
#define _MACHINE_KFENCE_H_ 1
|
||||
|
||||
/*
|
||||
* Kernel fence for interrupt entries that do
|
||||
* not have an error code
|
||||
*/
|
||||
#define KFENCE \
|
||||
testq $0x3, 8(%rsp) ; \
|
||||
jz 1f ; \
|
||||
lfence ; \
|
||||
swapgs ; \
|
||||
1: nop
|
||||
|
||||
/*
|
||||
* Kernel fence for interrupt entries that
|
||||
* have an error code
|
||||
*/
|
||||
#define KFENCE_EC \
|
||||
testq $0x3, 16(%rsp) ; \
|
||||
jz 1f ; \
|
||||
lfence ; \
|
||||
swapgs ; \
|
||||
1: nop
|
||||
|
||||
#endif /* !_MACHINE_KFENCE_H_ */
|
||||
Reference in New Issue
Block a user