Rev 2071 | Rev 2216 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2071 | Rev 2089 | ||
---|---|---|---|
Line 34... | Line 34... | ||
34 | 34 | ||
35 | #ifndef KERN_amd64_TYPES_H_ |
35 | #ifndef KERN_amd64_TYPES_H_ |
36 | #define KERN_amd64_TYPES_H_ |
36 | #define KERN_amd64_TYPES_H_ |
37 | 37 | ||
38 | #define NULL 0 |
38 | #define NULL 0 |
- | 39 | #define false 0 |
|
- | 40 | #define true 1 |
|
39 | 41 | ||
40 | typedef signed char int8_t; |
42 | typedef signed char int8_t; |
41 | typedef signed short int16_t; |
43 | typedef signed short int16_t; |
42 | typedef signed int int32_t; |
44 | typedef signed int int32_t; |
43 | typedef signed long long int64_t; |
45 | typedef signed long long int64_t; |
Line 45... | Line 47... | ||
45 | typedef unsigned char uint8_t; |
47 | typedef unsigned char uint8_t; |
46 | typedef unsigned short uint16_t; |
48 | typedef unsigned short uint16_t; |
47 | typedef unsigned int uint32_t; |
49 | typedef unsigned int uint32_t; |
48 | typedef unsigned long long uint64_t; |
50 | typedef unsigned long long uint64_t; |
49 | 51 | ||
- | 52 | typedef uint64_t size_t; |
|
- | 53 | typedef uint64_t count_t; |
|
- | 54 | typedef uint64_t index_t; |
|
- | 55 | ||
50 | typedef uint64_t uintptr_t; |
56 | typedef uint64_t uintptr_t; |
51 | typedef uint64_t pfn_t; |
57 | typedef uint64_t pfn_t; |
52 | 58 | ||
53 | /* Flags of processor (return value of interrupts_disable()) */ |
- | |
54 | typedef uint64_t ipl_t; |
59 | typedef uint64_t ipl_t; |
55 | 60 | ||
56 | typedef uint64_t unative_t; |
61 | typedef uint64_t unative_t; |
57 | typedef int64_t native_t; |
62 | typedef int64_t native_t; |
58 | 63 | ||
- | 64 | typedef uint8_t bool; |
|
- | 65 | typedef uint64_t task_id_t; |
|
59 | typedef struct page_specifier pte_t; |
66 | typedef uint32_t context_id_t; |
- | 67 | ||
- | 68 | typedef int32_t inr_t; |
|
- | 69 | typedef int32_t devno_t; |
|
- | 70 | ||
- | 71 | /** Page Table Entry. */ |
|
- | 72 | typedef struct { |
|
- | 73 | unsigned present : 1; |
|
- | 74 | unsigned writeable : 1; |
|
- | 75 | unsigned uaccessible : 1; |
|
- | 76 | unsigned page_write_through : 1; |
|
- | 77 | unsigned page_cache_disable : 1; |
|
- | 78 | unsigned accessed : 1; |
|
- | 79 | unsigned dirty : 1; |
|
- | 80 | unsigned unused: 1; |
|
- | 81 | unsigned global : 1; |
|
- | 82 | unsigned soft_valid : 1; /**< Valid content even if present bit is cleared. */ |
|
- | 83 | unsigned avl : 2; |
|
- | 84 | unsigned addr_12_31 : 30; |
|
- | 85 | unsigned addr_32_51 : 21; |
|
- | 86 | unsigned no_execute : 1; |
|
- | 87 | } __attribute__ ((packed)) pte_t; |
|
60 | 88 | ||
61 | #endif |
89 | #endif |
62 | 90 | ||
63 | /** @} |
91 | /** @} |
64 | */ |
92 | */ |