Definition at line 12 of file IntelIommu.h.
◆ IntelIommu()
| IntelIommu::IntelIommu |
( |
| ) |
|
|
private |
◆ allocateTable()
| bool IntelIommu::allocateTable |
( |
physical_uintptr_t & |
page | ) |
|
|
private |
◆ attach()
| bool IntelIommu::attach |
( |
Device * |
device, |
|
|
bool |
isolated = false |
|
) |
| |
◆ attached()
| bool IntelIommu::attached |
( |
const Device * |
device | ) |
const |
◆ command()
| bool IntelIommu::command |
( |
uint32_t |
bit, |
|
|
bool |
set |
|
) |
| |
|
private |
◆ detachIsolated()
| bool IntelIommu::detachIsolated |
( |
Device * |
device, |
|
|
bool |
requesterDisabled = false |
|
) |
| |
◆ findDomain() [1/2]
◆ findDomain() [2/2]
◆ flushLines()
| void IntelIommu::flushLines |
( |
const void * |
address, |
|
|
size_t |
bytes |
|
) |
| const |
|
private |
◆ freeDomain()
| void IntelIommu::freeDomain |
( |
Domain & |
domain | ) |
|
|
private |
◆ initialise()
| bool IntelIommu::initialise |
( |
| ) |
|
|
private |
◆ instance()
◆ invalidateContext()
| bool IntelIommu::invalidateContext |
( |
| ) |
|
|
private |
◆ invalidateIotlb()
| bool IntelIommu::invalidateIotlb |
( |
| ) |
|
|
private |
◆ isolated()
| bool IntelIommu::isolated |
( |
const Device * |
device | ) |
const |
◆ isolatedIdle()
| bool IntelIommu::isolatedIdle |
( |
Device * |
device | ) |
const |
◆ logFault()
| void IntelIommu::logFault |
( |
| ) |
|
|
private |
◆ makeDomain()
| bool IntelIommu::makeDomain |
( |
Domain & |
domain | ) |
|
|
private |
◆ mapPage()
| bool IntelIommu::mapPage |
( |
Device * |
device, |
|
|
physical_uintptr_t |
physical, |
|
|
uint32_t & |
dmaAddress, |
|
|
uint16_t & |
token |
|
) |
| |
◆ tokenEntry()
| uint64_t * IntelIommu::tokenEntry |
( |
const Domain & |
domain, |
|
|
size_t |
slot |
|
) |
| |
|
staticprivate |
◆ unmapPage()
| void IntelIommu::unmapPage |
( |
Device * |
device, |
|
|
uint16_t |
token |
|
) |
| |
◆ waitForStatus()
| bool IntelIommu::waitForStatus |
( |
uint32_t |
bit, |
|
|
bool |
set |
|
) |
| |
|
private |
◆ IsolatedTokenBase
| constexpr uint32_t IntelIommu::IsolatedTokenBase = 0x10000000U |
|
staticconstexprprivate |
◆ IsolatedTokenPages
| constexpr size_t IntelIommu::IsolatedTokenPages = 1024 |
|
staticconstexprprivate |
◆ m_Aw
| uint8_t IntelIommu::m_Aw = 0 |
|
private |
◆ m_BusContexts
| physical_uintptr_t IntelIommu::m_BusContexts[256] = {} |
|
private |
◆ m_CacheLine
| size_t IntelIommu::m_CacheLine = 64 |
|
private |
◆ m_Coherent
| bool IntelIommu::m_Coherent = false |
|
private |
◆ m_DefaultContext
| physical_uintptr_t IntelIommu::m_DefaultContext = 0 |
|
private |
◆ m_Domains
| Domain IntelIommu::m_Domains[MaxDomains] |
|
private |
◆ m_Enabled
| bool IntelIommu::m_Enabled = false |
|
private |
◆ m_Failed
| bool IntelIommu::m_Failed = false |
|
private |
◆ m_IotlbOffset
| size_t IntelIommu::m_IotlbOffset = 0 |
|
private |
◆ m_Lock
◆ m_MaxPhysical
| uint64_t IntelIommu::m_MaxPhysical = 0 |
|
private |
◆ m_PassThroughAw
| uint8_t IntelIommu::m_PassThroughAw = 0 |
|
private |
◆ m_Registers
◆ m_ReservedTokens
◆ m_Root
| physical_uintptr_t IntelIommu::m_Root = 0 |
|
private |
◆ MaxDomains
| constexpr size_t IntelIommu::MaxDomains = 8 |
|
staticconstexprprivate |
◆ TokenPages
| constexpr size_t IntelIommu::TokenPages = 32 |
|
staticconstexprprivate |
The documentation for this class was generated from the following files: