Subversion Repositories HelenOS

Rev

Rev 2147 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2147 Rev 2149
Line 75... Line 75...
75
     */  
75
     */  
76
  unsigned dummy : 32;
76
  unsigned dummy : 32;
77
} pte_t;
77
} pte_t;
78
 
78
 
79
typedef struct {
79
typedef struct {
80
    unsigned destriptor_type     : 2;
80
    unsigned descriptor_type     : 2;
81
    unsigned machine_depend      : 3; // Alf: ???? v Architecture previev neni vyznam definovan
81
    unsigned machine_depend      : 3; // Alf: ???? v Architecture previev neni vyznam definovan
82
    unsigned domain              : 4;
82
    unsigned domain              : 4;
83
    unsigned should_be_zero      : 1:
83
    unsigned should_be_zero      : 1;
84
    unsigned coarse_table_addr   : 22;
84
    unsigned coarse_table_addr   : 22;
85
} __attribute__ ((packed)) pte_level0_t;
85
} __attribute__ ((packed)) pte_level0_t;
86
 
86
 
87
//TODO Alf: Comments
87
//TODO Alf: Comments
88
typedef struct {
88
typedef struct {
89
    unsigned destriptor_type     : 2;
89
    unsigned descriptor_type     : 2;
90
    unsigned bufferable          : 1;
90
    unsigned bufferable          : 1;
91
    unsigned cacheable           : 1;
91
    unsigned cacheable           : 1;
92
    unsigned access_permission_0 : 2;
92
    unsigned access_permission_0 : 2;
93
    unsigned access_permission_1 : 2;
93
    unsigned access_permission_1 : 2;
94
    unsigned access_permission_2 : 2;
94
    unsigned access_permission_2 : 2;
95
    unsigned access_permission_3 : 2;
95
    unsigned access_permission_3 : 2;
96
    unsigned frame_base_addr     : 20;
96
    unsigned frame_base_addr     : 20;
97
} __attribute__ ((packed)) pte__level1_t;
97
} __attribute__ ((packed)) pte_level1_t;
98
 
98
 
99
/// Page table level 1 access permission constants
99
/// Page table level 1 access permission constants
100
/// User no acess, kernel no access
100
/// User no acess, kernel no access
101
#define pte_ap_user_no_kernel_no 0
101
#define pte_ap_user_no_kernel_no 0
102
/// User no acess, kernel read/write
102
/// User no acess, kernel read/write