ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
run_guards_t Struct Reference

The run-guard knobs (env-tunable budgets + stop conditions). More...

#include <emu_run.h>

Data Fields

uint32_t click_settle_chunks
 Post-click drain window (chunks).
uint32_t max_chunks
 Outer-chunk budget.
double wall_s
 CPU-time guard bound, seconds.
bool wall_guard_on
 false: WALL_S=0 disabled the guard.
uint32_t idle_stop_chunks
 Idle steady-state stop (0 = off).
uint32_t usb_stop_settle
 USB device-mode early-stop settle.
uint32_t usbh_stop_settle
 USB host-mode early-stop settle.
const char * stop_on
 Console-banner stop substring (or NULL).
uint32_t prof_idle_insns
 Profiler idle chunk threshold.
uint32_t prof_idle_need
 Consecutive idle chunks that stop.
uint32_t prof_idle_arm
 Chunks before the profiler stop arms.

Detailed Description

The run-guard knobs (env-tunable budgets + stop conditions).

Read once before the run loop from the RA8_EMU_* environment (CLICK_SETTLE / WALL_S / MAX_CHUNKS / IDLE_STOP / USB_STOP / USBH_STOP / STOP_ON / STOP_PC / the profiler idle-stop tunables), preserving the documented semantics – notably WALL_S=0 truly DISABLES the CPU-time guard (the #168 footgun).

Invariant
Values are fixed for the whole run once read.
See also
run_read_guards() The reader.
Since
0.1.0

Definition at line 164 of file emu_run.h.

Field Documentation

◆ click_settle_chunks

uint32_t run_guards_t::click_settle_chunks

Post-click drain window (chunks).

Definition at line 165 of file emu_run.h.

Referenced by internal_run_loop_click_tail().

◆ idle_stop_chunks

uint32_t run_guards_t::idle_stop_chunks

Idle steady-state stop (0 = off).

Definition at line 169 of file emu_run.h.

Referenced by internal_run_stop_idle(), and priv_run_report().

◆ max_chunks

uint32_t run_guards_t::max_chunks

Outer-chunk budget.

Definition at line 166 of file emu_run.h.

Referenced by internal_run_loop(), and priv_run_report().

◆ prof_idle_arm

uint32_t run_guards_t::prof_idle_arm

Chunks before the profiler stop arms.

Definition at line 175 of file emu_run.h.

Referenced by internal_run_stop_prof_idle().

◆ prof_idle_insns

uint32_t run_guards_t::prof_idle_insns

Profiler idle chunk threshold.

Definition at line 173 of file emu_run.h.

Referenced by internal_run_stop_prof_idle().

◆ prof_idle_need

uint32_t run_guards_t::prof_idle_need

Consecutive idle chunks that stop.

Definition at line 174 of file emu_run.h.

Referenced by internal_run_stop_prof_idle().

◆ stop_on

const char* run_guards_t::stop_on

Console-banner stop substring (or NULL).

Definition at line 172 of file emu_run.h.

Referenced by internal_run_stop_banner().

◆ usb_stop_settle

uint32_t run_guards_t::usb_stop_settle

USB device-mode early-stop settle.

Definition at line 170 of file emu_run.h.

Referenced by internal_run_stop_usb().

◆ usbh_stop_settle

uint32_t run_guards_t::usbh_stop_settle

USB host-mode early-stop settle.

Definition at line 171 of file emu_run.h.

Referenced by internal_run_stop_usb().

◆ wall_guard_on

bool run_guards_t::wall_guard_on

false: WALL_S=0 disabled the guard.

Definition at line 168 of file emu_run.h.

Referenced by internal_run_loop_click_tail(), and internal_run_stop_wall().

◆ wall_s

double run_guards_t::wall_s

CPU-time guard bound, seconds.

Definition at line 167 of file emu_run.h.

Referenced by internal_run_loop_click_tail(), internal_run_stop_wall(), and priv_run_report().


The documentation for this struct was generated from the following file: