Rev 1702 | Show entire file | Regard 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 |