Rev 2787 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2787 | Rev 4692 | ||
|---|---|---|---|
| Line 59... | Line 59... | ||
| 59 | /** TLB shootdown message. */ |
59 | /** TLB shootdown message. */ |
| 60 | typedef struct { |
60 | typedef struct { |
| 61 | tlb_invalidate_type_t type; /**< Message type. */ |
61 | tlb_invalidate_type_t type; /**< Message type. */ |
| 62 | asid_t asid; /**< Address space identifier. */ |
62 | asid_t asid; /**< Address space identifier. */ |
| 63 | uintptr_t page; /**< Page address. */ |
63 | uintptr_t page; /**< Page address. */ |
| 64 | count_t count; /**< Number of pages to invalidate. */ |
64 | size_t count; /**< Number of pages to invalidate. */ |
| 65 | } tlb_shootdown_msg_t; |
65 | } tlb_shootdown_msg_t; |
| 66 | 66 | ||
| 67 | extern void tlb_init(void); |
67 | extern void tlb_init(void); |
| 68 | 68 | ||
| 69 | #ifdef CONFIG_SMP |
69 | #ifdef CONFIG_SMP |
| 70 | extern void tlb_shootdown_start(tlb_invalidate_type_t type, asid_t asid, |
70 | extern void tlb_shootdown_start(tlb_invalidate_type_t type, asid_t asid, |
| 71 | uintptr_t page, count_t count); |
71 | uintptr_t page, size_t count); |
| 72 | extern void tlb_shootdown_finalize(void); |
72 | extern void tlb_shootdown_finalize(void); |
| 73 | extern void tlb_shootdown_ipi_recv(void); |
73 | extern void tlb_shootdown_ipi_recv(void); |
| 74 | #else |
74 | #else |
| 75 | #define tlb_shootdown_start(w, x, y, z) |
75 | #define tlb_shootdown_start(w, x, y, z) |
| 76 | #define tlb_shootdown_finalize() |
76 | #define tlb_shootdown_finalize() |
| Line 82... | Line 82... | ||
| 82 | extern void tlb_print(void); |
82 | extern void tlb_print(void); |
| 83 | extern void tlb_shootdown_ipi_send(void); |
83 | extern void tlb_shootdown_ipi_send(void); |
| 84 | 84 | ||
| 85 | extern void tlb_invalidate_all(void); |
85 | extern void tlb_invalidate_all(void); |
| 86 | extern void tlb_invalidate_asid(asid_t asid); |
86 | extern void tlb_invalidate_asid(asid_t asid); |
| 87 | extern void tlb_invalidate_pages(asid_t asid, uintptr_t page, count_t cnt); |
87 | extern void tlb_invalidate_pages(asid_t asid, uintptr_t page, size_t cnt); |
| 88 | #endif |
88 | #endif |
| 89 | 89 | ||
| 90 | /** @} |
90 | /** @} |
| 91 | */ |
91 | */ |