2 changed files with 72 additions and 0 deletions
-
20src/core/hle/kernel/arch/arm64/k_memory_region_device_types.inc
-
52src/core/hle/kernel/board/nintendo/nx/k_memory_region_device_types.inc
@ -0,0 +1,20 @@ |
|||
// Copyright 2021 yuzu Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
// All architectures must define NumArchitectureDeviceRegions. |
|||
constexpr inline const auto NumArchitectureDeviceRegions = 3; |
|||
|
|||
constexpr inline const auto KMemoryRegionType_Uart = |
|||
KMemoryRegionType_ArchDeviceBase.DeriveSparse(0, NumArchitectureDeviceRegions, 0); |
|||
constexpr inline const auto KMemoryRegionType_InterruptCpuInterface = |
|||
KMemoryRegionType_ArchDeviceBase.DeriveSparse(0, NumArchitectureDeviceRegions, 1) |
|||
.SetAttribute(KMemoryRegionAttr_NoUserMap); |
|||
constexpr inline const auto KMemoryRegionType_InterruptDistributor = |
|||
KMemoryRegionType_ArchDeviceBase.DeriveSparse(0, NumArchitectureDeviceRegions, 2) |
|||
.SetAttribute(KMemoryRegionAttr_NoUserMap); |
|||
static_assert(KMemoryRegionType_Uart.GetValue() == (0x1D)); |
|||
static_assert(KMemoryRegionType_InterruptCpuInterface.GetValue() == |
|||
(0x2D | KMemoryRegionAttr_NoUserMap)); |
|||
static_assert(KMemoryRegionType_InterruptDistributor.GetValue() == |
|||
(0x4D | KMemoryRegionAttr_NoUserMap)); |
|||
@ -0,0 +1,52 @@ |
|||
// Copyright 2021 yuzu Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
// All architectures must define NumBoardDeviceRegions. |
|||
constexpr inline const auto NumBoardDeviceRegions = 6; |
|||
// UNUSED: .Derive(NumBoardDeviceRegions, 0); |
|||
constexpr inline const auto KMemoryRegionType_MemoryController = |
|||
KMemoryRegionType_BoardDeviceBase.Derive(NumBoardDeviceRegions, 1) |
|||
.SetAttribute(KMemoryRegionAttr_NoUserMap); |
|||
constexpr inline const auto KMemoryRegionType_MemoryController1 = |
|||
KMemoryRegionType_BoardDeviceBase.Derive(NumBoardDeviceRegions, 2) |
|||
.SetAttribute(KMemoryRegionAttr_NoUserMap); |
|||
constexpr inline const auto KMemoryRegionType_MemoryController0 = |
|||
KMemoryRegionType_BoardDeviceBase.Derive(NumBoardDeviceRegions, 3) |
|||
.SetAttribute(KMemoryRegionAttr_NoUserMap); |
|||
constexpr inline const auto KMemoryRegionType_PowerManagementController = |
|||
KMemoryRegionType_BoardDeviceBase.Derive(NumBoardDeviceRegions, 4).DeriveTransition(); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsDevices = |
|||
KMemoryRegionType_BoardDeviceBase.Derive(NumBoardDeviceRegions, 5); |
|||
static_assert(KMemoryRegionType_MemoryController.GetValue() == |
|||
(0x55 | KMemoryRegionAttr_NoUserMap)); |
|||
static_assert(KMemoryRegionType_MemoryController1.GetValue() == |
|||
(0x65 | KMemoryRegionAttr_NoUserMap)); |
|||
static_assert(KMemoryRegionType_MemoryController0.GetValue() == |
|||
(0x95 | KMemoryRegionAttr_NoUserMap)); |
|||
static_assert(KMemoryRegionType_PowerManagementController.GetValue() == (0x1A5)); |
|||
|
|||
static_assert(KMemoryRegionType_LegacyLpsDevices.GetValue() == 0xC5); |
|||
|
|||
constexpr inline const auto NumLegacyLpsDevices = 7; |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsExceptionVectors = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 0); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsIram = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 1); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsFlowController = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 2); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsPrimaryICtlr = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 3); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsSemaphore = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 4); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsAtomics = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 5); |
|||
constexpr inline const auto KMemoryRegionType_LegacyLpsClkRst = |
|||
KMemoryRegionType_LegacyLpsDevices.Derive(NumLegacyLpsDevices, 6); |
|||
static_assert(KMemoryRegionType_LegacyLpsExceptionVectors.GetValue() == 0x3C5); |
|||
static_assert(KMemoryRegionType_LegacyLpsIram.GetValue() == 0x5C5); |
|||
static_assert(KMemoryRegionType_LegacyLpsFlowController.GetValue() == 0x6C5); |
|||
static_assert(KMemoryRegionType_LegacyLpsPrimaryICtlr.GetValue() == 0x9C5); |
|||
static_assert(KMemoryRegionType_LegacyLpsSemaphore.GetValue() == 0xAC5); |
|||
static_assert(KMemoryRegionType_LegacyLpsAtomics.GetValue() == 0xCC5); |
|||
static_assert(KMemoryRegionType_LegacyLpsClkRst.GetValue() == 0x11C5); |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue