Subversion Repositories HelenOS

Rev

Rev 3022 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3022 Rev 4537
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
 */