1#![expect(missing_docs)]
7#![forbid(unsafe_code)]
8
9pub mod debug_rpc;
10
11use inspect::Inspect;
12use mesh::payload::Protobuf;
13use std::sync::Arc;
14
15#[derive(Debug, Clone, Eq, PartialEq, Protobuf, Inspect)]
17#[inspect(tag = "halt_reason")]
18pub enum HaltReason {
19 PowerOff,
20 Reset,
21 Hibernate,
22 DebugBreak {
23 #[inspect(rename = "failing_vp")]
24 vp: Option<u32>,
25 },
26 TripleFault {
27 #[inspect(rename = "failing_vp")]
28 vp: u32,
29 #[inspect(skip)]
30 registers: Option<Arc<virt::vp::Registers>>,
32 },
33 SingleStep {
34 #[inspect(rename = "failing_vp")]
35 vp: u32,
36 },
37 HwBreakpoint {
38 #[inspect(rename = "failing_vp")]
39 vp: u32,
40 #[inspect(skip)]
41 breakpoint: virt::x86::HardwareBreakpoint,
42 },
43}