Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read SP task crash dumps over the network #1921

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
8 changes: 5 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ zip = { version = "0.6", default-features = false, features = ["bzip2", "deflate
# Oxide forks and repos
attest-data = { git = "https://github.com/oxidecomputer/dice-util", default-features = false, version = "0.4.0" }
dice-mfg-msgs = { git = "https://github.com/oxidecomputer/dice-util", default-features = false, version = "0.2.1" }
gateway-messages = { git = "https://github.com/oxidecomputer/management-gateway-service", default-features = false, features = ["smoltcp"] }
gateway-messages = { git = "https://github.com/oxidecomputer/management-gateway-service", default-features = false, features = ["smoltcp"], branch = "mkeeter/sp-task-dump" }
gimlet-inspector-protocol = { git = "https://github.com/oxidecomputer/gimlet-inspector-protocol", version = "0.1.0" }
hif = { git = "https://github.com/oxidecomputer/hif", default-features = false }
humpty = { git = "https://github.com/oxidecomputer/humpty", default-features = false, version = "0.1.3" }
Expand Down
7 changes: 4 additions & 3 deletions app/gimlet/base.toml
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ name = "task-host-sp-comms"
features = ["stm32h753", "uart7", "baud_rate_3M", "hardware_flow_control", "vlan", "gimlet"]
uses = ["uart7", "dbgmcu"]
interrupts = {"uart7.irq" = "usart-irq"}
priority = 7
priority = 8
max-sizes = {flash = 65536, ram = 65536}
stacksize = 5080
start = true
Expand Down Expand Up @@ -259,14 +259,15 @@ notifications = ["socket"]

[tasks.control_plane_agent]
name = "task-control-plane-agent"
priority = 6
priority = 7
max-sizes = {flash = 131072, ram = 32768}
# This can probably overkill and can be tuned later
stacksize = 6000
start = true
uses = ["usart1"]
task-slots = [
"jefe",
"dump_agent",
"net",
"update_server",
"sys",
Expand Down Expand Up @@ -348,7 +349,7 @@ stacksize = 800

[tasks.idle]
name = "task-idle"
priority = 8
priority = 9
mkeeter marked this conversation as resolved.
Show resolved Hide resolved
max-sizes = {flash = 128, ram = 256}
stacksize = 256
start = true
Expand Down
1 change: 1 addition & 0 deletions app/gimletlet/app.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ uses = ["usart1"]
task-slots = [
"jefe",
"net",
"dump_agent",
"update_server",
"sys",
"hf",
Expand Down
5 changes: 3 additions & 2 deletions app/grapefruit/app.toml
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ name = "task-host-sp-comms"
features = ["stm32h753", "usart6", "baud_rate_3M", "hardware_flow_control", "vlan", "grapefruit"]
uses = ["usart6", "dbgmcu"]
interrupts = {"usart6.irq" = "usart-irq"}
priority = 7
priority = 8
max-sizes = {flash = 65536, ram = 65536}
stacksize = 5080
start = true
Expand All @@ -220,14 +220,15 @@ notifications = ["jefe-state-change", "usart-irq", "multitimer", "control-plane-

[tasks.control_plane_agent]
name = "task-control-plane-agent"
priority = 6
priority = 7
max-sizes = {flash = 131072, ram = 32768}
# This can probably overkill and can be tuned later
stacksize = 6000
start = true
uses = ["usart1"]
task-slots = [
"auxflash",
"dump_agent",
"jefe",
"net",
"update_server",
Expand Down
2 changes: 1 addition & 1 deletion app/lpc55xpresso/app.toml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ task-slots = ["user_leds"]
name = "task-dump-agent"
features = ["no-rot"]
priority = 5
max-sizes = {flash = 32768, ram = 2240 }
max-sizes = {flash = 32768, ram = 2272 }
start = true
task-slots = ["jefe"]
stacksize = 1536
Expand Down
5 changes: 3 additions & 2 deletions app/psc/base.toml
Original file line number Diff line number Diff line change
Expand Up @@ -195,14 +195,15 @@ notifications = ["spi-irq"]

[tasks.control_plane_agent]
name = "task-control-plane-agent"
priority = 5
priority = 6
max-sizes = {flash = 131072, ram = 32768}
# This is probably a bit overkill and can be tuned later
stacksize = 6000
start = true
uses = []
task-slots = [
"jefe",
"dump_agent",
"net",
"update_server",
"sys",
Expand Down Expand Up @@ -311,7 +312,7 @@ features = ["net", "vlan"]

[tasks.idle]
name = "task-idle"
priority = 6
priority = 7
max-sizes = {flash = 128, ram = 256}
stacksize = 256
start = true
Expand Down
1 change: 1 addition & 0 deletions app/sidecar/base.toml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ start = true
uses = []
task-slots = [
"auxflash",
"dump_agent",
"ignition",
"jefe",
"monorail",
Expand Down
14 changes: 14 additions & 0 deletions idl/dump-agent.idol
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,20 @@ Interface(
err: CLike("DumpAgentError"),
),
),
"read_dump_into": (
doc: "Fetch bytes from the dump at the specified offset from the specified area",
args: {
"index": "u8",
"offset": "u32",
},
leases: {
"out": (type: "[u8]", write: true),
},
reply: Result(
ok: "usize",
err: CLike("DumpAgentError"),
),
),
"get_dump_area": (
doc: "Return information associated with the specified dump area.",
args: {
Expand Down
2 changes: 2 additions & 0 deletions task/control-plane-agent/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ cfg-if.workspace = true
enum-map.workspace = true
gateway-messages.workspace = true
heapless.workspace = true
humpty.workspace = true
idol-runtime.workspace = true
num-traits.workspace = true
serde.workspace = true
Expand All @@ -34,6 +35,7 @@ drv-transceivers-api = { path = "../../drv/transceivers-api", optional = true }
drv-update-api = { path = "../../drv/update-api" }
drv-user-leds-api = { path = "../../drv/user-leds-api", optional = true }
drv-rng-api = { path = "../../drv/rng-api", optional = true }
dump-agent-api = { path = "../dump-agent-api" }
task-vpd-api = { path = "../../task/vpd-api", optional = true }
host-sp-messages = { path = "../../lib/host-sp-messages" }
lpc55-rom-data = { path = "../../lib/lpc55-rom-data" }
Expand Down
Loading