Subversion Repositories HelenOS

Rev

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
 */