23#include <unicorn/unicorn.h>
116priv_run_inner(uc_engine* uc, uint32_t vtor_base, uint32_t* run_pc_io, uc_err* err_out);
Composite board-view renderer: panel framebuffer + a status sidebar.
board_overlay_btn_t
On-screen sidebar control a click landed on.
Minimal self-contained macOS window for the board emulator.
struct board_view board_view_t
Opaque desktop-window handle (defined in board_view.m).
The chunked emulation run loop, report and exit-code mapping.
void priv_run_report(const run_loop_t *st)
Print the run-end report (stop summary, verdict, –dump-sym probes).
void priv_run_write_outputs(const run_loop_t *st)
Write the –ppm snapshot and the –record summary line.
int priv_run_cleanup(const run_loop_t *st)
Save the SD image, close owned descriptors + engine, map the exit code.
bool priv_run_inner(uc_engine *uc, uint32_t vtor_base, uint32_t *run_pc_io, uc_err *err_out)
Run one outer chunk's inner exception-resolve loop.
void priv_run_hold_view(const run_loop_t *st)
Hold the live window on the final frame until the user closes it.
Annotation-attribute framework macros for ra8-firmware.
#define RA8_PRIV
Module-private helper: shared across TUs but only inside one library.
Caller-owned pointer-aligned storage for one platform view handle.
One independent owned surface plus non-owning bounded scratch.
Everything setup hands the run loop: engine, image, CLI products.
The run-guard knobs (env-tunable budgets + stop conditions).
The whole run's mutable state, threaded through the phase helpers.
bool timed_out
Wall-clock guard fired.
board_overlay_btn_t held_btn
SW held down (released on up).
clock_t t0
CPU-time origin for the guard.
board_view_storage_t view_storage
Caller-owned live-view handle storage.
emu_presentation_workspace_t * presentation
Owned raw-fd presentation surface.
double prof_prev_t
Start time of the prior chunk.
bool usb_stopped
USB / banner early stop fired.
uint16_t comp_h
Composite (panel + sidebar) height.
uint32_t usb_stop_run
USB device settle countup.
uint32_t last_boot_chunk
Chunk of the last (re)boot.
int reboot_count
–reboot warm reboots remaining.
board_overlay_btn_t click_btn
Classified –click target button.
uint16_t panel_w
Firmware render width in pixels.
bool closed
Live window was closed.
board_view_t * view
Live window (NULL when headless).
uint32_t prof_prev_pc
PC charged by the wall profiler.
run_guards_t guards
Env-tunable budgets + stop conditions.
uint32_t rec_frames
–record frames written.
bool slider_grab
Battery slider grabbed by a drag.
uint32_t settle_left
Post-click drain countdown.
uint32_t idle_run
Consecutive steady-idle chunks.
uint64_t prof_idle_prev_i
Prior total insns (profiler).
bool prof_stopped
Profiler stop fired.
const emu_run_cfg_t * cfg
Setup products (engine, image, CLI knobs).
uint16_t panel_h
Firmware render height in pixels.
uint64_t idle_sig_prev
Prior idle-signature sum.
uint32_t run_pc
Current resume PC.
uint16_t comp_w
Composite (panel + sidebar) width.
bool idle_stopped
Idle steady-state stop fired.
uint64_t last_present_us
wall-us of the last live present.
bool button_fired
Headless click button fired once.
bool stop_sym_hit
–stop-sym threshold reached.
uint32_t prof_idle_run
Consecutive profiler-idle chunks.
uc_err err
Latest uc_emu_start status.
uint32_t chunks
Outer chunks executed so far.
uint16_t disp_w
Displayed width (rotation-swapped).
bool click_was_tab
–click landed on a console tab.
uint16_t disp_h
Displayed height (rotation-swapped).
uint32_t usbh_stop_run
USB host settle countup.