Subversion Repositories HelenOS-historic

Rev

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

Rev 216 Rev 219
Line 137... Line 137...
137
 *
137
 *
138
 * @return Value read.
138
 * @return Value read.
139
 */
139
 */
140
static inline __u32 read_cr2(void) { __u64 v; __asm__ volatile ("movq %%cr2,%0" : "=r" (v)); return v; }
140
static inline __u32 read_cr2(void) { __u64 v; __asm__ volatile ("movq %%cr2,%0" : "=r" (v)); return v; }
141
 
141
 
-
 
142
/** Write CR3
-
 
143
 *
-
 
144
 * Write value to CR3.
-
 
145
 *
-
 
146
 * @param v Value to be written.
-
 
147
 */
-
 
148
static inline void write_cr3(__u64 v) { __asm__ volatile ("movq %0,%%cr3\n" : : "r" (v)); }
-
 
149
 
-
 
150
/** Read CR3
-
 
151
 *
-
 
152
 * Return value in CR3
-
 
153
 *
-
 
154
 * @return Value read.
-
 
155
 */
-
 
156
static inline __u32 read_cr3(void) { __u64 v; __asm__ volatile ("movq %%cr3,%0" : "=r" (v)); return v; }
-
 
157
 
-
 
158
/** Set priority level low
-
 
159
 *
-
 
160
 * Enable interrupts and return previous
-
 
161
 * value of EFLAGS.
-
 
162
 */
-
 
163
 
-
 
164
 
142
 
165
 
143
extern size_t interrupt_handler_size;
166
extern size_t interrupt_handler_size;
144
extern void interrupt_handlers(void);
167
extern void interrupt_handlers(void);
145
 
168
 
146
#endif
169
#endif