36,6 → 36,8 |
#define KERN_amd64_TYPES_H_ |
|
#define NULL 0 |
#define false 0 |
#define true 1 |
|
typedef signed char int8_t; |
typedef signed short int16_t; |
47,17 → 49,43 |
typedef unsigned int uint32_t; |
typedef unsigned long long uint64_t; |
|
typedef uint64_t size_t; |
typedef uint64_t count_t; |
typedef uint64_t index_t; |
|
typedef uint64_t uintptr_t; |
typedef uint64_t pfn_t; |
|
/* Flags of processor (return value of interrupts_disable()) */ |
typedef uint64_t ipl_t; |
|
typedef uint64_t unative_t; |
typedef int64_t native_t; |
|
typedef struct page_specifier pte_t; |
typedef uint8_t bool; |
typedef uint64_t task_id_t; |
typedef uint32_t context_id_t; |
|
typedef int32_t inr_t; |
typedef int32_t devno_t; |
|
/** Page Table Entry. */ |
typedef struct { |
unsigned present : 1; |
unsigned writeable : 1; |
unsigned uaccessible : 1; |
unsigned page_write_through : 1; |
unsigned page_cache_disable : 1; |
unsigned accessed : 1; |
unsigned dirty : 1; |
unsigned unused: 1; |
unsigned global : 1; |
unsigned soft_valid : 1; /**< Valid content even if present bit is cleared. */ |
unsigned avl : 2; |
unsigned addr_12_31 : 30; |
unsigned addr_32_51 : 21; |
unsigned no_execute : 1; |
} __attribute__ ((packed)) pte_t; |
|
#endif |
|
/** @} |