diff options
author | Evan Lojewski <github@meklort.com> | 2019-03-23 16:24:42 -0600 |
---|---|---|
committer | Evan Lojewski <github@meklort.com> | 2019-03-23 16:24:42 -0600 |
commit | 8905806adb192188cc97a6084e899dbb69091448 (patch) | |
tree | 8b1ff21ee4355e5c05e72daf7b1f3226207be808 /simulator | |
parent | 97f0d0f23389f19e09abafae2e2cc5131bfb1874 (diff) | |
download | bcm5719-ortega-8905806adb192188cc97a6084e899dbb69091448.tar.gz bcm5719-ortega-8905806adb192188cc97a6084e899dbb69091448.zip |
Split APE SHM out of the APE register area. Instantiate 4x in the APE, one per functino.
Diffstat (limited to 'simulator')
-rw-r--r-- | simulator/CMakeLists.txt | 4 | ||||
-rw-r--r-- | simulator/HAL.cpp | 9 | ||||
-rw-r--r-- | simulator/bcm5719_APE.cpp | 154 | ||||
-rw-r--r-- | simulator/bcm5719_APE_mmap.cpp | 385 | ||||
-rw-r--r-- | simulator/bcm5719_SHM.cpp | 207 | ||||
-rw-r--r-- | simulator/bcm5719_SHM_mmap.cpp | 470 |
6 files changed, 687 insertions, 542 deletions
diff --git a/simulator/CMakeLists.txt b/simulator/CMakeLists.txt index 47513b6..c6df00f 100644 --- a/simulator/CMakeLists.txt +++ b/simulator/CMakeLists.txt @@ -3,15 +3,17 @@ project(simulator) simulator_add_library(${PROJECT_NAME} STATIC HAL.cpp - bcm5719_DEVICE_mmap.cpp bcm5719_DEVICE.cpp bcm5719_GEN_mmap.cpp bcm5719_GEN.cpp bcm5719_NVM_mmap.cpp bcm5719_NVM.cpp + # APE Speciifc registers bcm5719_APE.cpp bcm5719_APE_mmap.cpp + bcm5719_SHM.cpp + bcm5719_SHM_mmap.cpp ) include_directories(../libs/NVRam) diff --git a/simulator/HAL.cpp b/simulator/HAL.cpp index 716650e..73f421a 100644 --- a/simulator/HAL.cpp +++ b/simulator/HAL.cpp @@ -3,6 +3,7 @@ #include <bcm5719_DEVICE.h> #include <bcm5719_APE.h> +#include <bcm5719_SHM.h> #include <bcm5719_GEN.h> #include <dirent.h> #include <endian.h> @@ -248,10 +249,14 @@ bool initHAL(const char *pci_path, int wanted_function) init_bcm5719_GEN(); init_bcm5719_GEN_mmap(&DEVICEBase[0x8000 + 0xB50]); // 0x8000 for windowed area - init_bcm5719_APE(); - init_bcm5719_APE_mmap(APEBase); init_bcm5719_NVM(); init_bcm5719_NVM_mmap(&DEVICEBase[0x7000]); + init_bcm5719_APE(); + init_bcm5719_APE_mmap(APEBase); + + init_bcm5719_SHM(); + init_bcm5719_SHM_mmap(&DAPEBase[0x4000]); + return true; } diff --git a/simulator/bcm5719_APE.cpp b/simulator/bcm5719_APE.cpp index f1533cb..5f7b0f0 100644 --- a/simulator/bcm5719_APE.cpp +++ b/simulator/bcm5719_APE.cpp @@ -83,160 +83,6 @@ void init_bcm5719_APE(void) /** @brief Bitmap for @ref APE_t.Cm3. */ - /** @brief Bitmap for @ref APE_t.SegSig. */ - - /** @brief Bitmap for @ref APE_t.FwStatus. */ - - /** @brief Bitmap for @ref APE_t.FwFeatures. */ - - /** @brief Bitmap for @ref APE_t.4014. */ - - /** @brief Bitmap for @ref APE_t.FwVersion. */ - - /** @brief Bitmap for @ref APE_t.SegMessageBufferOffset. */ - - /** @brief Bitmap for @ref APE_t.SegMessageBufferLength. */ - - /** @brief Bitmap for @ref APE_t.4024. */ - - /** @brief Bitmap for @ref APE_t.4028. */ - - /** @brief Bitmap for @ref APE_t.RcpuSegSig. */ - - /** @brief Bitmap for @ref APE_t.RcpuSegLength. */ - - /** @brief Bitmap for @ref APE_t.RcpuInitCount. */ - - /** @brief Bitmap for @ref APE_t.RcpuFwVersion. */ - - /** @brief Bitmap for @ref APE_t.RcpuCfgFeature. */ - - /** @brief Bitmap for @ref APE_t.RcpuPciVendorDeviceId. */ - - /** @brief Bitmap for @ref APE_t.RcpuPciSubsystemId. */ - - /** @brief Bitmap for @ref APE_t.RcpuApeResetCount. */ - - /** @brief Bitmap for @ref APE_t.RcpuLastApeStatus. */ - - /** @brief Bitmap for @ref APE_t.RcpuLastApeFwStatus. */ - - /** @brief Bitmap for @ref APE_t.RcpuCfgHw. */ - - /** @brief Bitmap for @ref APE_t.RcpuCfgHw2. */ - - /** @brief Bitmap for @ref APE_t.RcpuCpmuStatus. */ - - /** @brief Bitmap for @ref APE_t.HostSegSig. */ - - /** @brief Bitmap for @ref APE_t.HostSegLen. */ - - /** @brief Bitmap for @ref APE_t.HostInitCount. */ - - /** @brief Bitmap for @ref APE_t.HostDriverId. */ - - /** @brief Bitmap for @ref APE_t.HostBehavior. */ - - /** @brief Bitmap for @ref APE_t.HeartbeatInterval. */ - - /** @brief Bitmap for @ref APE_t.HeartbeatCount. */ - - /** @brief Bitmap for @ref APE_t.HostDriverState. */ - - /** @brief Bitmap for @ref APE_t.WolSpeed. */ - - /** @brief Bitmap for @ref APE_t.EventStatus. */ - - /** @brief Bitmap for @ref APE_t.ProtMagic. */ - - /** @brief Bitmap for @ref APE_t.ProtMac0High. */ - - /** @brief Bitmap for @ref APE_t.ProtMac0Low. */ - - /** @brief Bitmap for @ref APE_t.NcsiSig. */ - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime. */ - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime2. */ - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime3. */ - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate. */ - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate2. */ - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate3. */ - - /** @brief Bitmap for @ref APE_t.ChipId. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Info. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mcid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Aen. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Bfilt. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mfilt. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Setting1. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Setting2. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Vlan. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0AltHostMacHigh. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0AltHostMacMid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0AltHostMacLow. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0High. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0Mid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0Low. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1High. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1Mid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1Low. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac2High. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac2Mid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac2Low. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac3High. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac3Mid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac3Low. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0VlanValid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0Vlan. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1VlanValid. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1Vlan. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Status. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0ResetCount. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Pxe. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Dropfil. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Slink. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Dbg. */ - - /** @brief Bitmap for @ref APE_t.NcsiChannel0CtrlstatRx. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy0. */ /** @brief Bitmap for @ref APE_t.PerLockRequestGrc. */ diff --git a/simulator/bcm5719_APE_mmap.cpp b/simulator/bcm5719_APE_mmap.cpp index 60aad9e..6b035a5 100644 --- a/simulator/bcm5719_APE_mmap.cpp +++ b/simulator/bcm5719_APE_mmap.cpp @@ -166,391 +166,6 @@ void init_bcm5719_APE_mmap(void *base) APE.Cm3.r32.installReadCallback(read_from_ram, &APE_Cm3_r32); APE.Cm3.r32.installWriteCallback(write_to_ram, &APE_Cm3_r32); - /** @brief Bitmap for @ref APE_t.SegSig. */ - static ram_offset_t APE_SegSig_r32((uint8_t *)base, (uint32_t)16384); - APE.SegSig.r32.installReadCallback(read_from_ram, &APE_SegSig_r32); - APE.SegSig.r32.installWriteCallback(write_to_ram, &APE_SegSig_r32); - - /** @brief Bitmap for @ref APE_t.FwStatus. */ - static ram_offset_t APE_FwStatus_r32((uint8_t *)base, (uint32_t)16396); - APE.FwStatus.r32.installReadCallback(read_from_ram, &APE_FwStatus_r32); - APE.FwStatus.r32.installWriteCallback(write_to_ram, &APE_FwStatus_r32); - - /** @brief Bitmap for @ref APE_t.FwFeatures. */ - static ram_offset_t APE_FwFeatures_r32((uint8_t *)base, (uint32_t)16400); - APE.FwFeatures.r32.installReadCallback(read_from_ram, &APE_FwFeatures_r32); - APE.FwFeatures.r32.installWriteCallback(write_to_ram, &APE_FwFeatures_r32); - - /** @brief Bitmap for @ref APE_t.4014. */ - static ram_offset_t APE__4014_r32((uint8_t *)base, (uint32_t)16404); - APE._4014.r32.installReadCallback(read_from_ram, &APE__4014_r32); - APE._4014.r32.installWriteCallback(write_to_ram, &APE__4014_r32); - - /** @brief Bitmap for @ref APE_t.FwVersion. */ - static ram_offset_t APE_FwVersion_r32((uint8_t *)base, (uint32_t)16408); - APE.FwVersion.r32.installReadCallback(read_from_ram, &APE_FwVersion_r32); - APE.FwVersion.r32.installWriteCallback(write_to_ram, &APE_FwVersion_r32); - - /** @brief Bitmap for @ref APE_t.SegMessageBufferOffset. */ - static ram_offset_t APE_SegMessageBufferOffset_r32((uint8_t *)base, (uint32_t)16412); - APE.SegMessageBufferOffset.r32.installReadCallback(read_from_ram, &APE_SegMessageBufferOffset_r32); - APE.SegMessageBufferOffset.r32.installWriteCallback(write_to_ram, &APE_SegMessageBufferOffset_r32); - - /** @brief Bitmap for @ref APE_t.SegMessageBufferLength. */ - static ram_offset_t APE_SegMessageBufferLength_r32((uint8_t *)base, (uint32_t)16416); - APE.SegMessageBufferLength.r32.installReadCallback(read_from_ram, &APE_SegMessageBufferLength_r32); - APE.SegMessageBufferLength.r32.installWriteCallback(write_to_ram, &APE_SegMessageBufferLength_r32); - - /** @brief Bitmap for @ref APE_t.4024. */ - static ram_offset_t APE__4024_r32((uint8_t *)base, (uint32_t)16420); - APE._4024.r32.installReadCallback(read_from_ram, &APE__4024_r32); - APE._4024.r32.installWriteCallback(write_to_ram, &APE__4024_r32); - - /** @brief Bitmap for @ref APE_t.4028. */ - static ram_offset_t APE__4028_r32((uint8_t *)base, (uint32_t)16424); - APE._4028.r32.installReadCallback(read_from_ram, &APE__4028_r32); - APE._4028.r32.installWriteCallback(write_to_ram, &APE__4028_r32); - - /** @brief Bitmap for @ref APE_t.RcpuSegSig. */ - static ram_offset_t APE_RcpuSegSig_r32((uint8_t *)base, (uint32_t)16640); - APE.RcpuSegSig.r32.installReadCallback(read_from_ram, &APE_RcpuSegSig_r32); - APE.RcpuSegSig.r32.installWriteCallback(write_to_ram, &APE_RcpuSegSig_r32); - - /** @brief Bitmap for @ref APE_t.RcpuSegLength. */ - static ram_offset_t APE_RcpuSegLength_r32((uint8_t *)base, (uint32_t)16644); - APE.RcpuSegLength.r32.installReadCallback(read_from_ram, &APE_RcpuSegLength_r32); - APE.RcpuSegLength.r32.installWriteCallback(write_to_ram, &APE_RcpuSegLength_r32); - - /** @brief Bitmap for @ref APE_t.RcpuInitCount. */ - static ram_offset_t APE_RcpuInitCount_r32((uint8_t *)base, (uint32_t)16648); - APE.RcpuInitCount.r32.installReadCallback(read_from_ram, &APE_RcpuInitCount_r32); - APE.RcpuInitCount.r32.installWriteCallback(write_to_ram, &APE_RcpuInitCount_r32); - - /** @brief Bitmap for @ref APE_t.RcpuFwVersion. */ - static ram_offset_t APE_RcpuFwVersion_r32((uint8_t *)base, (uint32_t)16652); - APE.RcpuFwVersion.r32.installReadCallback(read_from_ram, &APE_RcpuFwVersion_r32); - APE.RcpuFwVersion.r32.installWriteCallback(write_to_ram, &APE_RcpuFwVersion_r32); - - /** @brief Bitmap for @ref APE_t.RcpuCfgFeature. */ - static ram_offset_t APE_RcpuCfgFeature_r32((uint8_t *)base, (uint32_t)16656); - APE.RcpuCfgFeature.r32.installReadCallback(read_from_ram, &APE_RcpuCfgFeature_r32); - APE.RcpuCfgFeature.r32.installWriteCallback(write_to_ram, &APE_RcpuCfgFeature_r32); - - /** @brief Bitmap for @ref APE_t.RcpuPciVendorDeviceId. */ - static ram_offset_t APE_RcpuPciVendorDeviceId_r32((uint8_t *)base, (uint32_t)16660); - APE.RcpuPciVendorDeviceId.r32.installReadCallback(read_from_ram, &APE_RcpuPciVendorDeviceId_r32); - APE.RcpuPciVendorDeviceId.r32.installWriteCallback(write_to_ram, &APE_RcpuPciVendorDeviceId_r32); - - /** @brief Bitmap for @ref APE_t.RcpuPciSubsystemId. */ - static ram_offset_t APE_RcpuPciSubsystemId_r32((uint8_t *)base, (uint32_t)16664); - APE.RcpuPciSubsystemId.r32.installReadCallback(read_from_ram, &APE_RcpuPciSubsystemId_r32); - APE.RcpuPciSubsystemId.r32.installWriteCallback(write_to_ram, &APE_RcpuPciSubsystemId_r32); - - /** @brief Bitmap for @ref APE_t.RcpuApeResetCount. */ - static ram_offset_t APE_RcpuApeResetCount_r32((uint8_t *)base, (uint32_t)16668); - APE.RcpuApeResetCount.r32.installReadCallback(read_from_ram, &APE_RcpuApeResetCount_r32); - APE.RcpuApeResetCount.r32.installWriteCallback(write_to_ram, &APE_RcpuApeResetCount_r32); - - /** @brief Bitmap for @ref APE_t.RcpuLastApeStatus. */ - static ram_offset_t APE_RcpuLastApeStatus_r32((uint8_t *)base, (uint32_t)16672); - APE.RcpuLastApeStatus.r32.installReadCallback(read_from_ram, &APE_RcpuLastApeStatus_r32); - APE.RcpuLastApeStatus.r32.installWriteCallback(write_to_ram, &APE_RcpuLastApeStatus_r32); - - /** @brief Bitmap for @ref APE_t.RcpuLastApeFwStatus. */ - static ram_offset_t APE_RcpuLastApeFwStatus_r32((uint8_t *)base, (uint32_t)16676); - APE.RcpuLastApeFwStatus.r32.installReadCallback(read_from_ram, &APE_RcpuLastApeFwStatus_r32); - APE.RcpuLastApeFwStatus.r32.installWriteCallback(write_to_ram, &APE_RcpuLastApeFwStatus_r32); - - /** @brief Bitmap for @ref APE_t.RcpuCfgHw. */ - static ram_offset_t APE_RcpuCfgHw_r32((uint8_t *)base, (uint32_t)16680); - APE.RcpuCfgHw.r32.installReadCallback(read_from_ram, &APE_RcpuCfgHw_r32); - APE.RcpuCfgHw.r32.installWriteCallback(write_to_ram, &APE_RcpuCfgHw_r32); - - /** @brief Bitmap for @ref APE_t.RcpuCfgHw2. */ - static ram_offset_t APE_RcpuCfgHw2_r32((uint8_t *)base, (uint32_t)16684); - APE.RcpuCfgHw2.r32.installReadCallback(read_from_ram, &APE_RcpuCfgHw2_r32); - APE.RcpuCfgHw2.r32.installWriteCallback(write_to_ram, &APE_RcpuCfgHw2_r32); - - /** @brief Bitmap for @ref APE_t.RcpuCpmuStatus. */ - static ram_offset_t APE_RcpuCpmuStatus_r32((uint8_t *)base, (uint32_t)16688); - APE.RcpuCpmuStatus.r32.installReadCallback(read_from_ram, &APE_RcpuCpmuStatus_r32); - APE.RcpuCpmuStatus.r32.installWriteCallback(write_to_ram, &APE_RcpuCpmuStatus_r32); - - /** @brief Bitmap for @ref APE_t.HostSegSig. */ - static ram_offset_t APE_HostSegSig_r32((uint8_t *)base, (uint32_t)16896); - APE.HostSegSig.r32.installReadCallback(read_from_ram, &APE_HostSegSig_r32); - APE.HostSegSig.r32.installWriteCallback(write_to_ram, &APE_HostSegSig_r32); - - /** @brief Bitmap for @ref APE_t.HostSegLen. */ - static ram_offset_t APE_HostSegLen_r32((uint8_t *)base, (uint32_t)16900); - APE.HostSegLen.r32.installReadCallback(read_from_ram, &APE_HostSegLen_r32); - APE.HostSegLen.r32.installWriteCallback(write_to_ram, &APE_HostSegLen_r32); - - /** @brief Bitmap for @ref APE_t.HostInitCount. */ - static ram_offset_t APE_HostInitCount_r32((uint8_t *)base, (uint32_t)16904); - APE.HostInitCount.r32.installReadCallback(read_from_ram, &APE_HostInitCount_r32); - APE.HostInitCount.r32.installWriteCallback(write_to_ram, &APE_HostInitCount_r32); - - /** @brief Bitmap for @ref APE_t.HostDriverId. */ - static ram_offset_t APE_HostDriverId_r32((uint8_t *)base, (uint32_t)16908); - APE.HostDriverId.r32.installReadCallback(read_from_ram, &APE_HostDriverId_r32); - APE.HostDriverId.r32.installWriteCallback(write_to_ram, &APE_HostDriverId_r32); - - /** @brief Bitmap for @ref APE_t.HostBehavior. */ - static ram_offset_t APE_HostBehavior_r32((uint8_t *)base, (uint32_t)16912); - APE.HostBehavior.r32.installReadCallback(read_from_ram, &APE_HostBehavior_r32); - APE.HostBehavior.r32.installWriteCallback(write_to_ram, &APE_HostBehavior_r32); - - /** @brief Bitmap for @ref APE_t.HeartbeatInterval. */ - static ram_offset_t APE_HeartbeatInterval_r32((uint8_t *)base, (uint32_t)16916); - APE.HeartbeatInterval.r32.installReadCallback(read_from_ram, &APE_HeartbeatInterval_r32); - APE.HeartbeatInterval.r32.installWriteCallback(write_to_ram, &APE_HeartbeatInterval_r32); - - /** @brief Bitmap for @ref APE_t.HeartbeatCount. */ - static ram_offset_t APE_HeartbeatCount_r32((uint8_t *)base, (uint32_t)16920); - APE.HeartbeatCount.r32.installReadCallback(read_from_ram, &APE_HeartbeatCount_r32); - APE.HeartbeatCount.r32.installWriteCallback(write_to_ram, &APE_HeartbeatCount_r32); - - /** @brief Bitmap for @ref APE_t.HostDriverState. */ - static ram_offset_t APE_HostDriverState_r32((uint8_t *)base, (uint32_t)16924); - APE.HostDriverState.r32.installReadCallback(read_from_ram, &APE_HostDriverState_r32); - APE.HostDriverState.r32.installWriteCallback(write_to_ram, &APE_HostDriverState_r32); - - /** @brief Bitmap for @ref APE_t.WolSpeed. */ - static ram_offset_t APE_WolSpeed_r32((uint8_t *)base, (uint32_t)16932); - APE.WolSpeed.r32.installReadCallback(read_from_ram, &APE_WolSpeed_r32); - APE.WolSpeed.r32.installWriteCallback(write_to_ram, &APE_WolSpeed_r32); - - /** @brief Bitmap for @ref APE_t.EventStatus. */ - static ram_offset_t APE_EventStatus_r32((uint8_t *)base, (uint32_t)17152); - APE.EventStatus.r32.installReadCallback(read_from_ram, &APE_EventStatus_r32); - APE.EventStatus.r32.installWriteCallback(write_to_ram, &APE_EventStatus_r32); - - /** @brief Bitmap for @ref APE_t.ProtMagic. */ - static ram_offset_t APE_ProtMagic_r32((uint8_t *)base, (uint32_t)17160); - APE.ProtMagic.r32.installReadCallback(read_from_ram, &APE_ProtMagic_r32); - APE.ProtMagic.r32.installWriteCallback(write_to_ram, &APE_ProtMagic_r32); - - /** @brief Bitmap for @ref APE_t.ProtMac0High. */ - static ram_offset_t APE_ProtMac0High_r32((uint8_t *)base, (uint32_t)17172); - APE.ProtMac0High.r32.installReadCallback(read_from_ram, &APE_ProtMac0High_r32); - APE.ProtMac0High.r32.installWriteCallback(write_to_ram, &APE_ProtMac0High_r32); - - /** @brief Bitmap for @ref APE_t.ProtMac0Low. */ - static ram_offset_t APE_ProtMac0Low_r32((uint8_t *)base, (uint32_t)17176); - APE.ProtMac0Low.r32.installReadCallback(read_from_ram, &APE_ProtMac0Low_r32); - APE.ProtMac0Low.r32.installWriteCallback(write_to_ram, &APE_ProtMac0Low_r32); - - /** @brief Bitmap for @ref APE_t.NcsiSig. */ - static ram_offset_t APE_NcsiSig_r32((uint8_t *)base, (uint32_t)18432); - APE.NcsiSig.r32.installReadCallback(read_from_ram, &APE_NcsiSig_r32); - APE.NcsiSig.r32.installWriteCallback(write_to_ram, &APE_NcsiSig_r32); - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime. */ - static ram_offset_t APE_NcsiBuildTime_r32((uint8_t *)base, (uint32_t)18448); - APE.NcsiBuildTime.r32.installReadCallback(read_from_ram, &APE_NcsiBuildTime_r32); - APE.NcsiBuildTime.r32.installWriteCallback(write_to_ram, &APE_NcsiBuildTime_r32); - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime2. */ - static ram_offset_t APE_NcsiBuildTime2_r32((uint8_t *)base, (uint32_t)18452); - APE.NcsiBuildTime2.r32.installReadCallback(read_from_ram, &APE_NcsiBuildTime2_r32); - APE.NcsiBuildTime2.r32.installWriteCallback(write_to_ram, &APE_NcsiBuildTime2_r32); - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime3. */ - static ram_offset_t APE_NcsiBuildTime3_r32((uint8_t *)base, (uint32_t)18456); - APE.NcsiBuildTime3.r32.installReadCallback(read_from_ram, &APE_NcsiBuildTime3_r32); - APE.NcsiBuildTime3.r32.installWriteCallback(write_to_ram, &APE_NcsiBuildTime3_r32); - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate. */ - static ram_offset_t APE_NcsiBuildDate_r32((uint8_t *)base, (uint32_t)18460); - APE.NcsiBuildDate.r32.installReadCallback(read_from_ram, &APE_NcsiBuildDate_r32); - APE.NcsiBuildDate.r32.installWriteCallback(write_to_ram, &APE_NcsiBuildDate_r32); - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate2. */ - static ram_offset_t APE_NcsiBuildDate2_r32((uint8_t *)base, (uint32_t)18464); - APE.NcsiBuildDate2.r32.installReadCallback(read_from_ram, &APE_NcsiBuildDate2_r32); - APE.NcsiBuildDate2.r32.installWriteCallback(write_to_ram, &APE_NcsiBuildDate2_r32); - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate3. */ - static ram_offset_t APE_NcsiBuildDate3_r32((uint8_t *)base, (uint32_t)18468); - APE.NcsiBuildDate3.r32.installReadCallback(read_from_ram, &APE_NcsiBuildDate3_r32); - APE.NcsiBuildDate3.r32.installWriteCallback(write_to_ram, &APE_NcsiBuildDate3_r32); - - /** @brief Bitmap for @ref APE_t.ChipId. */ - static ram_offset_t APE_ChipId_r32((uint8_t *)base, (uint32_t)18576); - APE.ChipId.r32.installReadCallback(read_from_ram, &APE_ChipId_r32); - APE.ChipId.r32.installWriteCallback(write_to_ram, &APE_ChipId_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Info. */ - static ram_offset_t APE_NcsiChannel0Info_r32((uint8_t *)base, (uint32_t)18688); - APE.NcsiChannel0Info.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Info_r32); - APE.NcsiChannel0Info.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Info_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mcid. */ - static ram_offset_t APE_NcsiChannel0Mcid_r32((uint8_t *)base, (uint32_t)18692); - APE.NcsiChannel0Mcid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mcid_r32); - APE.NcsiChannel0Mcid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mcid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Aen. */ - static ram_offset_t APE_NcsiChannel0Aen_r32((uint8_t *)base, (uint32_t)18696); - APE.NcsiChannel0Aen.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Aen_r32); - APE.NcsiChannel0Aen.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Aen_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Bfilt. */ - static ram_offset_t APE_NcsiChannel0Bfilt_r32((uint8_t *)base, (uint32_t)18700); - APE.NcsiChannel0Bfilt.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Bfilt_r32); - APE.NcsiChannel0Bfilt.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Bfilt_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mfilt. */ - static ram_offset_t APE_NcsiChannel0Mfilt_r32((uint8_t *)base, (uint32_t)18704); - APE.NcsiChannel0Mfilt.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mfilt_r32); - APE.NcsiChannel0Mfilt.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mfilt_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Setting1. */ - static ram_offset_t APE_NcsiChannel0Setting1_r32((uint8_t *)base, (uint32_t)18708); - APE.NcsiChannel0Setting1.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Setting1_r32); - APE.NcsiChannel0Setting1.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Setting1_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Setting2. */ - static ram_offset_t APE_NcsiChannel0Setting2_r32((uint8_t *)base, (uint32_t)18712); - APE.NcsiChannel0Setting2.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Setting2_r32); - APE.NcsiChannel0Setting2.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Setting2_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Vlan. */ - static ram_offset_t APE_NcsiChannel0Vlan_r32((uint8_t *)base, (uint32_t)18716); - APE.NcsiChannel0Vlan.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Vlan_r32); - APE.NcsiChannel0Vlan.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Vlan_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0AltHostMacHigh. */ - static ram_offset_t APE_NcsiChannel0AltHostMacHigh_r32((uint8_t *)base, (uint32_t)18724); - APE.NcsiChannel0AltHostMacHigh.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0AltHostMacHigh_r32); - APE.NcsiChannel0AltHostMacHigh.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0AltHostMacHigh_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0AltHostMacMid. */ - static ram_offset_t APE_NcsiChannel0AltHostMacMid_r32((uint8_t *)base, (uint32_t)18728); - APE.NcsiChannel0AltHostMacMid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0AltHostMacMid_r32); - APE.NcsiChannel0AltHostMacMid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0AltHostMacMid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0AltHostMacLow. */ - static ram_offset_t APE_NcsiChannel0AltHostMacLow_r32((uint8_t *)base, (uint32_t)18732); - APE.NcsiChannel0AltHostMacLow.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0AltHostMacLow_r32); - APE.NcsiChannel0AltHostMacLow.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0AltHostMacLow_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0High. */ - static ram_offset_t APE_NcsiChannel0Mac0High_r32((uint8_t *)base, (uint32_t)18740); - APE.NcsiChannel0Mac0High.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac0High_r32); - APE.NcsiChannel0Mac0High.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac0High_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0Mid. */ - static ram_offset_t APE_NcsiChannel0Mac0Mid_r32((uint8_t *)base, (uint32_t)18744); - APE.NcsiChannel0Mac0Mid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac0Mid_r32); - APE.NcsiChannel0Mac0Mid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac0Mid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0Low. */ - static ram_offset_t APE_NcsiChannel0Mac0Low_r32((uint8_t *)base, (uint32_t)18748); - APE.NcsiChannel0Mac0Low.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac0Low_r32); - APE.NcsiChannel0Mac0Low.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac0Low_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1High. */ - static ram_offset_t APE_NcsiChannel0Mac1High_r32((uint8_t *)base, (uint32_t)18756); - APE.NcsiChannel0Mac1High.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac1High_r32); - APE.NcsiChannel0Mac1High.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac1High_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1Mid. */ - static ram_offset_t APE_NcsiChannel0Mac1Mid_r32((uint8_t *)base, (uint32_t)18760); - APE.NcsiChannel0Mac1Mid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac1Mid_r32); - APE.NcsiChannel0Mac1Mid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac1Mid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1Low. */ - static ram_offset_t APE_NcsiChannel0Mac1Low_r32((uint8_t *)base, (uint32_t)18764); - APE.NcsiChannel0Mac1Low.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac1Low_r32); - APE.NcsiChannel0Mac1Low.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac1Low_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac2High. */ - static ram_offset_t APE_NcsiChannel0Mac2High_r32((uint8_t *)base, (uint32_t)18772); - APE.NcsiChannel0Mac2High.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac2High_r32); - APE.NcsiChannel0Mac2High.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac2High_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac2Mid. */ - static ram_offset_t APE_NcsiChannel0Mac2Mid_r32((uint8_t *)base, (uint32_t)18776); - APE.NcsiChannel0Mac2Mid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac2Mid_r32); - APE.NcsiChannel0Mac2Mid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac2Mid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac2Low. */ - static ram_offset_t APE_NcsiChannel0Mac2Low_r32((uint8_t *)base, (uint32_t)18780); - APE.NcsiChannel0Mac2Low.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac2Low_r32); - APE.NcsiChannel0Mac2Low.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac2Low_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac3High. */ - static ram_offset_t APE_NcsiChannel0Mac3High_r32((uint8_t *)base, (uint32_t)18788); - APE.NcsiChannel0Mac3High.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac3High_r32); - APE.NcsiChannel0Mac3High.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac3High_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac3Mid. */ - static ram_offset_t APE_NcsiChannel0Mac3Mid_r32((uint8_t *)base, (uint32_t)18792); - APE.NcsiChannel0Mac3Mid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac3Mid_r32); - APE.NcsiChannel0Mac3Mid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac3Mid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac3Low. */ - static ram_offset_t APE_NcsiChannel0Mac3Low_r32((uint8_t *)base, (uint32_t)18796); - APE.NcsiChannel0Mac3Low.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac3Low_r32); - APE.NcsiChannel0Mac3Low.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac3Low_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0VlanValid. */ - static ram_offset_t APE_NcsiChannel0Mac0VlanValid_r32((uint8_t *)base, (uint32_t)18800); - APE.NcsiChannel0Mac0VlanValid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac0VlanValid_r32); - APE.NcsiChannel0Mac0VlanValid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac0VlanValid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac0Vlan. */ - static ram_offset_t APE_NcsiChannel0Mac0Vlan_r32((uint8_t *)base, (uint32_t)18804); - APE.NcsiChannel0Mac0Vlan.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac0Vlan_r32); - APE.NcsiChannel0Mac0Vlan.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac0Vlan_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1VlanValid. */ - static ram_offset_t APE_NcsiChannel0Mac1VlanValid_r32((uint8_t *)base, (uint32_t)18808); - APE.NcsiChannel0Mac1VlanValid.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac1VlanValid_r32); - APE.NcsiChannel0Mac1VlanValid.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac1VlanValid_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Mac1Vlan. */ - static ram_offset_t APE_NcsiChannel0Mac1Vlan_r32((uint8_t *)base, (uint32_t)18812); - APE.NcsiChannel0Mac1Vlan.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Mac1Vlan_r32); - APE.NcsiChannel0Mac1Vlan.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Mac1Vlan_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Status. */ - static ram_offset_t APE_NcsiChannel0Status_r32((uint8_t *)base, (uint32_t)18816); - APE.NcsiChannel0Status.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Status_r32); - APE.NcsiChannel0Status.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Status_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0ResetCount. */ - static ram_offset_t APE_NcsiChannel0ResetCount_r32((uint8_t *)base, (uint32_t)18820); - APE.NcsiChannel0ResetCount.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0ResetCount_r32); - APE.NcsiChannel0ResetCount.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0ResetCount_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Pxe. */ - static ram_offset_t APE_NcsiChannel0Pxe_r32((uint8_t *)base, (uint32_t)18824); - APE.NcsiChannel0Pxe.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Pxe_r32); - APE.NcsiChannel0Pxe.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Pxe_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Dropfil. */ - static ram_offset_t APE_NcsiChannel0Dropfil_r32((uint8_t *)base, (uint32_t)18828); - APE.NcsiChannel0Dropfil.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Dropfil_r32); - APE.NcsiChannel0Dropfil.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Dropfil_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Slink. */ - static ram_offset_t APE_NcsiChannel0Slink_r32((uint8_t *)base, (uint32_t)18832); - APE.NcsiChannel0Slink.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Slink_r32); - APE.NcsiChannel0Slink.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Slink_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0Dbg. */ - static ram_offset_t APE_NcsiChannel0Dbg_r32((uint8_t *)base, (uint32_t)18848); - APE.NcsiChannel0Dbg.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0Dbg_r32); - APE.NcsiChannel0Dbg.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0Dbg_r32); - - /** @brief Bitmap for @ref APE_t.NcsiChannel0CtrlstatRx. */ - static ram_offset_t APE_NcsiChannel0CtrlstatRx_r32((uint8_t *)base, (uint32_t)18864); - APE.NcsiChannel0CtrlstatRx.r32.installReadCallback(read_from_ram, &APE_NcsiChannel0CtrlstatRx_r32); - APE.NcsiChannel0CtrlstatRx.r32.installWriteCallback(write_to_ram, &APE_NcsiChannel0CtrlstatRx_r32); - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy0. */ static ram_offset_t APE_PerLockRequestPhy0_r32((uint8_t *)base, (uint32_t)33792); APE.PerLockRequestPhy0.r32.installReadCallback(read_from_ram, &APE_PerLockRequestPhy0_r32); diff --git a/simulator/bcm5719_SHM.cpp b/simulator/bcm5719_SHM.cpp new file mode 100644 index 0000000..a369dfa --- /dev/null +++ b/simulator/bcm5719_SHM.cpp @@ -0,0 +1,207 @@ +//////////////////////////////////////////////////////////////////////////////// +/// +/// @file bcm5719_SHM.cpp +/// +/// @project bcm5719 +/// +/// @brief bcm5719_SHM +/// +//////////////////////////////////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////////////////////////////////// +/// +/// @copyright Copyright (c) 2018, Evan Lojewski +/// @cond +/// +/// All rights reserved. +/// +/// Redistribution and use in source and binary forms, with or without +/// modification, are permitted provided that the following conditions are met: +/// 1. Redistributions of source code must retain the above copyright notice, +/// this list of conditions and the following disclaimer. +/// 2. Redistributions in binary form must reproduce the above copyright notice, +/// this list of conditions and the following disclaimer in the documentation +/// and/or other materials provided with the distribution. +/// 3. Neither the name of the <organization> nor the +/// names of its contributors may be used to endorse or promote products +/// derived from this software without specific prior written permission. +/// +//////////////////////////////////////////////////////////////////////////////// +/// +/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +/// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +/// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +/// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +/// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +/// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +/// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +/// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +/// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +/// POSSIBILITY OF SUCH DAMAGE. +/// @endcond +//////////////////////////////////////////////////////////////////////////////// + +#include <bcm5719_SHM.h> + +SHM_t SHM; + +void init_bcm5719_SHM(void) +{ + /** @brief Component Registers for @ref SHM. */ + /** @brief Bitmap for @ref SHM_t.SegSig. */ + + /** @brief Bitmap for @ref SHM_t.FwStatus. */ + + /** @brief Bitmap for @ref SHM_t.FwFeatures. */ + + /** @brief Bitmap for @ref SHM_t.4014. */ + + /** @brief Bitmap for @ref SHM_t.FwVersion. */ + + /** @brief Bitmap for @ref SHM_t.SegMessageBufferOffset. */ + + /** @brief Bitmap for @ref SHM_t.SegMessageBufferLength. */ + + /** @brief Bitmap for @ref SHM_t.4024. */ + + /** @brief Bitmap for @ref SHM_t.4028. */ + + /** @brief Bitmap for @ref SHM_t.RcpuSegSig. */ + + /** @brief Bitmap for @ref SHM_t.RcpuSegLength. */ + + /** @brief Bitmap for @ref SHM_t.RcpuInitCount. */ + + /** @brief Bitmap for @ref SHM_t.RcpuFwVersion. */ + + /** @brief Bitmap for @ref SHM_t.RcpuCfgFeature. */ + + /** @brief Bitmap for @ref SHM_t.RcpuPciVendorDeviceId. */ + + /** @brief Bitmap for @ref SHM_t.RcpuPciSubsystemId. */ + + /** @brief Bitmap for @ref SHM_t.RcpuApeResetCount. */ + + /** @brief Bitmap for @ref SHM_t.RcpuLastApeStatus. */ + + /** @brief Bitmap for @ref SHM_t.RcpuLastApeFwStatus. */ + + /** @brief Bitmap for @ref SHM_t.RcpuCfgHw. */ + + /** @brief Bitmap for @ref SHM_t.RcpuCfgHw2. */ + + /** @brief Bitmap for @ref SHM_t.RcpuCpmuStatus. */ + + /** @brief Bitmap for @ref SHM_t.HostSegSig. */ + + /** @brief Bitmap for @ref SHM_t.HostSegLen. */ + + /** @brief Bitmap for @ref SHM_t.HostInitCount. */ + + /** @brief Bitmap for @ref SHM_t.HostDriverId. */ + + /** @brief Bitmap for @ref SHM_t.HostBehavior. */ + + /** @brief Bitmap for @ref SHM_t.HeartbeatInterval. */ + + /** @brief Bitmap for @ref SHM_t.HeartbeatCount. */ + + /** @brief Bitmap for @ref SHM_t.HostDriverState. */ + + /** @brief Bitmap for @ref SHM_t.WolSpeed. */ + + /** @brief Bitmap for @ref SHM_t.EventStatus. */ + + /** @brief Bitmap for @ref SHM_t.ProtMagic. */ + + /** @brief Bitmap for @ref SHM_t.ProtMac0High. */ + + /** @brief Bitmap for @ref SHM_t.ProtMac0Low. */ + + /** @brief Bitmap for @ref SHM_t.NcsiSig. */ + + /** @brief Bitmap for @ref SHM_t.NcsiBuildTime. */ + + /** @brief Bitmap for @ref SHM_t.NcsiBuildTime2. */ + + /** @brief Bitmap for @ref SHM_t.NcsiBuildTime3. */ + + /** @brief Bitmap for @ref SHM_t.NcsiBuildDate. */ + + /** @brief Bitmap for @ref SHM_t.NcsiBuildDate2. */ + + /** @brief Bitmap for @ref SHM_t.NcsiBuildDate3. */ + + /** @brief Bitmap for @ref SHM_t.ChipId. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Info. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mcid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Aen. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Bfilt. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mfilt. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Setting1. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Setting2. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Vlan. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0AltHostMacHigh. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0AltHostMacMid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0AltHostMacLow. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0High. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0Mid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0Low. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1High. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1Mid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1Low. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac2High. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac2Mid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac2Low. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac3High. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac3Mid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac3Low. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0VlanValid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0Vlan. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1VlanValid. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1Vlan. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Status. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0ResetCount. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Pxe. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Dropfil. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Slink. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Dbg. */ + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0CtrlstatRx. */ + + +} diff --git a/simulator/bcm5719_SHM_mmap.cpp b/simulator/bcm5719_SHM_mmap.cpp new file mode 100644 index 0000000..751e26b --- /dev/null +++ b/simulator/bcm5719_SHM_mmap.cpp @@ -0,0 +1,470 @@ +//////////////////////////////////////////////////////////////////////////////// +/// +/// @file bcm5719_SHM_mmap.cpp +/// +/// @project bcm5719 +/// +/// @brief bcm5719_SHM_mmap +/// +//////////////////////////////////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////////////////////////////////// +/// +/// @copyright Copyright (c) 2018, Evan Lojewski +/// @cond +/// +/// All rights reserved. +/// +/// Redistribution and use in source and binary forms, with or without +/// modification, are permitted provided that the following conditions are met: +/// 1. Redistributions of source code must retain the above copyright notice, +/// this list of conditions and the following disclaimer. +/// 2. Redistributions in binary form must reproduce the above copyright notice, +/// this list of conditions and the following disclaimer in the documentation +/// and/or other materials provided with the distribution. +/// 3. Neither the name of the <organization> nor the +/// names of its contributors may be used to endorse or promote products +/// derived from this software without specific prior written permission. +/// +//////////////////////////////////////////////////////////////////////////////// +/// +/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +/// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +/// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +/// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +/// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +/// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +/// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +/// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +/// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +/// POSSIBILITY OF SUCH DAMAGE. +/// @endcond +//////////////////////////////////////////////////////////////////////////////// + +#include <stdint.h> +#include <utility> +#include <bcm5719_SHM.h> + +#ifdef __ppc64__ +#define BARRIER() do { asm volatile ("sync 0\neieio\n" ::: "memory"); } while(0) +#else +#define BARRIER() do { asm volatile ("" ::: "memory"); } while(0) +#endif + +typedef std::pair<uint8_t *, uint32_t> ram_offset_t; + +static uint32_t read_from_ram(uint32_t val, void *args) +{ + ram_offset_t *loc = (ram_offset_t *)args; + + uint8_t *base = loc->first; + base += loc->second; + + BARRIER(); + return *(uint32_t *)base; +} + +static uint32_t write_to_ram(uint32_t val, void *args) +{ + ram_offset_t *loc = (ram_offset_t *)args; + + uint8_t *base = loc->first; + base += loc->second; + + BARRIER(); + *(uint32_t *)base = val; + BARRIER(); + return val; +} + +void init_bcm5719_SHM_mmap(void *base) +{ + /** @brief Component Registers for @ref SHM. */ + /** @brief Bitmap for @ref SHM_t.SegSig. */ + static ram_offset_t SHM_SegSig_r32((uint8_t *)base, (uint32_t)0); + SHM.SegSig.r32.installReadCallback(read_from_ram, &SHM_SegSig_r32); + SHM.SegSig.r32.installWriteCallback(write_to_ram, &SHM_SegSig_r32); + + /** @brief Bitmap for @ref SHM_t.FwStatus. */ + static ram_offset_t SHM_FwStatus_r32((uint8_t *)base, (uint32_t)12); + SHM.FwStatus.r32.installReadCallback(read_from_ram, &SHM_FwStatus_r32); + SHM.FwStatus.r32.installWriteCallback(write_to_ram, &SHM_FwStatus_r32); + + /** @brief Bitmap for @ref SHM_t.FwFeatures. */ + static ram_offset_t SHM_FwFeatures_r32((uint8_t *)base, (uint32_t)16); + SHM.FwFeatures.r32.installReadCallback(read_from_ram, &SHM_FwFeatures_r32); + SHM.FwFeatures.r32.installWriteCallback(write_to_ram, &SHM_FwFeatures_r32); + + /** @brief Bitmap for @ref SHM_t.4014. */ + static ram_offset_t SHM__4014_r32((uint8_t *)base, (uint32_t)20); + SHM._4014.r32.installReadCallback(read_from_ram, &SHM__4014_r32); + SHM._4014.r32.installWriteCallback(write_to_ram, &SHM__4014_r32); + + /** @brief Bitmap for @ref SHM_t.FwVersion. */ + static ram_offset_t SHM_FwVersion_r32((uint8_t *)base, (uint32_t)24); + SHM.FwVersion.r32.installReadCallback(read_from_ram, &SHM_FwVersion_r32); + SHM.FwVersion.r32.installWriteCallback(write_to_ram, &SHM_FwVersion_r32); + + /** @brief Bitmap for @ref SHM_t.SegMessageBufferOffset. */ + static ram_offset_t SHM_SegMessageBufferOffset_r32((uint8_t *)base, (uint32_t)28); + SHM.SegMessageBufferOffset.r32.installReadCallback(read_from_ram, &SHM_SegMessageBufferOffset_r32); + SHM.SegMessageBufferOffset.r32.installWriteCallback(write_to_ram, &SHM_SegMessageBufferOffset_r32); + + /** @brief Bitmap for @ref SHM_t.SegMessageBufferLength. */ + static ram_offset_t SHM_SegMessageBufferLength_r32((uint8_t *)base, (uint32_t)32); + SHM.SegMessageBufferLength.r32.installReadCallback(read_from_ram, &SHM_SegMessageBufferLength_r32); + SHM.SegMessageBufferLength.r32.installWriteCallback(write_to_ram, &SHM_SegMessageBufferLength_r32); + + /** @brief Bitmap for @ref SHM_t.4024. */ + static ram_offset_t SHM__4024_r32((uint8_t *)base, (uint32_t)36); + SHM._4024.r32.installReadCallback(read_from_ram, &SHM__4024_r32); + SHM._4024.r32.installWriteCallback(write_to_ram, &SHM__4024_r32); + + /** @brief Bitmap for @ref SHM_t.4028. */ + static ram_offset_t SHM__4028_r32((uint8_t *)base, (uint32_t)40); + SHM._4028.r32.installReadCallback(read_from_ram, &SHM__4028_r32); + SHM._4028.r32.installWriteCallback(write_to_ram, &SHM__4028_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuSegSig. */ + static ram_offset_t SHM_RcpuSegSig_r32((uint8_t *)base, (uint32_t)256); + SHM.RcpuSegSig.r32.installReadCallback(read_from_ram, &SHM_RcpuSegSig_r32); + SHM.RcpuSegSig.r32.installWriteCallback(write_to_ram, &SHM_RcpuSegSig_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuSegLength. */ + static ram_offset_t SHM_RcpuSegLength_r32((uint8_t *)base, (uint32_t)260); + SHM.RcpuSegLength.r32.installReadCallback(read_from_ram, &SHM_RcpuSegLength_r32); + SHM.RcpuSegLength.r32.installWriteCallback(write_to_ram, &SHM_RcpuSegLength_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuInitCount. */ + static ram_offset_t SHM_RcpuInitCount_r32((uint8_t *)base, (uint32_t)264); + SHM.RcpuInitCount.r32.installReadCallback(read_from_ram, &SHM_RcpuInitCount_r32); + SHM.RcpuInitCount.r32.installWriteCallback(write_to_ram, &SHM_RcpuInitCount_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuFwVersion. */ + static ram_offset_t SHM_RcpuFwVersion_r32((uint8_t *)base, (uint32_t)268); + SHM.RcpuFwVersion.r32.installReadCallback(read_from_ram, &SHM_RcpuFwVersion_r32); + SHM.RcpuFwVersion.r32.installWriteCallback(write_to_ram, &SHM_RcpuFwVersion_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuCfgFeature. */ + static ram_offset_t SHM_RcpuCfgFeature_r32((uint8_t *)base, (uint32_t)272); + SHM.RcpuCfgFeature.r32.installReadCallback(read_from_ram, &SHM_RcpuCfgFeature_r32); + SHM.RcpuCfgFeature.r32.installWriteCallback(write_to_ram, &SHM_RcpuCfgFeature_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuPciVendorDeviceId. */ + static ram_offset_t SHM_RcpuPciVendorDeviceId_r32((uint8_t *)base, (uint32_t)276); + SHM.RcpuPciVendorDeviceId.r32.installReadCallback(read_from_ram, &SHM_RcpuPciVendorDeviceId_r32); + SHM.RcpuPciVendorDeviceId.r32.installWriteCallback(write_to_ram, &SHM_RcpuPciVendorDeviceId_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuPciSubsystemId. */ + static ram_offset_t SHM_RcpuPciSubsystemId_r32((uint8_t *)base, (uint32_t)280); + SHM.RcpuPciSubsystemId.r32.installReadCallback(read_from_ram, &SHM_RcpuPciSubsystemId_r32); + SHM.RcpuPciSubsystemId.r32.installWriteCallback(write_to_ram, &SHM_RcpuPciSubsystemId_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuApeResetCount. */ + static ram_offset_t SHM_RcpuApeResetCount_r32((uint8_t *)base, (uint32_t)284); + SHM.RcpuApeResetCount.r32.installReadCallback(read_from_ram, &SHM_RcpuApeResetCount_r32); + SHM.RcpuApeResetCount.r32.installWriteCallback(write_to_ram, &SHM_RcpuApeResetCount_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuLastApeStatus. */ + static ram_offset_t SHM_RcpuLastApeStatus_r32((uint8_t *)base, (uint32_t)288); + SHM.RcpuLastApeStatus.r32.installReadCallback(read_from_ram, &SHM_RcpuLastApeStatus_r32); + SHM.RcpuLastApeStatus.r32.installWriteCallback(write_to_ram, &SHM_RcpuLastApeStatus_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuLastApeFwStatus. */ + static ram_offset_t SHM_RcpuLastApeFwStatus_r32((uint8_t *)base, (uint32_t)292); + SHM.RcpuLastApeFwStatus.r32.installReadCallback(read_from_ram, &SHM_RcpuLastApeFwStatus_r32); + SHM.RcpuLastApeFwStatus.r32.installWriteCallback(write_to_ram, &SHM_RcpuLastApeFwStatus_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuCfgHw. */ + static ram_offset_t SHM_RcpuCfgHw_r32((uint8_t *)base, (uint32_t)296); + SHM.RcpuCfgHw.r32.installReadCallback(read_from_ram, &SHM_RcpuCfgHw_r32); + SHM.RcpuCfgHw.r32.installWriteCallback(write_to_ram, &SHM_RcpuCfgHw_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuCfgHw2. */ + static ram_offset_t SHM_RcpuCfgHw2_r32((uint8_t *)base, (uint32_t)300); + SHM.RcpuCfgHw2.r32.installReadCallback(read_from_ram, &SHM_RcpuCfgHw2_r32); + SHM.RcpuCfgHw2.r32.installWriteCallback(write_to_ram, &SHM_RcpuCfgHw2_r32); + + /** @brief Bitmap for @ref SHM_t.RcpuCpmuStatus. */ + static ram_offset_t SHM_RcpuCpmuStatus_r32((uint8_t *)base, (uint32_t)304); + SHM.RcpuCpmuStatus.r32.installReadCallback(read_from_ram, &SHM_RcpuCpmuStatus_r32); + SHM.RcpuCpmuStatus.r32.installWriteCallback(write_to_ram, &SHM_RcpuCpmuStatus_r32); + + /** @brief Bitmap for @ref SHM_t.HostSegSig. */ + static ram_offset_t SHM_HostSegSig_r32((uint8_t *)base, (uint32_t)512); + SHM.HostSegSig.r32.installReadCallback(read_from_ram, &SHM_HostSegSig_r32); + SHM.HostSegSig.r32.installWriteCallback(write_to_ram, &SHM_HostSegSig_r32); + + /** @brief Bitmap for @ref SHM_t.HostSegLen. */ + static ram_offset_t SHM_HostSegLen_r32((uint8_t *)base, (uint32_t)516); + SHM.HostSegLen.r32.installReadCallback(read_from_ram, &SHM_HostSegLen_r32); + SHM.HostSegLen.r32.installWriteCallback(write_to_ram, &SHM_HostSegLen_r32); + + /** @brief Bitmap for @ref SHM_t.HostInitCount. */ + static ram_offset_t SHM_HostInitCount_r32((uint8_t *)base, (uint32_t)520); + SHM.HostInitCount.r32.installReadCallback(read_from_ram, &SHM_HostInitCount_r32); + SHM.HostInitCount.r32.installWriteCallback(write_to_ram, &SHM_HostInitCount_r32); + + /** @brief Bitmap for @ref SHM_t.HostDriverId. */ + static ram_offset_t SHM_HostDriverId_r32((uint8_t *)base, (uint32_t)524); + SHM.HostDriverId.r32.installReadCallback(read_from_ram, &SHM_HostDriverId_r32); + SHM.HostDriverId.r32.installWriteCallback(write_to_ram, &SHM_HostDriverId_r32); + + /** @brief Bitmap for @ref SHM_t.HostBehavior. */ + static ram_offset_t SHM_HostBehavior_r32((uint8_t *)base, (uint32_t)528); + SHM.HostBehavior.r32.installReadCallback(read_from_ram, &SHM_HostBehavior_r32); + SHM.HostBehavior.r32.installWriteCallback(write_to_ram, &SHM_HostBehavior_r32); + + /** @brief Bitmap for @ref SHM_t.HeartbeatInterval. */ + static ram_offset_t SHM_HeartbeatInterval_r32((uint8_t *)base, (uint32_t)532); + SHM.HeartbeatInterval.r32.installReadCallback(read_from_ram, &SHM_HeartbeatInterval_r32); + SHM.HeartbeatInterval.r32.installWriteCallback(write_to_ram, &SHM_HeartbeatInterval_r32); + + /** @brief Bitmap for @ref SHM_t.HeartbeatCount. */ + static ram_offset_t SHM_HeartbeatCount_r32((uint8_t *)base, (uint32_t)536); + SHM.HeartbeatCount.r32.installReadCallback(read_from_ram, &SHM_HeartbeatCount_r32); + SHM.HeartbeatCount.r32.installWriteCallback(write_to_ram, &SHM_HeartbeatCount_r32); + + /** @brief Bitmap for @ref SHM_t.HostDriverState. */ + static ram_offset_t SHM_HostDriverState_r32((uint8_t *)base, (uint32_t)540); + SHM.HostDriverState.r32.installReadCallback(read_from_ram, &SHM_HostDriverState_r32); + SHM.HostDriverState.r32.installWriteCallback(write_to_ram, &SHM_HostDriverState_r32); + + /** @brief Bitmap for @ref SHM_t.WolSpeed. */ + static ram_offset_t SHM_WolSpeed_r32((uint8_t *)base, (uint32_t)548); + SHM.WolSpeed.r32.installReadCallback(read_from_ram, &SHM_WolSpeed_r32); + SHM.WolSpeed.r32.installWriteCallback(write_to_ram, &SHM_WolSpeed_r32); + + /** @brief Bitmap for @ref SHM_t.EventStatus. */ + static ram_offset_t SHM_EventStatus_r32((uint8_t *)base, (uint32_t)768); + SHM.EventStatus.r32.installReadCallback(read_from_ram, &SHM_EventStatus_r32); + SHM.EventStatus.r32.installWriteCallback(write_to_ram, &SHM_EventStatus_r32); + + /** @brief Bitmap for @ref SHM_t.ProtMagic. */ + static ram_offset_t SHM_ProtMagic_r32((uint8_t *)base, (uint32_t)776); + SHM.ProtMagic.r32.installReadCallback(read_from_ram, &SHM_ProtMagic_r32); + SHM.ProtMagic.r32.installWriteCallback(write_to_ram, &SHM_ProtMagic_r32); + + /** @brief Bitmap for @ref SHM_t.ProtMac0High. */ + static ram_offset_t SHM_ProtMac0High_r32((uint8_t *)base, (uint32_t)788); + SHM.ProtMac0High.r32.installReadCallback(read_from_ram, &SHM_ProtMac0High_r32); + SHM.ProtMac0High.r32.installWriteCallback(write_to_ram, &SHM_ProtMac0High_r32); + + /** @brief Bitmap for @ref SHM_t.ProtMac0Low. */ + static ram_offset_t SHM_ProtMac0Low_r32((uint8_t *)base, (uint32_t)792); + SHM.ProtMac0Low.r32.installReadCallback(read_from_ram, &SHM_ProtMac0Low_r32); + SHM.ProtMac0Low.r32.installWriteCallback(write_to_ram, &SHM_ProtMac0Low_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiSig. */ + static ram_offset_t SHM_NcsiSig_r32((uint8_t *)base, (uint32_t)2048); + SHM.NcsiSig.r32.installReadCallback(read_from_ram, &SHM_NcsiSig_r32); + SHM.NcsiSig.r32.installWriteCallback(write_to_ram, &SHM_NcsiSig_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiBuildTime. */ + static ram_offset_t SHM_NcsiBuildTime_r32((uint8_t *)base, (uint32_t)2064); + SHM.NcsiBuildTime.r32.installReadCallback(read_from_ram, &SHM_NcsiBuildTime_r32); + SHM.NcsiBuildTime.r32.installWriteCallback(write_to_ram, &SHM_NcsiBuildTime_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiBuildTime2. */ + static ram_offset_t SHM_NcsiBuildTime2_r32((uint8_t *)base, (uint32_t)2068); + SHM.NcsiBuildTime2.r32.installReadCallback(read_from_ram, &SHM_NcsiBuildTime2_r32); + SHM.NcsiBuildTime2.r32.installWriteCallback(write_to_ram, &SHM_NcsiBuildTime2_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiBuildTime3. */ + static ram_offset_t SHM_NcsiBuildTime3_r32((uint8_t *)base, (uint32_t)2072); + SHM.NcsiBuildTime3.r32.installReadCallback(read_from_ram, &SHM_NcsiBuildTime3_r32); + SHM.NcsiBuildTime3.r32.installWriteCallback(write_to_ram, &SHM_NcsiBuildTime3_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiBuildDate. */ + static ram_offset_t SHM_NcsiBuildDate_r32((uint8_t *)base, (uint32_t)2076); + SHM.NcsiBuildDate.r32.installReadCallback(read_from_ram, &SHM_NcsiBuildDate_r32); + SHM.NcsiBuildDate.r32.installWriteCallback(write_to_ram, &SHM_NcsiBuildDate_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiBuildDate2. */ + static ram_offset_t SHM_NcsiBuildDate2_r32((uint8_t *)base, (uint32_t)2080); + SHM.NcsiBuildDate2.r32.installReadCallback(read_from_ram, &SHM_NcsiBuildDate2_r32); + SHM.NcsiBuildDate2.r32.installWriteCallback(write_to_ram, &SHM_NcsiBuildDate2_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiBuildDate3. */ + static ram_offset_t SHM_NcsiBuildDate3_r32((uint8_t *)base, (uint32_t)2084); + SHM.NcsiBuildDate3.r32.installReadCallback(read_from_ram, &SHM_NcsiBuildDate3_r32); + SHM.NcsiBuildDate3.r32.installWriteCallback(write_to_ram, &SHM_NcsiBuildDate3_r32); + + /** @brief Bitmap for @ref SHM_t.ChipId. */ + static ram_offset_t SHM_ChipId_r32((uint8_t *)base, (uint32_t)2192); + SHM.ChipId.r32.installReadCallback(read_from_ram, &SHM_ChipId_r32); + SHM.ChipId.r32.installWriteCallback(write_to_ram, &SHM_ChipId_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Info. */ + static ram_offset_t SHM_NcsiChannel0Info_r32((uint8_t *)base, (uint32_t)2304); + SHM.NcsiChannel0Info.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Info_r32); + SHM.NcsiChannel0Info.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Info_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mcid. */ + static ram_offset_t SHM_NcsiChannel0Mcid_r32((uint8_t *)base, (uint32_t)2308); + SHM.NcsiChannel0Mcid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mcid_r32); + SHM.NcsiChannel0Mcid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mcid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Aen. */ + static ram_offset_t SHM_NcsiChannel0Aen_r32((uint8_t *)base, (uint32_t)2312); + SHM.NcsiChannel0Aen.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Aen_r32); + SHM.NcsiChannel0Aen.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Aen_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Bfilt. */ + static ram_offset_t SHM_NcsiChannel0Bfilt_r32((uint8_t *)base, (uint32_t)2316); + SHM.NcsiChannel0Bfilt.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Bfilt_r32); + SHM.NcsiChannel0Bfilt.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Bfilt_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mfilt. */ + static ram_offset_t SHM_NcsiChannel0Mfilt_r32((uint8_t *)base, (uint32_t)2320); + SHM.NcsiChannel0Mfilt.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mfilt_r32); + SHM.NcsiChannel0Mfilt.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mfilt_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Setting1. */ + static ram_offset_t SHM_NcsiChannel0Setting1_r32((uint8_t *)base, (uint32_t)2324); + SHM.NcsiChannel0Setting1.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Setting1_r32); + SHM.NcsiChannel0Setting1.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Setting1_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Setting2. */ + static ram_offset_t SHM_NcsiChannel0Setting2_r32((uint8_t *)base, (uint32_t)2328); + SHM.NcsiChannel0Setting2.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Setting2_r32); + SHM.NcsiChannel0Setting2.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Setting2_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Vlan. */ + static ram_offset_t SHM_NcsiChannel0Vlan_r32((uint8_t *)base, (uint32_t)2332); + SHM.NcsiChannel0Vlan.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Vlan_r32); + SHM.NcsiChannel0Vlan.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Vlan_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0AltHostMacHigh. */ + static ram_offset_t SHM_NcsiChannel0AltHostMacHigh_r32((uint8_t *)base, (uint32_t)2340); + SHM.NcsiChannel0AltHostMacHigh.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0AltHostMacHigh_r32); + SHM.NcsiChannel0AltHostMacHigh.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0AltHostMacHigh_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0AltHostMacMid. */ + static ram_offset_t SHM_NcsiChannel0AltHostMacMid_r32((uint8_t *)base, (uint32_t)2344); + SHM.NcsiChannel0AltHostMacMid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0AltHostMacMid_r32); + SHM.NcsiChannel0AltHostMacMid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0AltHostMacMid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0AltHostMacLow. */ + static ram_offset_t SHM_NcsiChannel0AltHostMacLow_r32((uint8_t *)base, (uint32_t)2348); + SHM.NcsiChannel0AltHostMacLow.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0AltHostMacLow_r32); + SHM.NcsiChannel0AltHostMacLow.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0AltHostMacLow_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0High. */ + static ram_offset_t SHM_NcsiChannel0Mac0High_r32((uint8_t *)base, (uint32_t)2356); + SHM.NcsiChannel0Mac0High.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac0High_r32); + SHM.NcsiChannel0Mac0High.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac0High_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0Mid. */ + static ram_offset_t SHM_NcsiChannel0Mac0Mid_r32((uint8_t *)base, (uint32_t)2360); + SHM.NcsiChannel0Mac0Mid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac0Mid_r32); + SHM.NcsiChannel0Mac0Mid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac0Mid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0Low. */ + static ram_offset_t SHM_NcsiChannel0Mac0Low_r32((uint8_t *)base, (uint32_t)2364); + SHM.NcsiChannel0Mac0Low.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac0Low_r32); + SHM.NcsiChannel0Mac0Low.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac0Low_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1High. */ + static ram_offset_t SHM_NcsiChannel0Mac1High_r32((uint8_t *)base, (uint32_t)2372); + SHM.NcsiChannel0Mac1High.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac1High_r32); + SHM.NcsiChannel0Mac1High.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac1High_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1Mid. */ + static ram_offset_t SHM_NcsiChannel0Mac1Mid_r32((uint8_t *)base, (uint32_t)2376); + SHM.NcsiChannel0Mac1Mid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac1Mid_r32); + SHM.NcsiChannel0Mac1Mid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac1Mid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1Low. */ + static ram_offset_t SHM_NcsiChannel0Mac1Low_r32((uint8_t *)base, (uint32_t)2380); + SHM.NcsiChannel0Mac1Low.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac1Low_r32); + SHM.NcsiChannel0Mac1Low.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac1Low_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac2High. */ + static ram_offset_t SHM_NcsiChannel0Mac2High_r32((uint8_t *)base, (uint32_t)2388); + SHM.NcsiChannel0Mac2High.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac2High_r32); + SHM.NcsiChannel0Mac2High.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac2High_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac2Mid. */ + static ram_offset_t SHM_NcsiChannel0Mac2Mid_r32((uint8_t *)base, (uint32_t)2392); + SHM.NcsiChannel0Mac2Mid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac2Mid_r32); + SHM.NcsiChannel0Mac2Mid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac2Mid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac2Low. */ + static ram_offset_t SHM_NcsiChannel0Mac2Low_r32((uint8_t *)base, (uint32_t)2396); + SHM.NcsiChannel0Mac2Low.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac2Low_r32); + SHM.NcsiChannel0Mac2Low.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac2Low_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac3High. */ + static ram_offset_t SHM_NcsiChannel0Mac3High_r32((uint8_t *)base, (uint32_t)2404); + SHM.NcsiChannel0Mac3High.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac3High_r32); + SHM.NcsiChannel0Mac3High.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac3High_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac3Mid. */ + static ram_offset_t SHM_NcsiChannel0Mac3Mid_r32((uint8_t *)base, (uint32_t)2408); + SHM.NcsiChannel0Mac3Mid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac3Mid_r32); + SHM.NcsiChannel0Mac3Mid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac3Mid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac3Low. */ + static ram_offset_t SHM_NcsiChannel0Mac3Low_r32((uint8_t *)base, (uint32_t)2412); + SHM.NcsiChannel0Mac3Low.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac3Low_r32); + SHM.NcsiChannel0Mac3Low.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac3Low_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0VlanValid. */ + static ram_offset_t SHM_NcsiChannel0Mac0VlanValid_r32((uint8_t *)base, (uint32_t)2416); + SHM.NcsiChannel0Mac0VlanValid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac0VlanValid_r32); + SHM.NcsiChannel0Mac0VlanValid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac0VlanValid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac0Vlan. */ + static ram_offset_t SHM_NcsiChannel0Mac0Vlan_r32((uint8_t *)base, (uint32_t)2420); + SHM.NcsiChannel0Mac0Vlan.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac0Vlan_r32); + SHM.NcsiChannel0Mac0Vlan.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac0Vlan_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1VlanValid. */ + static ram_offset_t SHM_NcsiChannel0Mac1VlanValid_r32((uint8_t *)base, (uint32_t)2424); + SHM.NcsiChannel0Mac1VlanValid.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac1VlanValid_r32); + SHM.NcsiChannel0Mac1VlanValid.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac1VlanValid_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Mac1Vlan. */ + static ram_offset_t SHM_NcsiChannel0Mac1Vlan_r32((uint8_t *)base, (uint32_t)2428); + SHM.NcsiChannel0Mac1Vlan.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Mac1Vlan_r32); + SHM.NcsiChannel0Mac1Vlan.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Mac1Vlan_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Status. */ + static ram_offset_t SHM_NcsiChannel0Status_r32((uint8_t *)base, (uint32_t)2432); + SHM.NcsiChannel0Status.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Status_r32); + SHM.NcsiChannel0Status.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Status_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0ResetCount. */ + static ram_offset_t SHM_NcsiChannel0ResetCount_r32((uint8_t *)base, (uint32_t)2436); + SHM.NcsiChannel0ResetCount.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0ResetCount_r32); + SHM.NcsiChannel0ResetCount.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0ResetCount_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Pxe. */ + static ram_offset_t SHM_NcsiChannel0Pxe_r32((uint8_t *)base, (uint32_t)2440); + SHM.NcsiChannel0Pxe.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Pxe_r32); + SHM.NcsiChannel0Pxe.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Pxe_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Dropfil. */ + static ram_offset_t SHM_NcsiChannel0Dropfil_r32((uint8_t *)base, (uint32_t)2444); + SHM.NcsiChannel0Dropfil.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Dropfil_r32); + SHM.NcsiChannel0Dropfil.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Dropfil_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Slink. */ + static ram_offset_t SHM_NcsiChannel0Slink_r32((uint8_t *)base, (uint32_t)2448); + SHM.NcsiChannel0Slink.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Slink_r32); + SHM.NcsiChannel0Slink.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Slink_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0Dbg. */ + static ram_offset_t SHM_NcsiChannel0Dbg_r32((uint8_t *)base, (uint32_t)2464); + SHM.NcsiChannel0Dbg.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0Dbg_r32); + SHM.NcsiChannel0Dbg.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0Dbg_r32); + + /** @brief Bitmap for @ref SHM_t.NcsiChannel0CtrlstatRx. */ + static ram_offset_t SHM_NcsiChannel0CtrlstatRx_r32((uint8_t *)base, (uint32_t)2480); + SHM.NcsiChannel0CtrlstatRx.r32.installReadCallback(read_from_ram, &SHM_NcsiChannel0CtrlstatRx_r32); + SHM.NcsiChannel0CtrlstatRx.r32.installWriteCallback(write_to_ram, &SHM_NcsiChannel0CtrlstatRx_r32); + + +} |