Skip to content

Add DRAM CECC and fatal harvest delay config options - #189

Open
aasaitha0219 wants to merge 1 commit into
integ_sp8from
additional_ras_config
Open

Add DRAM CECC and fatal harvest delay config options#189
aasaitha0219 wants to merge 1 commit into
integ_sp8from
additional_ras_config

Conversation

@aasaitha0219

@aasaitha0219 aasaitha0219 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Description
Add configurable DRAM CECC OOB error counter mode and fatal harvest delay override to ras_config.json.

Changes

  1. DRAM CECC OOB Config

    • Added DramCeccOobEcMode config (0=disabled, 1=no-leak, 2=leaky bucket)
    • Added DramCeccLeakRate config (0x00-0x1F leak rate)
    • Replaces hardcoded dram_cecc_oob_ec_mode = 1 with configurable values
  2. Fatal Harvest Delay Override

    • Added setFatalHarvestDelay() to call override_delay_reset_on_sync_flood
    • Added FatalHarvestDelayEn / FatalHarvestDelayMins config keys
    • Called on init, reconfig, and watchdog BIOSFRB2 path
    • Gives BMC time (5-120 mins) to harvest MCA data before syncflood reset

Testing

References
#154
#179

@ojayanth ojayanth left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address the code alignment and formatting issues first. We can continue the functional review afterward.

Comment thread config/ras_config.json
Comment thread config/ras_config.json
Comment thread config/ras_config.json
@aasaitha0219 aasaitha0219 self-assigned this Aug 12, 2026
@aasaitha0219
aasaitha0219 force-pushed the additional_ras_config branch 3 times, most recently from 96883a0 to eeb82c8 Compare August 18, 2026 21:35
Add configurable DRAM CECC OOB error counter mode and fatal harvest
delay override to give BMC control over error counting behavior and
syncflood reset timing.

Reason:
- DRAM CECC error counter mode was hardcoded to 1 (no-leak mode),
  preventing use of leaky bucket mode preferred for production.
- Fatal harvest delay was not configurable, meaning BMC could not
  ensure sufficient time to collect MCA data before CPU reset.

Changes:
- Add DramCeccOobEcMode config (0=disabled, 1=no-leak, 2=leaky bucket)
  with default value 2 and MaxBoundLimit 2.
- Add DramCeccLeakRate config (0x00-0x1F) with default 20 and
  MaxBoundLimit 31. Only used when DramCeccOobEcMode=2.
- Add FatalHarvestDelayEn config (bool) with default true.
- Add FatalHarvestDelayMins config (5-120 mins) with default 5.
- Update getOobRegisters() and getRasOobConfig() to parse
  dram_cecc_leak_rate.
- Update setMcaOobConfig() to use config values instead of hardcoded.
- Update setMcaErrThreshold() for DRAM CECC threshold config values.
- Add setFatalHarvestDelay() calling
  override_delay_reset_on_sync_flood.
- Call setFatalHarvestDelay() in platformInitialize, watchdog handler,
  and runTimeErrorPolling wherever OOB configs are set/reapplied.

Impact:
- Users can configure DRAM CECC error counting via ras_config.json.
- Leaky bucket mode (default) provides better production tracking.
- Fatal harvest delay ensures time to collect MCA data after syncflood.
- Config is reapplied on warm reboot and BIOS post complete events.

Signed-off-by: Avenash Asai Thambi <aasaitha@amd.com>
@aasaitha0219
aasaitha0219 force-pushed the additional_ras_config branch from eeb82c8 to 1d5e6d0 Compare August 18, 2026 21:38
@aasaitha0219

Copy link
Copy Markdown
Collaborator Author

@ojayanth please review it again. Thanks

@aasaitha0219
aasaitha0219 requested a review from ojayanth August 18, 2026 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants