Go to the documentation of this file.
32 #ifndef __DEV_AMDGPU_AMDGPU_VM_HH__
33 #define __DEV_AMDGPU_AMDGPU_VM_HH__
54 #define mmVM_INVALIDATE_ENG17_ACK 0x08c6
55 #define mmVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LO32 0x08eb
56 #define mmVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32 0x08ec
57 #define mmVM_CONTEXT0_PAGE_TABLE_START_ADDR_LO32 0x090b
58 #define mmVM_CONTEXT0_PAGE_TABLE_START_ADDR_HI32 0x090c
59 #define mmVM_CONTEXT0_PAGE_TABLE_END_ADDR_LO32 0x092b
60 #define mmVM_CONTEXT0_PAGE_TABLE_END_ADDR_HI32 0x092c
62 #define mmMC_VM_FB_OFFSET 0x096b
63 #define mmMC_VM_FB_LOCATION_BASE 0x0980
64 #define mmMC_VM_FB_LOCATION_TOP 0x0981
65 #define mmMC_VM_AGP_TOP 0x0982
66 #define mmMC_VM_AGP_BOT 0x0983
67 #define mmMC_VM_AGP_BASE 0x0984
68 #define mmMC_VM_SYSTEM_APERTURE_LOW_ADDR 0x0985
69 #define mmMC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x0986
71 #define mmMMHUB_VM_INVALIDATE_ENG17_SEM 0x06e2
72 #define mmMMHUB_VM_INVALIDATE_ENG17_REQ 0x06f4
73 #define mmMMHUB_VM_INVALIDATE_ENG17_ACK 0x0706
74 #define mmMMHUB_VM_FB_LOCATION_BASE 0x082c
75 #define mmMMHUB_VM_FB_LOCATION_TOP 0x082d
240 warn_once(
"Accessing unsupported MMIO aperture! Assuming NBIO\n");
251 warn_once(
"Accessing unsupported frame apperture!\n");
256 warn_once(
"Accessing unsupported frame apperture!\n");
361 #endif // __DEV_AMDGPU_AMDGPU_VM_HH__
void readMMIO(PacketPtr pkt, Addr offset)
static constexpr uint32_t GFX_SIZE
void translate(Range &range) const override
Subclasses implement this function to complete TranslationGen.
static constexpr uint32_t SDMA1_BASE
static constexpr uint32_t GFX_BASE
static constexpr int AMDGPU_USER_PAGE_SIZE
static constexpr uint32_t NBIO_BASE
std::unordered_map< uint64_t, uint32_t > gartTable
Copy of GART table.
Addr getMmioAperture(Addr addr)
AMDGPUSysVMContext vmContext0
static constexpr int AMDGPU_MMHUB_PAGE_SIZE
Addr gartBase()
Return base address of GART table in framebuffer.
Addr getFrameAperture(Addr addr)
static constexpr uint32_t GRBM_SIZE
bool inAGP(Addr vaddr)
Methods for resolving apertures.
void setPageTableBase(uint16_t vmid, Addr ptBase)
Page table base/start accessors for user VMIDs.
gem5::AMDGPUVM::AMDGPUSysVMContext AMDGPUSysVMContext
UserTranslationGen(AMDGPUVM *_vm, VegaISA::Walker *_walker, int _vmid, Addr vaddr, Addr size)
This structure represents a single, contiguous translation, or carries information about whatever fau...
std::vector< AMDGPUVMContext > vmContexts
Basic support for object serialization.
void translate(Range &range) const override
Subclasses implement this function to complete TranslationGen.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
MMHUBTranslationGen(AMDGPUVM *_vm, Addr vaddr, Addr size)
std::vector< VegaISA::GpuTLB * > gpu_tlbs
List of TLBs associated with the GPU device.
void registerTLB(VegaISA::GpuTLB *tlb)
Control methods for TLBs associated with the GPU device.
static constexpr int AMDGPU_VM_COUNT
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Addr getPageTableStart(uint16_t vmid)
TranslationGen is a base class for a generator object which returns information about address transla...
Translation range generators.
void translate(Range &range) const override
Subclasses implement this function to complete TranslationGen.
static constexpr int AMDGPU_AGP_PAGE_SIZE
Addr getPageTableBase(uint16_t vmid)
static constexpr uint32_t IH_BASE
void writeMMIO(PacketPtr pkt, Addr offset)
Addr getSysAddrRangeHigh()
Addr gartSize()
Return size of GART in number of PTEs.
GARTTranslationGen(AMDGPUVM *_vm, Addr vaddr, Addr size)
static constexpr uint32_t MMHUB_BASE
struct gem5::AMDGPUVM::GEM5_PACKED AMDGPUVMContext
static constexpr uint32_t SDMA_SIZE
void translate(Range &range) const override
Subclasses implement this function to complete TranslationGen.
void serialize(CheckpointOut &cp) const override
Serialize an object.
Addr getSysAddrRangeLow()
std::ostream CheckpointOut
static constexpr uint32_t MMHUB_SIZE
AGPTranslationGen(AMDGPUVM *_vm, Addr vaddr, Addr size)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
static constexpr uint32_t GRBM_BASE
static constexpr uint32_t SDMA0_BASE
void unserialize(CheckpointIn &cp) override
Unserialize an object.
static constexpr uint32_t IH_SIZE
static constexpr int AMDGPU_GART_PAGE_SIZE
Generated on Thu Jun 16 2022 10:41:49 for gem5 by doxygen 1.8.17