diff options
| author | bunnei <bunneidev@gmail.com> | 2016-01-30 19:03:33 -0500 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2016-01-30 19:03:33 -0500 |
| commit | cd0b31fd7334d574477a3c92bcbd392e8c3eb5e1 (patch) | |
| tree | 865c931cb344cc4addb0d50e6533ff5ce9c150d8 /src/core/hle/kernel/vm_manager.h | |
| parent | 3ab6d77c206c33e5036fcde1de0663c2f72777ea (diff) | |
| parent | 2b9331334884349dc38cb9a447018dca0e5b0d9d (diff) | |
Merge pull request #1377 from MerryMage/mmio
Memory: Implemented MMIO
Diffstat (limited to 'src/core/hle/kernel/vm_manager.h')
| -rw-r--r-- | src/core/hle/kernel/vm_manager.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/hle/kernel/vm_manager.h b/src/core/hle/kernel/vm_manager.h index 4e95f1f0c..91d40655b 100644 --- a/src/core/hle/kernel/vm_manager.h +++ b/src/core/hle/kernel/vm_manager.h @@ -11,6 +11,7 @@ #include "common/common_types.h" #include "core/hle/result.h" +#include "core/mmio.h" namespace Kernel { @@ -92,6 +93,7 @@ struct VirtualMemoryArea { // Settings for type = MMIO /// Physical address of the register area this VMA maps to. PAddr paddr = 0; + Memory::MMIORegionPointer mmio_handler = nullptr; /// Tests if this area can be merged to the right with `next`. bool CanBeMergedWith(const VirtualMemoryArea& next) const; @@ -168,8 +170,9 @@ public: * @param paddr The physical address where the registers are present. * @param size Size of the mapping. * @param state MemoryState tag to attach to the VMA. + * @param mmio_handler The handler that will implement read and write for this MMIO region. */ - ResultVal<VMAHandle> MapMMIO(VAddr target, PAddr paddr, u32 size, MemoryState state); + ResultVal<VMAHandle> MapMMIO(VAddr target, PAddr paddr, u32 size, MemoryState state, Memory::MMIORegionPointer mmio_handler); /// Unmaps a range of addresses, splitting VMAs as necessary. ResultCode UnmapRange(VAddr target, u32 size); |
