|
The Pedigree Project 0.1
|
#include <VirtualAddressSpace-internal.h>
Collaboration diagram for X64MappingMutationScope:Classes | |
| struct | LockState |
Public Member Functions | |
| void | lock (Spinlock &lock) |
| void | unlock (Spinlock &lock) |
| void | relock (Spinlock &lock) |
| bool | invalidate (void *virtualAddress) |
| bool | failed () const |
| void | panicInvalidationFailure () NORETURN |
| void | panicWithoutRestoringInterrupts (const char *message) NORETURN |
Private Member Functions | |
| void | finish (bool restoreInterrupts) |
Private Attributes | |
| TlbInvalidationGuard | m_Invalidation |
| bool | m_RestoreInterrupts |
| LockState | m_Locks [2] |
| size_t | m_LockCount |
| TlbInvalidationResult | m_Result |
| bool | m_Coordinator |
| bool | m_Finished |
Keeps interrupts suppressed until every VAS lock and the mutation lease are retired. This ordering prevents terminal processor control from racing a stale PTE with either an IRQ callback or another mapper.
Definition at line 96 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 98 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 109 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 154 of file VirtualAddressSpace-internal.h.
|
inlineprivate |
Definition at line 182 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 144 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 113 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 158 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 171 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 132 of file VirtualAddressSpace-internal.h.
|
inline |
Definition at line 120 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 208 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 209 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 203 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 206 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 205 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 204 of file VirtualAddressSpace-internal.h.
|
private |
Definition at line 207 of file VirtualAddressSpace-internal.h.