mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 13:22:23 +00:00
37 lines
836 B
C
37 lines
836 B
C
|
#ifndef _ASM_X86_MPX_H
|
||
|
#define _ASM_X86_MPX_H
|
||
|
|
||
|
#include <linux/types.h>
|
||
|
#include <asm/ptrace.h>
|
||
|
|
||
|
#ifdef CONFIG_X86_64
|
||
|
|
||
|
/* upper 28 bits [47:20] of the virtual address in 64-bit used to
|
||
|
* index into bounds directory (BD).
|
||
|
*/
|
||
|
#define MPX_BD_ENTRY_OFFSET 28
|
||
|
#define MPX_BD_ENTRY_SHIFT 3
|
||
|
/* bits [19:3] of the virtual address in 64-bit used to index into
|
||
|
* bounds table (BT).
|
||
|
*/
|
||
|
#define MPX_BT_ENTRY_OFFSET 17
|
||
|
#define MPX_BT_ENTRY_SHIFT 5
|
||
|
#define MPX_IGN_BITS 3
|
||
|
|
||
|
#else
|
||
|
|
||
|
#define MPX_BD_ENTRY_OFFSET 20
|
||
|
#define MPX_BD_ENTRY_SHIFT 2
|
||
|
#define MPX_BT_ENTRY_OFFSET 10
|
||
|
#define MPX_BT_ENTRY_SHIFT 4
|
||
|
#define MPX_IGN_BITS 2
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#define MPX_BD_SIZE_BYTES (1UL<<(MPX_BD_ENTRY_OFFSET+MPX_BD_ENTRY_SHIFT))
|
||
|
#define MPX_BT_SIZE_BYTES (1UL<<(MPX_BT_ENTRY_OFFSET+MPX_BT_ENTRY_SHIFT))
|
||
|
|
||
|
#define MPX_BNDSTA_ERROR_CODE 0x3
|
||
|
|
||
|
#endif /* _ASM_X86_MPX_H */
|