Rev 581 | Rev 625 | 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 |