1 // license:BSD-3-Clause
2 // copyright-holders:Aaron Giles
3 /***************************************************************************
7 Generic virtual TLB implementation.
9 ***************************************************************************/
13 #ifndef __LIB_I386_VTLB_H__
14 #define __LIB_I386_VTLB_H__
16 /***************************************************************************
18 ***************************************************************************/
20 #define VTLB_FLAGS_MASK 0xff
22 #define VTLB_READ_ALLOWED 0x01 /* (1 << TRANSLATE_READ) */
23 #define VTLB_WRITE_ALLOWED 0x02 /* (1 << TRANSLATE_WRITE) */
24 #define VTLB_FETCH_ALLOWED 0x04 /* (1 << TRANSLATE_FETCH) */
25 #define VTLB_FLAG_VALID 0x08
26 #define VTLB_USER_READ_ALLOWED 0x10 /* (1 << TRANSLATE_READ_USER) */
27 #define VTLB_USER_WRITE_ALLOWED 0x20 /* (1 << TRANSLATE_WRITE_USER) */
28 #define VTLB_USER_FETCH_ALLOWED 0x40 /* (1 << TRANSLATE_FETCH_USER) */
29 #define VTLB_FLAG_FIXED 0x80
33 /***************************************************************************
35 ***************************************************************************/
37 /* represents an entry in the VTLB */
38 typedef UINT32 vtlb_entry;
40 /* opaque structure describing VTLB state */
43 #endif /* __VTLB_H__ */