sgx.h (d6d261bded8a57aed4faa12d08a5b193418d3aa4) | sgx.h (992801ae92431761b3d8ec88abd5793d154d34ac) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _X86_SGX_H 3#define _X86_SGX_H 4 5#include <linux/bitops.h> 6#include <linux/err.h> 7#include <linux/io.h> 8#include <linux/rwsem.h> --- 17 unchanged lines hidden (view full) --- 26/* Pages, which are being tracked by the page reclaimer. */ 27#define SGX_EPC_PAGE_RECLAIMER_TRACKED BIT(0) 28 29/* Pages on free list */ 30#define SGX_EPC_PAGE_IS_FREE BIT(1) 31 32struct sgx_epc_page { 33 unsigned int section; | 1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _X86_SGX_H 3#define _X86_SGX_H 4 5#include <linux/bitops.h> 6#include <linux/err.h> 7#include <linux/io.h> 8#include <linux/rwsem.h> --- 17 unchanged lines hidden (view full) --- 26/* Pages, which are being tracked by the page reclaimer. */ 27#define SGX_EPC_PAGE_RECLAIMER_TRACKED BIT(0) 28 29/* Pages on free list */ 30#define SGX_EPC_PAGE_IS_FREE BIT(1) 31 32struct sgx_epc_page { 33 unsigned int section; |
34 unsigned int flags; | 34 u16 flags; 35 u16 poison; |
35 struct sgx_encl_page *owner; 36 struct list_head list; 37}; 38 39/* 40 * Contains the tracking data for NUMA nodes having EPC pages. Most importantly, 41 * the free page list local to the node is stored here. 42 */ 43struct sgx_numa_node { 44 struct list_head free_page_list; | 36 struct sgx_encl_page *owner; 37 struct list_head list; 38}; 39 40/* 41 * Contains the tracking data for NUMA nodes having EPC pages. Most importantly, 42 * the free page list local to the node is stored here. 43 */ 44struct sgx_numa_node { 45 struct list_head free_page_list; |
46 struct list_head sgx_poison_page_list; |
|
45 spinlock_t lock; 46}; 47 48/* 49 * The firmware can define multiple chunks of EPC to the different areas of the 50 * physical memory e.g. for memory areas of the each node. This structure is 51 * used to store EPC pages for one EPC section and virtual memory area where 52 * the pages have been mapped. --- 49 unchanged lines hidden --- | 47 spinlock_t lock; 48}; 49 50/* 51 * The firmware can define multiple chunks of EPC to the different areas of the 52 * physical memory e.g. for memory areas of the each node. This structure is 53 * used to store EPC pages for one EPC section and virtual memory area where 54 * the pages have been mapped. --- 49 unchanged lines hidden --- |