Rev 581 | Rev 803 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 581 | Rev 597 | ||
---|---|---|---|
Line 30... | Line 30... | ||
30 | #define __amd64_ASM_H__ |
30 | #define __amd64_ASM_H__ |
31 | 31 | ||
32 | #include <arch/types.h> |
32 | #include <arch/types.h> |
33 | #include <config.h> |
33 | #include <config.h> |
34 | 34 | ||
35 | - | ||
36 | void asm_delay_loop(__u32 t); |
35 | extern void asm_delay_loop(__u32 t); |
37 | void asm_fake_loop(__u32 t); |
36 | extern void asm_fake_loop(__u32 t); |
38 | 37 | ||
39 | /** Return base address of current stack. |
38 | /** Return base address of current stack. |
40 | * |
39 | * |
41 | * Return the base address of the current stack. |
40 | * Return the base address of the current stack. |
42 | * The stack is assumed to be STACK_SIZE bytes long. |
41 | * The stack is assumed to be STACK_SIZE bytes long. |
Line 226... | Line 225... | ||
226 | : "=r" (ip) |
225 | : "=r" (ip) |
227 | ); |
226 | ); |
228 | return ip; |
227 | return ip; |
229 | } |
228 | } |
230 | 229 | ||
- | 230 | /** Invalidate TLB Entry. |
|
- | 231 | * |
|
- | 232 | * @param addr Address on a page whose TLB entry is to be invalidated. |
|
- | 233 | */ |
|
- | 234 | static inline void invlpg(__address addr) |
|
- | 235 | { |
|
- | 236 | __asm__ volatile ("invlpg %0\n" :: "m" (addr)); |
|
- | 237 | } |
|
231 | 238 | ||
232 | extern size_t interrupt_handler_size; |
239 | extern size_t interrupt_handler_size; |
233 | extern void interrupt_handlers(void); |
240 | extern void interrupt_handlers(void); |
234 | 241 | ||
235 | #endif |
242 | #endif |