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