diff --git a/Cargo.lock b/Cargo.lock index b88b16c0e..36f50fe12 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ "memmap2", "object 0.39.1", "rustc-demangle", - "smallvec", + "smallvec 1.15.1", "typed-arena", ] @@ -139,6 +139,15 @@ version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +[[package]] +name = "array-init" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23589ecb866b460d3a0f1278834750268c607e8e28a1b982c907219f3178cd72" +dependencies = [ + "nodrop", +] + [[package]] name = "array-init" version = "2.1.0" @@ -187,6 +196,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + [[package]] name = "bincode" version = "1.3.3" @@ -202,7 +217,7 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4b52fe7fbd9e207b879c52c5af7efd861c2f4e234ab4f744b0bdc04a863623" dependencies = [ - "array-init", + "array-init 2.1.0", "binrw_derive", "bytemuck", ] @@ -521,6 +536,7 @@ dependencies = [ "anstyle", "clap_lex", "strsim 0.11.1", + "terminal_size", ] [[package]] @@ -598,6 +614,12 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "const-oid" version = "0.10.2" @@ -700,6 +722,12 @@ dependencies = [ "crc-catalog", ] +[[package]] +name = "crc-any" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62ec9ff5f7965e4d7280bd5482acd20aadb50d632cf6c1d74493856b011fa73" + [[package]] name = "crc-catalog" version = "2.5.0" @@ -992,6 +1020,30 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid 0.9.6", + "der_derive", + "flagset", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "der_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "deranged" version = "0.5.8" @@ -1044,6 +1096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", + "const-oid 0.9.6", "crypto-common 0.1.7", ] @@ -1054,7 +1107,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" dependencies = [ "block-buffer 0.12.0", - "const-oid", + "const-oid 0.10.2", "crypto-common 0.2.1", "ctutils", "zeroize", @@ -1220,6 +1273,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "flagset" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" + [[package]] name = "flate2" version = "1.1.9" @@ -1289,6 +1348,17 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + [[package]] name = "getrandom" version = "0.3.4" @@ -1416,6 +1486,9 @@ name = "hashbrown" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" +dependencies = [ + "foldhash 0.2.0", +] [[package]] name = "heapless" @@ -1493,6 +1566,27 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "hubtools" +version = "0.4.8" +source = "git+https://github.com/oxidecomputer/hubtools.git#5e41fbe7560b27eaa25bce3b322f7a612fac8f41" +dependencies = [ + "digest 0.11.2", + "hex", + "lpc55_areas", + "lpc55_sign", + "object 0.39.1", + "path-slash", + "rsa", + "thiserror 2.0.18", + "tlvc", + "tlvc-text", + "toml", + "x509-cert", + "zerocopy", + "zip", +] + [[package]] name = "humantime" version = "2.3.0" @@ -1586,7 +1680,6 @@ dependencies = [ "humility-cmd-rencm", "humility-cmd-rendmp", "humility-cmd-reset", - "humility-cmd-ringbuf", "humility-cmd-sbrmi", "humility-cmd-sensors", "humility-cmd-spctrl", @@ -1602,6 +1695,7 @@ dependencies = [ "humility-cmd-writeword", "humility-core", "humility-cortex", + "humility-hacking-ringbuf", "indexmap 2.14.0", "indicatif", "jep106 0.3.0", @@ -1624,7 +1718,10 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", + "hubtools", "humility-core", + "humility-net-core", + "humility-probes-core", "indexmap 2.14.0", "parse_int", "regex", @@ -1640,8 +1737,6 @@ dependencies = [ "clap", "humility-cli", "humility-core", - "humility-net-core", - "humility-probes-core", ] [[package]] @@ -2323,18 +2418,6 @@ dependencies = [ "humility-probes-core", ] -[[package]] -name = "humility-cmd-ringbuf" -version = "0.1.0" -dependencies = [ - "anyhow", - "clap", - "humility-cli", - "humility-cmd", - "humility-core", - "humility-doppel", -] - [[package]] name = "humility-cmd-sbrmi" version = "0.1.0" @@ -2553,10 +2636,10 @@ dependencies = [ "anyhow", "bitfield 0.19.4", "capstone", - "clap", "gimli 0.33.0", "goblin", "hubpack", + "hubtools", "humility-arch-arm", "humility-log", "humility_load_derive", @@ -2632,6 +2715,18 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "humility-hacking-ringbuf" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "humility-cli", + "humility-cmd", + "humility-core", + "humility-doppel", +] + [[package]] name = "humility-hiffy" version = "0.1.0" @@ -2643,7 +2738,6 @@ dependencies = [ "humility-idol", "idol", "log", - "parse_int", "postcard", "thiserror 2.0.18", "zerocopy", @@ -3075,6 +3169,9 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] [[package]] name = "leb128fmt" @@ -3165,6 +3262,42 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +[[package]] +name = "lpc55_areas" +version = "0.2.5" +source = "git+https://github.com/oxidecomputer/lpc55_support#fc64732faf5511850b35f1734d572b9953d73374" +dependencies = [ + "bitfield 0.19.4", + "clap", + "packed_struct", + "serde", +] + +[[package]] +name = "lpc55_sign" +version = "0.3.5" +source = "git+https://github.com/oxidecomputer/lpc55_support#fc64732faf5511850b35f1734d572b9953d73374" +dependencies = [ + "byteorder", + "const-oid 0.9.6", + "crc-any", + "der", + "env_logger", + "hex", + "log", + "lpc55_areas", + "num-traits", + "packed_struct", + "pem-rfc7468", + "rsa", + "serde", + "serde-hex", + "sha2 0.10.9", + "thiserror 2.0.18", + "x509-cert", + "zerocopy", +] + [[package]] name = "lru" version = "0.16.4" @@ -3202,6 +3335,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + [[package]] name = "measurement-token" version = "0.1.0" @@ -3317,6 +3456,12 @@ dependencies = [ "memoffset", ] +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + [[package]] name = "nom" version = "7.1.3" @@ -3333,6 +3478,23 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.6", + "serde", + "smallvec 1.15.1", + "zeroize", +] + [[package]] name = "num-conv" version = "0.2.1" @@ -3361,6 +3523,26 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -3368,6 +3550,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -3394,7 +3577,10 @@ version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b" dependencies = [ + "crc32fast", "flate2", + "hashbrown 0.17.0", + "indexmap 2.14.0", "memchr", "ruzstd", ] @@ -3436,6 +3622,28 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +[[package]] +name = "packed_struct" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36b29691432cc9eff8b282278473b63df73bea49bc3ec5e67f31a3ae9c3ec190" +dependencies = [ + "bitvec", + "packed_struct_codegen", + "serde", +] + +[[package]] +name = "packed_struct_codegen" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cd6706dfe50d53e0f6aa09e12c034c44faacd23e966ae5a209e8bdb8f179f98" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "parking_lot" version = "0.12.5" @@ -3455,7 +3663,7 @@ dependencies = [ "cfg-if", "libc", "redox_syscall 0.5.18", - "smallvec", + "smallvec 1.15.1", "windows-link", ] @@ -3496,6 +3704,15 @@ dependencies = [ "hmac", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.2" @@ -3603,6 +3820,27 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.33" @@ -3693,6 +3931,15 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efca4c95a19a79d1c98f791f10aebd5c1363b473244630bb7dbde1dc98455a24" +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -3792,6 +4039,7 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ + "rand_chacha", "rand_core 0.6.4", ] @@ -3806,11 +4054,24 @@ dependencies = [ "rand_core 0.10.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + [[package]] name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] [[package]] name = "rand_core" @@ -4040,6 +4301,28 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid 0.9.6", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "serde", + "sha2 0.10.9", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rusb" version = "0.8.1" @@ -4193,6 +4476,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde-hex" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca37e3e4d1b39afd7ff11ee4e947efae85adfddf4841787bfa47c470e96dc26d" +dependencies = [ + "array-init 0.0.4", + "serde", + "smallvec 0.6.14", +] + [[package]] name = "serde-xml-rs" version = "0.8.2" @@ -4383,6 +4677,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + [[package]] name = "simd-adler32" version = "0.3.9" @@ -4407,6 +4711,15 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + [[package]] name = "smallvec" version = "1.15.1" @@ -4458,6 +4771,16 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "splitty" version = "1.0.2" @@ -4539,6 +4862,12 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "svg" version = "0.13.1" @@ -4618,6 +4947,16 @@ dependencies = [ "unicode-width 0.1.14", ] +[[package]] +name = "terminal_size" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" +dependencies = [ + "rustix", + "windows-sys 0.61.2", +] + [[package]] name = "terminfo" version = "0.9.0" @@ -4761,6 +5100,27 @@ dependencies = [ "time-core", ] +[[package]] +name = "tls_codec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de2e01245e2bb89d6f05801c564fa27624dbd7b1846859876c7dad82e90bf6b" +dependencies = [ + "tls_codec_derive", + "zeroize", +] + +[[package]] +name = "tls_codec_derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "tlvc" version = "0.4.0" @@ -5554,6 +5914,18 @@ dependencies = [ "tap", ] +[[package]] +name = "x509-cert" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" +dependencies = [ + "const-oid 0.9.6", + "der", + "spki", + "tls_codec", +] + [[package]] name = "xml" version = "1.2.1" @@ -5604,6 +5976,20 @@ name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] [[package]] name = "zip" diff --git a/Cargo.toml b/Cargo.toml index 41030bdbd..ff05435ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -88,6 +88,7 @@ rust-version = "1.91" # if this changes, edit ci.yaml as well! # `git`-based deps gimlet-inspector-protocol = { git = "https://github.com/oxidecomputer/gimlet-inspector-protocol" } hif = { git = "https://github.com/oxidecomputer/hif" } +hubtools = { git = "https://github.com/oxidecomputer/hubtools.git" } humpty = { git = "https://github.com/oxidecomputer/humpty", version = "0.1.5" } idol = { git = "https://github.com/oxidecomputer/idolatry.git" } idt8a3xxxx = { git = "https://github.com/oxidecomputer/idt8a3xxxx" } @@ -113,8 +114,8 @@ humility = { path = "./humility-core", package = "humility-core" } humility-arch-arm = { path = "./humility-arch-arm" } humility-auxflash = { path = "./humility-auxflash" } humility-cortex = { path = "./humility-arch-cortex" } -humility-cmd = { path = "./humility-cmd", default-features = false } -humility-cli = { path = "./humility-cli" } +humility-cmd = { path = "./humility-cmd" } +humility-cli = { path = "./humility-cli", default-features = false } humility-dump-agent = { path = "./humility-dump-agent" } humility-doppel = { path = "./humility-doppel" } humility-hiffy = { path = "./humility-hiffy" } @@ -170,7 +171,7 @@ cmd-registers = { path = "./cmd/registers", package = "humility-cmd-registers" } cmd-reset = { path = "./cmd/reset", package = "humility-cmd-reset" } cmd-rencm = { path = "./cmd/rencm", package = "humility-cmd-rencm" } cmd-rendmp = { path = "./cmd/rendmp", package = "humility-cmd-rendmp" } -cmd-ringbuf = { path = "./cmd/ringbuf", package = "humility-cmd-ringbuf" } +cmd-hacking-ringbuf = { path = "./cmd/ringbuf", package = "humility-hacking-ringbuf" } cmd-sbrmi = { path = "./cmd/sbrmi", package = "humility-cmd-sbrmi" } cmd-sensors = { path = "./cmd/sensors", package = "humility-cmd-sensors" } cmd-spctrl = { path = "./cmd/spctrl", package = "humility-cmd-spctrl" } diff --git a/cmd/auxflash/src/lib.rs b/cmd/auxflash/src/lib.rs index 2f5260837..00f8af0c6 100644 --- a/cmd/auxflash/src/lib.rs +++ b/cmd/auxflash/src/lib.rs @@ -13,10 +13,9 @@ use anyhow::Result; use clap::{CommandFactory, Parser}; use colored::Colorize; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; use humility_auxflash::AuxFlashHandler; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; #[derive(Parser, Debug)] #[clap(name = "auxflash", about = env!("CARGO_PKG_DESCRIPTION"))] @@ -99,9 +98,9 @@ fn auxflash_status(mut worker: AuxFlashHandler, verbose: bool) -> Result<()> { } fn auxflash(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = AuxFlashArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut worker = AuxFlashHandler::new(hubris, core, subargs.timeout)?; match subargs.cmd { @@ -132,14 +131,5 @@ fn auxflash(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: AuxFlashArgs::command(), - name: "auxflash", - run: auxflash, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: AuxFlashArgs::command(), name: "auxflash", run: auxflash } } diff --git a/cmd/console-proxy/src/lib.rs b/cmd/console-proxy/src/lib.rs index 0bf6d3cbc..caf09c5bb 100644 --- a/cmd/console-proxy/src/lib.rs +++ b/cmd/console-proxy/src/lib.rs @@ -10,7 +10,7 @@ use std::path::PathBuf; use clap::{CommandFactory, Parser}; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; #[cfg(not(windows))] mod posix; @@ -113,10 +113,5 @@ pub fn init() -> Command { app: UartConsoleArgs::command(), name: "console-proxy", run: console_proxy, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, } } diff --git a/cmd/console-proxy/src/posix.rs b/cmd/console-proxy/src/posix.rs index a73697017..273bc3726 100644 --- a/cmd/console-proxy/src/posix.rs +++ b/cmd/console-proxy/src/posix.rs @@ -10,7 +10,7 @@ use std::os::unix::io::AsRawFd; use std::time::Duration; use std::{io, thread}; -use anyhow::{Context, Result, anyhow, bail}; +use anyhow::{Context, Result}; use clap::Parser; use crossbeam_channel::{Sender, select}; use picocom_map::RemapRules; @@ -53,7 +53,7 @@ impl<'a> UartConsoleHandler<'a> { fn uart_read(&mut self, buf: &mut [u8]) -> Result { let op = self.hubris.get_idol_command("ControlPlaneAgent.uart_read")?; - let value = humility_hiffy::hiffy_call( + let v = humility_hiffy::hiffy_call::( self.hubris, self.core, &mut self.context, @@ -63,14 +63,6 @@ impl<'a> UartConsoleHandler<'a> { Some(buf), )?; - let v = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {e}"), - }; - - let v = - v.as_base()?.as_u32().ok_or_else(|| anyhow!("Couldn't get U32"))?; - Ok(v as usize) } @@ -80,7 +72,7 @@ impl<'a> UartConsoleHandler<'a> { let buf = &buf[..usize::min(buf.len(), HIFFY_BUF_SIZE)]; - let value = humility_hiffy::hiffy_call( + let v = humility_hiffy::hiffy_call::( self.hubris, self.core, &mut self.context, @@ -90,14 +82,6 @@ impl<'a> UartConsoleHandler<'a> { None, )?; - let v = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {e}"), - }; - - let v = - v.as_base()?.as_u32().ok_or_else(|| anyhow!("Couldn't get U32"))?; - Ok(v as usize) } @@ -180,7 +164,7 @@ impl<'a> UartConsoleHandler<'a> { .hubris .get_idol_command("ControlPlaneAgent.set_humility_uart_client")?; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( self.hubris, self.core, &mut self.context, @@ -189,11 +173,7 @@ impl<'a> UartConsoleHandler<'a> { None, None, )?; - - match value { - Ok(_) => Ok(()), - Err(e) => bail!("Got Hiffy error: {e}"), - } + Ok(()) } fn current_client(&mut self) -> Result<()> { @@ -201,7 +181,7 @@ impl<'a> UartConsoleHandler<'a> { .hubris .get_idol_command("ControlPlaneAgent.get_uart_client")?; - let value = humility_hiffy::hiffy_call( + let value = humility_hiffy::hiffy_call::( self.hubris, self.core, &mut self.context, @@ -211,15 +191,6 @@ impl<'a> UartConsoleHandler<'a> { None, )?; - let value = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {e}"), - }; - - let value = value - .as_enum() - .context("get_uart_client did not return an enum")?; - println!("Current console client: {}", value.disc()); Ok(()) } @@ -314,9 +285,9 @@ impl UnrawTermiosGuard { } pub(super) fn console_proxy(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = UartConsoleArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut worker = UartConsoleHandler::new( hubris, core, diff --git a/cmd/counters/src/lib.rs b/cmd/counters/src/lib.rs index 7be2ad417..55f6c1554 100644 --- a/cmd/counters/src/lib.rs +++ b/cmd/counters/src/lib.rs @@ -206,7 +206,7 @@ use humility::core::Core; use humility::hubris::*; use humility::reflect::{self, Load, Value}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_doppel::{CountedRingbuf, CounterVariant, Counters}; use indexmap::IndexMap; use std::collections::BTreeMap; @@ -324,12 +324,11 @@ const LIST_HINT: &str = "use `humility counters list` to list all \ available counters"; fn counters(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - + let hubris = &context.cli.archive()?; let subargs = CountersArgs::try_parse_from(&context.cli.cmd)?; if let Some(Subcmd::Ipc(ipc)) = subargs.command { + let core = &mut *context.cli.attach_live_or_dump_match(hubris)?; return ipc.ipc_counter_dump(hubris, core); } let name = subargs.name(); @@ -428,6 +427,7 @@ fn counters(context: &mut ExecutionContext) -> Result<()> { } let mut json: IndexMap<&str, IndexMap<_, _>> = IndexMap::new(); + let core = &mut *context.cli.attach_live_or_dump_match(hubris)?; for (t, ctrs) in counters { // Try not to use `?` here, because it causes one bad counter to make // them all unavailable. Instead, construct an iterator of @@ -623,14 +623,5 @@ fn hint() -> impl std::fmt::Display { } pub fn init() -> Command { - Command { - app: CountersArgs::command(), - name: "counters", - run: counters, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Match, - }, - } + Command { app: CountersArgs::command(), name: "counters", run: counters } } diff --git a/cmd/dashboard/src/lib.rs b/cmd/dashboard/src/lib.rs index 740788be4..22e5d222c 100644 --- a/cmd/dashboard/src/lib.rs +++ b/cmd/dashboard/src/lib.rs @@ -29,7 +29,7 @@ use hif::*; use humility::core::Core; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_idol::{self as idol, HubrisIdol}; use ratatui::{ @@ -736,11 +736,10 @@ where } fn dashboard(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); - - let core = &mut **context.core.as_mut().unwrap(); - let subargs = DashboardArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; + let dashboard = Dashboard::new(hubris, core, &subargs)?; // setup terminal @@ -767,16 +766,7 @@ fn dashboard(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: DashboardArgs::command(), - name: "dashboard", - run: dashboard, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: DashboardArgs::command(), name: "dashboard", run: dashboard } } fn sensor_ops( diff --git a/cmd/debugmailbox/src/lib.rs b/cmd/debugmailbox/src/lib.rs index a78a4c366..6de6a9011 100644 --- a/cmd/debugmailbox/src/lib.rs +++ b/cmd/debugmailbox/src/lib.rs @@ -32,7 +32,7 @@ use anyhow::{Context, Result, bail}; use byteorder::{ByteOrder, LittleEndian, WriteBytesExt}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use probe_rs::{ DebugProbeError, DebugProbeSelector, Probe, architecture::arm::{ApAddress, ArmProbeInterface, DapError, DpAddress}, @@ -464,6 +464,5 @@ pub fn init() -> Command { app: DebugMailboxArgs::command(), name: "debugmailbox", run: debugmailboxcmd, - kind: CommandKind::Unattached { archive: Archive::Ignored }, } } diff --git a/cmd/diagnose/src/lib.rs b/cmd/diagnose/src/lib.rs index d64cb2b6f..fc2f7ccfa 100644 --- a/cmd/diagnose/src/lib.rs +++ b/cmd/diagnose/src/lib.rs @@ -19,24 +19,14 @@ use clap::{CommandFactory, Parser}; use humility::core::Core; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_doppel::{GenOrRestartCount, Task, TaskDesc, TaskState}; use std::num::NonZeroU32; use std::time::Duration; /// Command registration. pub fn init() -> Command { - Command { - app: DiagnoseArgs::command(), - name: "diagnose", - run: diagnose, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: DiagnoseArgs::command(), name: "diagnose", run: diagnose } } #[derive(Parser, Debug)] @@ -83,10 +73,9 @@ fn section(title: &str) { } fn diagnose(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = DiagnoseArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_or_dump_booted(hubris)?; section("Initial Inspection"); diff --git a/cmd/discover/src/lib.rs b/cmd/discover/src/lib.rs index e4490b2c7..8d981ba51 100644 --- a/cmd/discover/src/lib.rs +++ b/cmd/discover/src/lib.rs @@ -45,7 +45,7 @@ use colored::Colorize; use hubpack::SerializedSize; use humility::net::decode_iface; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use serde::{Deserialize, Serialize}; #[derive(Parser, Debug)] @@ -313,9 +313,9 @@ fn discover_dump(seen: BTreeSet, image_id: Option<&[u8]>) { fn discover_run(context: &mut ExecutionContext) -> Result<()> { let subargs = DiscoverArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.try_archive()?; - let image_id = hubris.image_id(); + let image_id = hubris.as_ref().map(|h| h.image_id()); if image_id.is_none() { humility::warn!("no archive provided; not checking for compatibility"); } @@ -330,6 +330,5 @@ pub fn init() -> Command { app: DiscoverArgs::command(), name: "discover", run: discover_run, - kind: CommandKind::Detached { archive: Archive::Optional }, } } diff --git a/cmd/doc/src/lib.rs b/cmd/doc/src/lib.rs index 6a1cb1267..7a5982d61 100644 --- a/cmd/doc/src/lib.rs +++ b/cmd/doc/src/lib.rs @@ -13,7 +13,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use std::collections::HashMap; use termimad::*; @@ -64,10 +64,5 @@ fn doc(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: DocArgs::command(), - name: "doc", - run: doc, - kind: CommandKind::Unattached { archive: Archive::Ignored }, - } + Command { app: DocArgs::command(), name: "doc", run: doc } } diff --git a/cmd/dump/src/lib.rs b/cmd/dump/src/lib.rs index a1180c2bd..b2de98c63 100644 --- a/cmd/dump/src/lib.rs +++ b/cmd/dump/src/lib.rs @@ -65,13 +65,13 @@ //! ``` //! -use anyhow::{Result, anyhow, bail}; +use anyhow::{Result, bail}; use clap::{ArgGroup, CommandFactory, Parser}; use humility::core::Core; use humility::hubris::*; use humility_arch_arm::ARMRegister; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_dump_agent::{ DumpAgent, DumpAgentCore, DumpAgentExt, DumpArea, DumpBreakdown, HiffyDumpAgent, UdpDumpAgent, task_areas, @@ -325,11 +325,7 @@ fn get_dump_agent<'a>( { humility::msg!("using UDP dump agent"); - let imageid = &hubris - .imageid - .as_ref() - .ok_or_else(|| anyhow!("missing image ID"))? - .1; + let imageid = hubris.image_id(); Ok(Box::new(UdpDumpAgent::new(core, imageid)?)) } else { @@ -855,10 +851,9 @@ fn dump_agent_status( } fn dumpcmd(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = DumpArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_match(hubris)?; if subargs.force_dump_agent && core.is_net() { bail!("can only force the dump agent when attached via debug probe"); @@ -903,14 +898,5 @@ fn dumpcmd(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: DumpArgs::command(), - name: "dump", - run: dumpcmd, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Match, - }, - } + Command { app: DumpArgs::command(), name: "dump", run: dumpcmd } } diff --git a/cmd/ereport/src/lib.rs b/cmd/ereport/src/lib.rs index 391b39848..fa145d074 100644 --- a/cmd/ereport/src/lib.rs +++ b/cmd/ereport/src/lib.rs @@ -11,7 +11,7 @@ use humility::{ hubris::{HubrisArchive, HubrisTask}, }; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use anyhow::{Context, Result, anyhow}; use std::collections::VecDeque; @@ -337,10 +337,9 @@ fn pretty_print_value(value: &ciborium::Value, indent: usize, is_key: bool) { } fn ereport(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = EreportArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_or_dump_booted(hubris)?; match subargs.cmd { EreportCmd::Dump { flags } => ereport_print(hubris, core, flags), @@ -348,14 +347,5 @@ fn ereport(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: EreportArgs::command(), - name: "ereport", - run: ereport, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: EreportArgs::command(), name: "ereport", run: ereport } } diff --git a/cmd/exec/src/lib.rs b/cmd/exec/src/lib.rs index bea4e1dd7..a237a50b9 100644 --- a/cmd/exec/src/lib.rs +++ b/cmd/exec/src/lib.rs @@ -24,7 +24,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use humility_log::msg; use serde_json::Value; use std::collections::BTreeMap; @@ -143,10 +143,5 @@ fn exec(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ExecArgs::command(), - name: "exec", - run: exec, - kind: CommandKind::Unattached { archive: Archive::Ignored }, - } + Command { app: ExecArgs::command(), name: "exec", run: exec } } diff --git a/cmd/extract/src/lib.rs b/cmd/extract/src/lib.rs index e044375c0..96ca5a990 100644 --- a/cmd/extract/src/lib.rs +++ b/cmd/extract/src/lib.rs @@ -132,7 +132,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Command, CommandKind}; +use humility_cmd::Command; use humility_log::msg; use std::fs::File; use std::io::Cursor; @@ -154,12 +154,14 @@ struct ExtractArgs { } fn extract(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); - let archive = hubris.archive(); let subargs = ExtractArgs::try_parse_from(&context.cli.cmd)?; + let archive = context.cli.raw_archive()?; if subargs.list { - let cursor = Cursor::new(archive); + // We convert the archive data back into a `ZipArchive` instead of using + // `RawHubrisArchive` functions for speed; the `ZipArchive` can report + // file size without uncompressing. + let cursor = Cursor::new(archive.zip); let mut archive = zip::ZipArchive::new(cursor)?; println!("{:>12} NAME", "SIZE"); @@ -173,7 +175,7 @@ fn extract(context: &mut ExecutionContext) -> Result<()> { } let buffer = if let Some(ref filename) = subargs.file { - let cursor = Cursor::new(archive); + let cursor = Cursor::new(archive.zip); let mut archive = zip::ZipArchive::new(cursor)?; let mut found = vec![]; @@ -212,7 +214,7 @@ fn extract(context: &mut ExecutionContext) -> Result<()> { file.read_to_end(&mut buffer)?; buffer } else { - archive.to_vec() + archive.zip.to_vec() }; if let Some(output) = subargs.output { @@ -234,10 +236,5 @@ fn extract(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ExtractArgs::command(), - name: "extract", - run: extract, - kind: CommandKind::Raw, - } + Command { app: ExtractArgs::command(), name: "extract", run: extract } } diff --git a/cmd/flash/src/lib.rs b/cmd/flash/src/lib.rs index 4eb6902a8..6e23f982b 100644 --- a/cmd/flash/src/lib.rs +++ b/cmd/flash/src/lib.rs @@ -24,7 +24,7 @@ use clap::{CommandFactory, Parser}; use humility::{core::Core, hubris::*}; use humility_auxflash::AuxFlashHandler; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; #[derive(Parser, Debug)] #[clap(name = "flash", about = env!("CARGO_PKG_DESCRIPTION"))] @@ -77,7 +77,7 @@ struct FlashArgs { /// _not_ reflash). The core is left halted if we should reflash and is running /// otherwise. fn validate( - hubris: &mut HubrisArchive, + hubris: &HubrisArchive, core: &mut dyn humility::core::Core, subargs: &FlashArgs, ) -> Result<()> { @@ -124,7 +124,7 @@ fn validate( /// /// The core is halted when this function exits. fn get_image_state( - hubris: &mut HubrisArchive, + hubris: &HubrisArchive, core: &mut dyn humility::core::Core, full_check: bool, verbose: bool, @@ -189,7 +189,7 @@ fn get_image_state( } fn flashcmd(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_mut().unwrap(); + let hubris = &context.cli.archive()?; let subargs = FlashArgs::try_parse_from(&context.cli.cmd)?; let config = hubris.load_flash_config()?; @@ -345,12 +345,7 @@ fn program_auxflash( } pub fn init() -> Command { - Command { - app: FlashArgs::command(), - name: "flash", - run: flashcmd, - kind: CommandKind::Unattached { archive: Archive::Required }, - } + Command { app: FlashArgs::command(), name: "flash", run: flashcmd } } /// While it may sound like the impetus for an OSHA investigation at the North diff --git a/cmd/gimlet/src/lib.rs b/cmd/gimlet/src/lib.rs index 616bf18a4..16ace5f58 100644 --- a/cmd/gimlet/src/lib.rs +++ b/cmd/gimlet/src/lib.rs @@ -20,7 +20,7 @@ use anyhow::{Context, Result, bail}; use clap::{ArgGroup, CommandFactory, Parser}; use humility::net::ScopedV6Addr; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind, Dumper}; +use humility_cmd::{Command, Dumper}; /// This is defined in the gimlet TOML. const HARDCODED_PORT: u16 = 23547; @@ -133,10 +133,5 @@ fn run(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: Args::command(), - name: "gimlet", - run, - kind: CommandKind::Detached { archive: Archive::Ignored }, - } + Command { app: Args::command(), name: "gimlet", run } } diff --git a/cmd/gpio/src/lib.rs b/cmd/gpio/src/lib.rs index 194364cbf..23c6164e4 100644 --- a/cmd/gpio/src/lib.rs +++ b/cmd/gpio/src/lib.rs @@ -93,7 +93,7 @@ //! use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::HiffyContext; use std::str; @@ -150,9 +150,9 @@ struct GpioArgs { } fn gpio(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); let subargs = GpioArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; let gpio_toggle = context.get_function("GpioToggle", 2)?; @@ -327,14 +327,5 @@ fn gpio(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: GpioArgs::command(), - name: "gpio", - run: gpio, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: GpioArgs::command(), name: "gpio", run: gpio } } diff --git a/cmd/hash/src/lib.rs b/cmd/hash/src/lib.rs index 359408e81..f25243401 100644 --- a/cmd/hash/src/lib.rs +++ b/cmd/hash/src/lib.rs @@ -20,7 +20,7 @@ use anyhow::{Context, Result, anyhow, bail}; use clap::{ArgGroup, CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use sha2::{Digest, Sha256}; use std::fs::File; @@ -93,10 +93,10 @@ struct HashArgs { } fn hash(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let subargs = HashArgs::try_parse_from(&context.cli.cmd)?; - let archive = context.archive.as_ref().unwrap(); + let archive = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(archive)?; + let mut context = HiffyContext::new(archive, core, subargs.timeout)?; let scratch_size = context.scratch_size(); let mut ops = vec![]; @@ -474,14 +474,5 @@ fn print_hash(buf: &[u8]) { } pub fn init() -> Command { - Command { - app: HashArgs::command(), - name: "hash", - run: hash, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: HashArgs::command(), name: "hash", run: hash } } diff --git a/cmd/hiffy/src/lib.rs b/cmd/hiffy/src/lib.rs index 538235781..9e6e17aeb 100644 --- a/cmd/hiffy/src/lib.rs +++ b/cmd/hiffy/src/lib.rs @@ -51,7 +51,7 @@ use clap::{CommandFactory, Parser}; use humility::hubris::*; use humility::warn; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use humility_idol as idol; use std::io::IsTerminal; @@ -200,14 +200,42 @@ pub fn hiffy_list(hubris: &HubrisArchive, filter: Vec) -> Result<()> { } fn hiffy(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = HiffyArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; if subargs.list { hiffy_list(hubris, subargs.filter)?; return Ok(()); + } else if subargs.listfuncs { + let funcs = HiffyContext::get_hiffy_functions(hubris)?; + let mut byid: Vec> = vec![]; + + byid.resize(funcs.len(), None); + + for (name, func) in &funcs.0 { + let ndx = func.id.0 as usize; + + if ndx >= byid.len() { + bail!("ID for function {} ({}) exceeds bounds", name, ndx); + } + + if let Some((_, _)) = byid[ndx] { + bail!("function ID {} has conflics", ndx); + } + + byid[ndx] = Some((name, func)); + } + + println!("{:>3} {:30} #ARGS", "ID", "FUNCTION"); + + for (i, id) in byid.iter().enumerate() { + if let Some((name, func)) = id { + println!("{:3} {:30} {}", i, name, func.args.len()); + } else { + bail!("missing function for ID {}", i); + } + } + return Ok(()); } else if !subargs.filter.is_empty() { // // It is likely that the user has provided an argument to a HIF @@ -224,19 +252,11 @@ fn hiffy(context: &mut ExecutionContext) -> Result<()> { ); } - // - // Before we create our HiffyContext, check to see if this is a call and - // we're on a dump; running call on a dump always fails (obviously?), but - // in the event that we have a HIF mismatch (or any other failure to - // create the HiffyContext) *and* we're running call on a dump, we would - // rather fail with the dump message rather than with the HiffyContext - // creation failure. (Note that -L will still create the HiffyContext, - // even if run on a dump.) - // - if subargs.call.is_some() && core.is_dump() { - bail!("can't make HIF calls on a dump"); + if subargs.call.is_none() { + bail!("expected one of -l, -L, or -c"); } + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; if let Some(call) = subargs.call { @@ -291,7 +311,7 @@ fn hiffy(context: &mut ExecutionContext) -> Result<()> { }; ( - hiffy_call( + match hiffy_call( hubris, core, &mut context, @@ -299,7 +319,11 @@ fn hiffy(context: &mut ExecutionContext) -> Result<()> { &args, input.as_deref(), output.as_deref_mut(), - )?, + ) { + Ok(s) => Ok(s), + Err(HiffyCallError::Hiffy(s)) => Err(s), + Err(HiffyCallError::Other(e)) => return Err(e), + }, output, ) }; @@ -320,51 +344,9 @@ fn hiffy(context: &mut ExecutionContext) -> Result<()> { return Ok(()); } - if !subargs.listfuncs { - bail!("expected one of -l, -L, or -c"); - } - - let funcs = context.functions(); - let mut byid: Vec> = vec![]; - - byid.resize(funcs.len(), None); - - for (name, func) in &funcs.0 { - let ndx = func.id.0 as usize; - - if ndx >= byid.len() { - bail!("ID for function {} ({}) exceeds bounds", name, ndx); - } - - if let Some((_, _)) = byid[ndx] { - bail!("function ID {} has conflics", ndx); - } - - byid[ndx] = Some((name, func)); - } - - println!("{:>3} {:30} #ARGS", "ID", "FUNCTION"); - - for (i, id) in byid.iter().enumerate() { - if let Some((name, func)) = id { - println!("{:3} {:30} {}", i, name, func.args.len()); - } else { - bail!("missing function for ID {}", i); - } - } - Ok(()) } pub fn init() -> Command { - Command { - app: HiffyArgs::command(), - name: "hiffy", - run: hiffy, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: HiffyArgs::command(), name: "hiffy", run: hiffy } } diff --git a/cmd/host/src/lib.rs b/cmd/host/src/lib.rs index 21ccac1a2..25a9d2da3 100644 --- a/cmd/host/src/lib.rs +++ b/cmd/host/src/lib.rs @@ -106,7 +106,7 @@ use clap::{CommandFactory, Parser}; use humility::{core::Core, hubris::HubrisArchive, reflect, reflect::Load}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_doppel as doppel; use humility_hiffy::HiffyContext; use humility_idol::HubrisIdol; @@ -184,9 +184,9 @@ fn read_qualified_state_buf( return Ok(None); }; - let as_static_cell: doppel::ClaimOnceCell = + let as_static_cell: doppel::ClaimOnceCell = reflect::read_variable(hubris, core, var)?; - Ok(Some(HostStateBuf::from_value(&as_static_cell.cell.value)?)) + Ok(Some(as_static_cell.cell.value)) } fn print_escaped_ascii(mut bytes: &[u8]) { @@ -334,15 +334,11 @@ fn print_panic(d: Vec) -> Result<()> { /// Print a warning message if the archive is not for a `cosmo` board fn check_post_code_target(hubris: &HubrisArchive) { - if !hubris.manifest.board.as_ref().is_some_and(|b| b.contains("cosmo")) { + if !hubris.manifest.board.contains("cosmo") { humility::warn!( - "POST code buffer is only present on 'cosmo' hardware{}; \ - hiffy may fail and time out", - if let Some(board) = &hubris.manifest.board { - format!(" but this is a '{board}'") - } else { - String::new() - } + "POST code buffer is only present on 'cosmo' hardware \ + but this is a '{}'; hiffy may fail and time out", + hubris.manifest.board, ) } } @@ -357,7 +353,7 @@ fn host_post_codes( let mut context = HiffyContext::new(hubris, core, 5000)?; let op = hubris.get_idol_command("Sequencer.post_code_buffer_len")?; - let value = humility_hiffy::hiffy_call( + let count = humility_hiffy::hiffy_call::( hubris, core, &mut context, @@ -366,12 +362,6 @@ fn host_post_codes( None, None, )?; - let Ok(reflect::Value::Base(reflect::Base::U32(count))) = value else { - bail!( - "Got bad value from post_code_buffer_len: \ - expected U32, got {value:?}" - ); - }; let op = hubris.get_idol_command("Sequencer.get_post_code")?; let handle_value = |v| { @@ -444,7 +434,7 @@ fn host_last_post_code( let mut context = HiffyContext::new(hubris, core, 5000)?; let op = hubris.get_idol_command("Sequencer.last_post_code")?; - let value = humility_hiffy::hiffy_call( + let v = humility_hiffy::hiffy_call::( hubris, core, &mut context, @@ -453,9 +443,6 @@ fn host_last_post_code( None, None, )?; - let Ok(reflect::Value::Base(reflect::Base::U32(v))) = value else { - bail!("Got bad value from last_post_code: expected U32, got {value:?}"); - }; if raw { println!("{v:08x}"); } else { @@ -468,32 +455,34 @@ fn host_last_post_code( fn host(context: &mut ExecutionContext) -> Result<()> { let subargs = HostArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); - let core = &mut **context.core.as_mut().unwrap(); + let hubris = &context.cli.archive()?; match subargs.cmd { - HostCommand::BootFail => host_boot_fail(hubris, core), - HostCommand::LastPanic => host_last_panic(hubris, core), - HostCommand::Cosmo { cmd } => match cmd { - CosmoHostCommand::PostCodes { raw } => { - host_post_codes(hubris, core, raw) - } - CosmoHostCommand::LastPostCode { raw } => { - host_last_post_code(hubris, core, raw) + // BootFail and LastPanic just need to read memory, so they can attach + // to either a live system or a dump. + HostCommand::BootFail => { + let core = &mut *context.cli.attach_live_or_dump_match(hubris)?; + host_boot_fail(hubris, core) + } + HostCommand::LastPanic => { + let core = &mut *context.cli.attach_live_or_dump_match(hubris)?; + host_last_panic(hubris, core) + } + HostCommand::Cosmo { cmd } => { + // All cosmo subcommands require making hiffy calls on a live system + let core = &mut *context.cli.attach_live_booted(hubris)?; + match cmd { + CosmoHostCommand::PostCodes { raw } => { + host_post_codes(hubris, core, raw) + } + CosmoHostCommand::LastPostCode { raw } => { + host_last_post_code(hubris, core, raw) + } } - }, + } } } pub fn init() -> Command { - Command { - app: HostArgs::command(), - name: "host", - run: host, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Match, - }, - } + Command { app: HostArgs::command(), name: "host", run: host } } diff --git a/cmd/hydrate/src/lib.rs b/cmd/hydrate/src/lib.rs index 70fa0e5e1..ccf4804b3 100644 --- a/cmd/hydrate/src/lib.rs +++ b/cmd/hydrate/src/lib.rs @@ -17,12 +17,12 @@ //! By default, this writes to `hubris.core.TASK_NAME.N` (where `N` is the //! lowest available value); use `--out` to specify a different path name. -use anyhow::{Context, Result, anyhow, bail}; +use anyhow::{Context, Result, bail}; use clap::{ArgGroup, CommandFactory, Parser}; use humility::hubris::HubrisFlashMap; use humility_arch_arm::ARMRegister; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use humility_log::msg; use std::{collections::BTreeMap, io::Read, path::PathBuf}; @@ -172,12 +172,8 @@ fn run(context: &mut ExecutionContext) -> Result<()> { } // compare archive ID - let Some(archive) = &context.archive else { - bail!("could not get archive"); - }; - let expected_id = archive - .image_id() - .ok_or_else(|| anyhow!("missing image ID in archive"))?; + let archive = &context.cli.archive()?; + let expected_id = archive.image_id(); if archive_id != expected_id { bail!( "image ID mismatch: archive ID is {expected_id:02x?}, \ @@ -200,10 +196,5 @@ fn run(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: Args::command(), - name: "hydrate", - run, - kind: CommandKind::Detached { archive: Archive::Optional }, - } + Command { app: Args::command(), name: "hydrate", run } } diff --git a/cmd/i2c/src/lib.rs b/cmd/i2c/src/lib.rs index 8692124a9..6e008ccb0 100644 --- a/cmd/i2c/src/lib.rs +++ b/cmd/i2c/src/lib.rs @@ -94,7 +94,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use hif::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use humility_log::msg; @@ -424,10 +424,8 @@ fn i2c_done( } fn i2c(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = I2cArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; if !subargs.scan && subargs.scanreg.is_none() @@ -441,6 +439,7 @@ fn i2c(context: &mut ExecutionContext) -> Result<()> { ); } + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; let (fname, args) = if subargs.flash.is_some() { @@ -711,14 +710,5 @@ fn i2c(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: I2cArgs::command(), - name: "i2c", - run: i2c, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: I2cArgs::command(), name: "i2c", run: i2c } } diff --git a/cmd/ibc/src/lib.rs b/cmd/ibc/src/lib.rs index ea1014e79..2a88121fd 100644 --- a/cmd/ibc/src/lib.rs +++ b/cmd/ibc/src/lib.rs @@ -104,7 +104,6 @@ use anyhow::{Result, anyhow, bail}; use clap::{CommandFactory, Parser}; use colored::Colorize; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; use humility_idol::{self as idol, HubrisIdol}; use zerocopy::{ FromBytes, Immutable, IntoBytes, KnownLayout, @@ -115,7 +114,7 @@ use hif::*; use humility::core::Core; use humility::hubris::*; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_hiffy::HiffyContext; #[derive(Parser, Debug)] @@ -515,9 +514,9 @@ struct IbcEvent { //////////////////////////////////////////////////////////////////////////////// fn ibc(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = IbcArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut worker = IbcHandler::new(hubris, core, subargs.timeout)?; match subargs.cmd { @@ -529,14 +528,5 @@ fn ibc(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: IbcArgs::command(), - name: "ibc", - run: ibc, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: IbcArgs::command(), name: "ibc", run: ibc } } diff --git a/cmd/jefe/src/lib.rs b/cmd/jefe/src/lib.rs index 2b4bd221c..503cf5798 100644 --- a/cmd/jefe/src/lib.rs +++ b/cmd/jefe/src/lib.rs @@ -98,7 +98,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_jefe::{JefeRequest, send_request}; use std::num::NonZeroU32; @@ -132,10 +132,9 @@ struct JefeArgs { } fn jefe(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = JefeArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let request = if subargs.fault { JefeRequest::Fault @@ -172,14 +171,5 @@ fn jefe(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: JefeArgs::command(), - name: "jefe", - run: jefe, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: JefeArgs::command(), name: "jefe", run: jefe } } diff --git a/cmd/lpc55gpio/src/lib.rs b/cmd/lpc55gpio/src/lib.rs index 10d4350e3..ec05a3503 100644 --- a/cmd/lpc55gpio/src/lib.rs +++ b/cmd/lpc55gpio/src/lib.rs @@ -103,7 +103,7 @@ //! use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use std::str; @@ -164,10 +164,9 @@ struct GpioArgs { } fn gpio(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = GpioArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; let gpio_toggle = context.get_function("GpioToggle", 1)?; @@ -312,14 +311,5 @@ fn gpio(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: GpioArgs::command(), - name: "lpc55gpio", - run: gpio, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: GpioArgs::command(), name: "lpc55gpio", run: gpio } } diff --git a/cmd/lsusb/src/lib.rs b/cmd/lsusb/src/lib.rs index ce4316f60..4a52c7283 100644 --- a/cmd/lsusb/src/lib.rs +++ b/cmd/lsusb/src/lib.rs @@ -10,7 +10,7 @@ use anyhow::{Context, Result, anyhow}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use std::collections::HashMap; use std::time::Duration; @@ -141,10 +141,5 @@ fn list1( } pub fn init() -> Command { - Command { - app: Args::command(), - name: "lsusb", - run: lsusb, - kind: CommandKind::Unattached { archive: Archive::Ignored }, - } + Command { app: Args::command(), name: "lsusb", run: lsusb } } diff --git a/cmd/manifest/src/lib.rs b/cmd/manifest/src/lib.rs index cbc55620f..4178ab759 100644 --- a/cmd/manifest/src/lib.rs +++ b/cmd/manifest/src/lib.rs @@ -45,7 +45,7 @@ use anyhow::Result; use clap::{CommandFactory, Parser}; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use std::collections::HashSet; #[derive(Parser, Debug)] @@ -58,7 +58,7 @@ struct ManifestArgs { #[allow(clippy::print_literal)] fn manifestcmd(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); + let hubris = context.cli.archive()?; let manifest = &hubris.manifest; let subargs = ManifestArgs::try_parse_from(&context.cli.cmd)?; @@ -74,24 +74,15 @@ fn manifestcmd(context: &mut ExecutionContext) -> Result<()> { let size = |task| hubris.lookup_module(task).unwrap().memsize; - print("version", manifest.version.as_deref().unwrap_or("")); + print("version", manifest.version.as_str()); print("git rev", manifest.gitrev.as_deref().unwrap_or("")); - println!( - "{:>12} => {}", - "image id", - match &hubris.imageid { - Some(s) => { - format!("{:x?}", s.1) - } - None => "".to_string(), - }, - ); - - print("board", manifest.board.as_deref().unwrap_or("")); - print("name", manifest.name.as_deref().unwrap_or("")); + println!("{:>12} => {:x?}", "image id", hubris.image_id()); + + print("board", manifest.board.as_str()); + print("name", manifest.name.as_str()); print("image", manifest.image.as_deref().unwrap_or("")); - print("target", manifest.target.as_deref().unwrap_or("")); + print("target", manifest.target.as_str()); print("features", &manifest.features.join(", ")); let ttl = hubris.modules().fold(0, |ttl, m| ttl + m.memsize); @@ -271,10 +262,5 @@ fn manifestcmd(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ManifestArgs::command(), - name: "manifest", - run: manifestcmd, - kind: CommandKind::Unattached { archive: Archive::Required }, - } + Command { app: ManifestArgs::command(), name: "manifest", run: manifestcmd } } diff --git a/cmd/map/src/lib.rs b/cmd/map/src/lib.rs index d6dc4f76b..3ef6ae8fd 100644 --- a/cmd/map/src/lib.rs +++ b/cmd/map/src/lib.rs @@ -64,20 +64,18 @@ use anyhow::Result; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; #[derive(Parser, Debug)] #[clap(name = "map", about = env!("CARGO_PKG_DESCRIPTION"))] struct MapArgs {} fn mapcmd(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - core.op_start()?; - - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + // Use an archive core to easily read from flash + let core = &mut *humility::core::attach_archive(hubris)?; let regions = hubris.regions(core)?; - core.op_done()?; println!( "{:10} {:10} {:10} {:>7} {:6} {:2} TASK", @@ -138,10 +136,5 @@ fn mapcmd(context: &mut ExecutionContext) -> Result<()> { /// This is some init right here pub fn init() -> Command { - Command { - app: MapArgs::command(), - name: "map", - run: mapcmd, - kind: CommandKind::Unattached { archive: Archive::Required }, - } + Command { app: MapArgs::command(), name: "map", run: mapcmd } } diff --git a/cmd/monorail/src/lib.rs b/cmd/monorail/src/lib.rs index d3e452dca..ad5c32ede 100644 --- a/cmd/monorail/src/lib.rs +++ b/cmd/monorail/src/lib.rs @@ -172,7 +172,6 @@ use humility::core::Core; use humility::hubris::*; use humility::reflect::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, CommandKind, Validate}; use humility_hiffy::HiffyContext; use humility_idol::{HubrisIdol, IdolArgument}; @@ -197,18 +196,6 @@ struct MonorailArgs { cmd: Command, } -impl MonorailArgs { - /// Checks whether the given subcommand requires an attached target - /// (i.e. a microcontroller running Hubris, connected through a debugger) - fn requires_target(&self) -> bool { - !matches!( - &self.cmd, - Command::Info { .. } - | Command::Phy { cmd: PhyCommand::Info { .. }, .. } - ) - } -} - #[derive(Parser, Debug)] enum Command { /// Get info about a particular VSC7448 register @@ -322,7 +309,7 @@ fn monorail_read( humility::msg!("Reading {reg} from {addr:#x}"); let op = hubris.get_idol_command("Monorail.read_vsc7448_reg")?; - let value = humility_hiffy::hiffy_call( + let value = humility_hiffy::hiffy_call::( hubris, core, context, @@ -331,30 +318,16 @@ fn monorail_read( None, None, )?; - match value { - Ok(v) => { - let value = if let Value::Base(Base::U32(v)) = v { - v - } else { - bail!("Got bad reflected value: expected U32, got {v:?}"); - }; - println!("{reg} => {value:#x}"); - - // The VSC7448 is configured to return 0x88888888 if a register is - // read too fast. This should never happen, because the `monorail` - // task configures appropriate padding bytes between setting the - // target register and reading it back. - if value == 0x88888888 { - log::warn!( - "0x88888888 typically indicates a communication issue!" - ); - } - pretty_print_fields(value, reg.fields(), 0); - } - Err(e) => { - println!("Got error: {e}"); - } + println!("{reg} => {value:#x}"); + + // The VSC7448 is configured to return 0x88888888 if a register is + // read too fast. This should never happen, because the `monorail` + // task configures appropriate padding bytes between setting the + // target register and reading it back. + if value == 0x88888888 { + log::warn!("0x88888888 typically indicates a communication issue!"); } + pretty_print_fields(value, reg.fields(), 0); Ok(()) } @@ -371,7 +344,7 @@ fn monorail_write( pretty_print_fields(value, reg.fields(), 0); let op = hubris.get_idol_command("Monorail.write_vsc7448_reg")?; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( hubris, core, context, @@ -383,16 +356,6 @@ fn monorail_write( None, None, )?; - match value { - Ok(v) => { - if !matches!(v, Value::Base(Base::U0)) { - bail!("Got unexpected value: expected (), got {v:?}") - } - } - Err(e) => { - println!("Got error: {e}"); - } - } Ok(()) } @@ -459,7 +422,7 @@ fn monorail_phy_read( let reg = parse_phy_register(®)?; println!("Reading from port {} PHY, register {}", port, reg.name); let op = hubris.get_idol_command("Monorail.read_phy_reg")?; - let value = humility_hiffy::hiffy_call( + let value = humility_hiffy::hiffy_call::( hubris, core, context, @@ -472,19 +435,8 @@ fn monorail_phy_read( None, None, )?; - match value { - Ok(v) => { - let value = v - .as_base()? - .as_u16() - .ok_or_else(|| anyhow!("Could not get U16 from {:?}", v))?; - println!("Got result {:#x}", value); - pretty_print_fields(value as u32, ®.fields, 0); - } - Err(e) => { - println!("Got error: {}", e); - } - } + println!("Got result {:#x}", value); + pretty_print_fields(value as u32, ®.fields, 0); Ok(()) } @@ -503,7 +455,7 @@ fn monorail_phy_write( ); pretty_print_fields(value as u32, ®.fields, 0); let op = hubris.get_idol_command("Monorail.write_phy_reg")?; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( hubris, core, context, @@ -517,16 +469,6 @@ fn monorail_phy_write( None, None, )?; - match value { - Ok(v) => { - if !matches!(v, Value::Base(Base::U0)) { - bail!("Got unexpected value: expected (), got {v:?}") - } - } - Err(e) => { - println!("Got error: {e}"); - } - } Ok(()) } @@ -737,11 +679,19 @@ fn monorail_status( let port_results = port_results .into_iter() - .map(move |r| humility_hiffy::hiffy_decode(hubris, &op_port, r)) + .map(move |r| { + humility_hiffy::hiffy_decode::( + hubris, &op_port, r, + ) + }) .collect::>>>()?; let phy_results = phy_results .into_iter() - .map(move |r| humility_hiffy::hiffy_decode(hubris, &op_phy, r)) + .map(move |r| { + humility_hiffy::hiffy_decode::( + hubris, &op_phy, r, + ) + }) .collect::>>>()?; // Decode the port and phy status values into reflect::Value @@ -807,8 +757,7 @@ fn monorail_status( } print!(" {:<3} | ", port); match port_value { - Ok(v) => { - let s = v.as_struct()?; + Ok(s) => { assert_eq!(s.name(), "PortStatus"); let (dev, serdes, mode, speed) = match &s["cfg"] { Value::Struct(cfg) => { @@ -854,8 +803,7 @@ fn monorail_status( } print!(" | "); match phy_value { - Ok(v) => { - let s = v.as_struct()?; + Ok(s) => { assert_eq!(s.name(), "PhyStatus"); let phy_ty = match &s["ty"] { Value::Enum(e) => e.disc().to_uppercase(), @@ -891,7 +839,7 @@ fn monorail_mac_table( // We need to make two HIF calls: // - Read the number of entries in the MAC table // - Loop over the table that many times, reading entries - let value = humility_hiffy::hiffy_call( + let mac_count = humility_hiffy::hiffy_call::( hubris, core, context, @@ -900,18 +848,6 @@ fn monorail_mac_table( None, None, )?; - let mac_count = match value { - Ok(v) => { - if let Value::Base(Base::U32(v)) = v { - v - } else { - bail!("Got bad reflected value: expected U32, got {:?}", v); - } - } - Err(e) => { - bail!("Got error: {e}"); - } - }; println!("Reading {mac_count} MAC addresses..."); @@ -944,13 +880,16 @@ fn monorail_mac_table( let results = context.run(core, ops.as_slice(), None)?; let results = results .into_iter() - .map(move |r| humility_hiffy::hiffy_decode(hubris, &op, r)) + .map(move |r| { + humility_hiffy::hiffy_decode::( + hubris, &op, r, + ) + }) .collect::>>>()?; let mut mac_table: BTreeMap> = BTreeMap::new(); for r in results { - if let Ok(r) = r { - let s = r.as_struct()?; + if let Ok(s) = r { assert_eq!(s.name(), "MacTableEntry"); let port = s["port"].as_base().unwrap().as_u16().unwrap(); let mut mac = [0; 6]; @@ -996,7 +935,7 @@ fn monorail_reset_counters( port: u8, ) -> Result<()> { let op = hubris.get_idol_command("Monorail.reset_port_counters")?; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( hubris, core, context, @@ -1005,7 +944,7 @@ fn monorail_reset_counters( None, None, )?; - value.map(|_| ()).map_err(|err| anyhow!("Got error {err}")) + Ok(()) } fn monorail_counters( @@ -1015,7 +954,7 @@ fn monorail_counters( port: u8, ) -> Result<()> { let op = hubris.get_idol_command("Monorail.get_port_counters")?; - let value = humility_hiffy::hiffy_call( + let s = humility_hiffy::hiffy_call::( hubris, core, context, @@ -1024,51 +963,63 @@ fn monorail_counters( None, None, )?; - let decode_count = |s: &Value| match s { - Value::Struct(s) => { - let mc = match &s["multicast"] { - Value::Base(Base::U32(v)) => *v, - v => panic!("Expected U32, got {:?}", v), - }; - let uc = match &s["unicast"] { - Value::Base(Base::U32(v)) => *v, - v => panic!("Expected U32, got {:?}", v), - }; - let bc = match &s["broadcast"] { - Value::Base(Base::U32(v)) => *v, - v => panic!("Expected U32, got {:?}", v), - }; - (mc, uc, bc) - } - s => panic!("Expected Struct, got {:?}", s), + let decode_count = |s: &humility::reflect::Value| -> (u32, u32, u32) { + let mc = s.field("multicast").unwrap(); + let uc = s.field("unicast").unwrap(); + let bc = s.field("broadcast").unwrap(); + (mc, uc, bc) }; - match value { - Ok(v) => { - let s = v.as_struct()?; - let (rx_mc, rx_uc, rx_bc) = decode_count(&s["rx"]); - let (tx_mc, tx_uc, tx_bc) = decode_count(&s["tx"]); - println!("{} (port {port})", "Packet counters:".bold()); - println!(" Receive:"); - println!(" Unicast: {rx_uc}"); - println!(" Multicast: {rx_mc}"); - println!(" Broadcast: {rx_bc}"); - println!(" Transmit:"); - println!(" Unicast: {tx_uc}"); - println!(" Multicast: {tx_mc}"); - println!(" Broadcast: {tx_bc}"); - } - Err(e) => { - println!("Got error: {e}"); - } - } + let (rx_mc, rx_uc, rx_bc) = decode_count(&s["rx"]); + let (tx_mc, tx_uc, tx_bc) = decode_count(&s["tx"]); + println!("{} (port {port})", "Packet counters:".bold()); + println!(" Receive:"); + println!(" Unicast: {rx_uc}"); + println!(" Multicast: {rx_mc}"); + println!(" Broadcast: {rx_bc}"); + println!(" Transmit:"); + println!(" Unicast: {tx_uc}"); + println!(" Multicast: {tx_mc}"); + println!(" Broadcast: {tx_bc}"); Ok(()) } fn monorail(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_mut().unwrap(); let subargs = MonorailArgs::try_parse_from(&context.cli.cmd)?; + + // Early exit for subcommands which don't require an archive or Core + match &subargs.cmd { + Command::Info { reg, value } => { + let reg = parse_reg_or_addr(reg)?; + println!("Register {reg}"); + println!("Register address: {:#x}", reg.address()); + + if let Some(v) = value { + println!("Register value: {:#x}", v); + pretty_print_fields(*v, reg.fields(), 0); + } else { + println!(" bits | field"); + for (f, field) in reg.fields() { + let range = if field.hi > field.lo + 1 { + format!(" {}:{}", field.hi - 1, field.lo) + } else { + format!("{}", field.lo) + }; + println!(" {range:>5} | {f}"); + } + } + return Ok(()); + } + Command::Phy { cmd: PhyCommand::Info { reg } } => { + let reg: PhyRegister = reg.parse()?; + println!("PHY register: {reg}"); + return Ok(()); + } + _ => (), + } + + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; match subargs.cmd { Command::Info { .. } => panic!("Called monorail with info subcommand"), @@ -1146,78 +1097,10 @@ fn monorail(context: &mut ExecutionContext) -> Result<()> { Ok(()) } -fn monorail_get_info(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); - assert!(!hubris.loaded()); - let subargs = MonorailArgs::try_parse_from(&context.cli.cmd)?; - match subargs.cmd { - Command::Info { reg, value } => { - let reg = parse_reg_or_addr(®)?; - println!("Register {reg}"); - println!("Register address: {:#x}", reg.address()); - - if let Some(v) = value { - println!("Register value: {:#x}", v); - pretty_print_fields(v, reg.fields(), 0); - } else { - println!(" bits | field"); - for (f, field) in reg.fields() { - let range = if field.hi > field.lo + 1 { - format!(" {}:{}", field.hi - 1, field.lo) - } else { - format!("{}", field.lo) - }; - println!(" {range:>5} | {f}"); - } - } - } - Command::Phy { cmd: PhyCommand::Info { reg } } => { - let reg: PhyRegister = reg.parse()?; - println!("PHY register: {reg}"); - } - _ => panic!("Called monorail_get_info without info subcommand"), - } - Ok(()) -} - pub fn init() -> humility_cmd::Command { - // We do a bonus parse of the command-line arguments here to see if we're - // doing a `monorail info` subcommand, which doesn't require a Hubris image - // or attached device; skipping those steps improves runtime (especially - // in debug builds) - - let subcmd_attached = humility_cmd::Command { + humility_cmd::Command { app: MonorailArgs::command(), name: "monorail", run: monorail, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - }; - - let subcmd_unattached = humility_cmd::Command { - app: MonorailArgs::command(), - name: "monorail", - run: monorail_get_info, - kind: CommandKind::Unattached { archive: Archive::Ignored }, - }; - - // If there's a `monorail` subcommand, then attempt to parse the subcmd - let mut args = std::env::args().skip_while(|a| a != "monorail").peekable(); - if args.peek().is_some() { - if let Ok(args) = MonorailArgs::try_parse_from(args) { - if !args.requires_target() { - return subcmd_unattached; - } - } else { - // If the argument parse failed, then return the faster subcommand - // so that we don't have to attach to a device then fail parsing - // again. - return subcmd_unattached; - } } - - subcmd_attached } diff --git a/cmd/mwocp/src/lib.rs b/cmd/mwocp/src/lib.rs index d6a2f5abb..d46c835b2 100644 --- a/cmd/mwocp/src/lib.rs +++ b/cmd/mwocp/src/lib.rs @@ -35,7 +35,7 @@ use humility::hubris::*; use humility::msg; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_i2c::I2cArgs; @@ -117,11 +117,9 @@ const MWOCP68_CHECKSUM_DELAY: u64 = 2; const MWOCP68_REBOOT_DELAY: u64 = 5; fn mwocp(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_mut().unwrap(); - - let core = &mut **context.core.as_mut().unwrap(); - let subargs = MwocpArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; @@ -579,14 +577,5 @@ fn mwocp(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: MwocpArgs::command(), - name: "mwocp", - run: mwocp, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: MwocpArgs::command(), name: "mwocp", run: mwocp } } diff --git a/cmd/net/src/lib.rs b/cmd/net/src/lib.rs index 690ca1c23..f907806dd 100644 --- a/cmd/net/src/lib.rs +++ b/cmd/net/src/lib.rs @@ -39,13 +39,15 @@ //! VSC8552; this is indicated with `--` in the relevant table positions. use std::collections::BTreeMap; -use anyhow::{Result, bail}; +use anyhow::Result; use clap::{CommandFactory, Parser}; use colored::Colorize; +use humility::core::Core; +use humility::hubris::HubrisArchive; use humility::reflect::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::HiffyContext; use humility_idol::HubrisIdol; @@ -87,17 +89,14 @@ struct NetArgs { cmd: NetCommand, } -fn net_ip(context: &mut ExecutionContext) -> Result<()> { - let subargs = NetArgs::try_parse_from(&context.cli.cmd)?; - - let hubris = context.archive.as_ref().unwrap(); - let core = &mut **context.core.as_mut().unwrap(); - - let mut hiffy_context = HiffyContext::new(hubris, core, subargs.timeout)?; - +fn net_ip( + hubris: &HubrisArchive, + core: &mut dyn Core, + mut hiffy_context: HiffyContext, +) -> Result<()> { let op = hubris.get_idol_command("Net.get_mac_address")?; - let value = humility_hiffy::hiffy_call( + let v = humility_hiffy::hiffy_call::( hubris, core, &mut hiffy_context, @@ -106,16 +105,8 @@ fn net_ip(context: &mut ExecutionContext) -> Result<()> { None, None, )?; - let v = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {e}"), - }; - let v = v.as_tuple()?; assert_eq!(v.name(), "MacAddress"); - let mut mac = [0; 6]; - for (i, byte) in v[0].as_array()?.iter().enumerate() { - mac[i] = byte.as_base()?.as_u8().unwrap(); - } + let mac = v.field::<[u8; 6]>(0)?; print!("{}: ", "MAC address".bold()); for (i, byte) in mac.iter().enumerate() { if i > 0 { @@ -146,20 +137,17 @@ pub fn mac_to_ip6(mac: [u8; 6]) -> String { out } -fn net_mac_table(context: &mut ExecutionContext) -> Result<()> { - let subargs = NetArgs::try_parse_from(&context.cli.cmd)?; - - let hubris = context.archive.as_ref().unwrap(); - let core = &mut **context.core.as_mut().unwrap(); - - let mut hiffy_context = HiffyContext::new(hubris, core, subargs.timeout)?; - +fn net_mac_table( + hubris: &HubrisArchive, + core: &mut dyn Core, + mut hiffy_context: HiffyContext, +) -> Result<()> { let op_mac_count = hubris.get_idol_command("Net.read_ksz8463_mac_count")?; // We need to make two HIF calls: // - Read the number of entries in the MAC table // - Loop over the table that many times, reading entries - let value = humility_hiffy::hiffy_call( + let mac_count = humility_hiffy::hiffy_call::( hubris, core, &mut hiffy_context, @@ -168,18 +156,6 @@ fn net_mac_table(context: &mut ExecutionContext) -> Result<()> { None, None, )?; - let mac_count = match value { - Ok(v) => { - if let Value::Base(Base::U32(v)) = v { - v - } else { - bail!("Got bad reflected value: expected U32, got {v:?}"); - } - } - Err(e) => { - bail!("Got error: {e}"); - } - }; // Due to HIF limitations (lack of Expand16 / Collect16), we're going to // limit ourselves to 255 MAC table entries. @@ -223,19 +199,19 @@ fn net_mac_table(context: &mut ExecutionContext) -> Result<()> { let results = hiffy_context.run(core, ops.as_slice(), None)?; let results = results .into_iter() - .map(move |r| humility_hiffy::hiffy_decode(hubris, &op, r)) + .map(move |r| { + humility_hiffy::hiffy_decode::( + hubris, &op, r, + ) + }) .collect::>>>()?; let mut mac_table: BTreeMap> = BTreeMap::new(); for r in results { - if let Ok(r) = r { - let s = r.as_struct()?; + if let Ok(s) = r { assert_eq!(s.name(), "KszMacTableEntry"); - let port = s["port"].as_base().unwrap().as_u16().unwrap(); - let mut mac = [0; 6]; - for (i, m) in s["mac"].as_array().unwrap().iter().enumerate() { - mac[i] = m.as_base().unwrap().as_u8().unwrap() - } + let port = s.field::("port").unwrap(); + let mac = s.field::<[u8; 6]>("mac")?; if mac == [0; 6] && port == 0xFFFF { humility::msg!("Skipping empty MAC address"); } else { @@ -271,17 +247,14 @@ fn net_mac_table(context: &mut ExecutionContext) -> Result<()> { Ok(()) } -fn net_status(context: &mut ExecutionContext) -> Result<()> { - let subargs = NetArgs::try_parse_from(&context.cli.cmd)?; - - let hubris = context.archive.as_ref().unwrap(); - let core = &mut **context.core.as_mut().unwrap(); - - let mut hiffy_context = HiffyContext::new(hubris, core, subargs.timeout)?; - +fn net_status( + hubris: &HubrisArchive, + core: &mut dyn Core, + mut hiffy_context: HiffyContext, +) -> Result<()> { let op = hubris.get_idol_command("Net.management_link_status")?; - let value = humility_hiffy::hiffy_call( + let s = humility_hiffy::hiffy_call::( hubris, core, &mut hiffy_context, @@ -290,23 +263,11 @@ fn net_status(context: &mut ExecutionContext) -> Result<()> { None, None, )?; - let v = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {e}"), - }; - let s = v.as_struct()?; assert_eq!(s.name(), "ManagementLinkStatus"); - let to_bool_vec = |name| -> Result> { - Ok(s[name] - .as_array()? - .iter() - .map(|i| i.as_base().unwrap().as_bool().unwrap()) - .collect()) - }; - let ksz_100base_fx = to_bool_vec("ksz8463_100base_fx_link_up")?; - let vsc_100base_fx = to_bool_vec("vsc85x2_100base_fx_link_up")?; - let vsc_sgmii = to_bool_vec("vsc85x2_sgmii_link_up")?; + let ksz_100base_fx: Vec = s.field("ksz8463_100base_fx_link_up")?; + let vsc_100base_fx: Vec = s.field("vsc85x2_100base_fx_link_up")?; + let vsc_sgmii: Vec = s.field("vsc85x2_sgmii_link_up")?; let up_down = |b| { if b { " UP ".green() } else { "DOWN".red() } @@ -349,20 +310,15 @@ fn net_status(context: &mut ExecutionContext) -> Result<()> { } fn net_counters( - context: &mut ExecutionContext, + hubris: &HubrisArchive, + core: &mut dyn Core, + mut hiffy_context: HiffyContext, table: bool, diagram: bool, ) -> Result<()> { - let subargs = NetArgs::try_parse_from(&context.cli.cmd)?; - - let hubris = context.archive.as_ref().unwrap(); - let core = &mut **context.core.as_mut().unwrap(); - - let mut hiffy_context = HiffyContext::new(hubris, core, subargs.timeout)?; - let op = hubris.get_idol_command("Net.management_counters")?; - let value = humility_hiffy::hiffy_call( + let s = humility_hiffy::hiffy_call::( hubris, core, &mut hiffy_context, @@ -371,33 +327,28 @@ fn net_counters( None, None, )?; - let v = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {e}"), - }; - let s = v.as_struct()?; assert_eq!(s.name(), "ManagementCounters"); if !table && !diagram { - net_counters_table(s)?; + net_counters_table(&s)?; println!(); - net_counters_diagram(s)?; + net_counters_diagram(&s)?; } else { if table { - net_counters_table(s)?; + net_counters_table(&s)?; } if diagram { - net_counters_diagram(s)?; + net_counters_diagram(&s)?; } } Ok(()) } fn net_counters_table(s: &Struct) -> Result<()> { - let k_tx = s["ksz8463_tx"].as_array()?; - let k_rx = s["ksz8463_rx"].as_array()?; + let k_tx = s.field::<[_; 3]>("ksz8463_tx")?; + let k_rx = s.field::<[_; 3]>("ksz8463_rx")?; let value = |k: &Struct, s: &str| { - let k = k[s].as_base().unwrap().as_u32().unwrap(); + let k: u32 = k.field(s).unwrap(); let out = format!("{:>6}", k); if k > 0 { if s.contains("ERR") { out.red() } else { out.green() } @@ -419,8 +370,8 @@ fn net_counters_table(s: &Struct) -> Result<()> { " |-----------|--------|--------|--------|--------|--------|--------|" ); for i in 0..3 { - let k_tx = k_tx[i].as_struct()?; - let k_rx = k_rx[i].as_struct()?; + let k_tx = &k_tx[i]; + let k_rx = &k_rx[i]; println!( " | Port {} | {} | {} | {} | {} | {} | {} |", i + 1, @@ -438,12 +389,12 @@ fn net_counters_table(s: &Struct) -> Result<()> { println!(); - let v_tx = s["vsc85x2_tx"].as_array()?; - let v_rx = s["vsc85x2_rx"].as_array()?; - let v_mac_valid = s["vsc85x2_mac_valid"].as_base()?.as_bool().unwrap(); + let v_tx = s.field::<[_; 2]>("vsc85x2_tx")?; + let v_rx = s.field::<[_; 2]>("vsc85x2_rx")?; + let v_mac_valid = s.field::("vsc85x2_mac_valid")?; let value = |v: &Struct, s: &str| { - let v = v[s].as_base().unwrap().as_u16().unwrap(); + let v = v.field::(s).unwrap(); let out = format!("{:>6}", v); if v > 0 { if s.contains("good") { out.green() } else { out.red() } @@ -459,8 +410,8 @@ fn net_counters_table(s: &Struct) -> Result<()> { println!(" | | Good | Bad | Good | Bad |"); println!(" |-----------------------------------------------------|"); for i in 0..2 { - let v_tx = v_tx[i].as_struct()?; - let v_rx = v_rx[i].as_struct()?; + let v_tx = &v_tx[i]; + let v_rx = &v_rx[i]; if v_mac_valid { println!( " | Port {} | MAC | {} | {} | {} | {} |", @@ -491,33 +442,33 @@ fn net_counters_table(s: &Struct) -> Result<()> { } fn net_counters_diagram(s: &Struct) -> Result<()> { - let k_tx = s["ksz8463_tx"].as_array()?; - let k_rx = s["ksz8463_rx"].as_array()?; - let value = |k: &Struct, s: &str| k[s].as_base().unwrap().as_u32().unwrap(); + let k_tx = s.field::<[_; 3]>("ksz8463_tx")?; + let k_rx = s.field::<[_; 3]>("ksz8463_rx")?; + let value = |k: &Struct, s: &str| k.field::(s).unwrap(); let mut ksz_tx = [0; 3]; let mut ksz_rx = [0; 3]; for port in 0..3 { - let k_tx = k_tx[port].as_struct()?; - let k_rx = k_rx[port].as_struct()?; + let k_tx = &k_tx[port]; + let k_rx = &k_rx[port]; for t in ["unicast", "broadcast", "multicast"] { ksz_tx[port] += value(k_tx, t); ksz_rx[port] += value(k_rx, t); } } - let v_tx = s["vsc85x2_tx"].as_array()?; - let v_rx = s["vsc85x2_rx"].as_array()?; - let v_mac_valid = s["vsc85x2_mac_valid"].as_base()?.as_bool().unwrap(); - let value = |v: &Struct, s: &str| v[s].as_base().unwrap().as_u16().unwrap(); + let v_tx = s.field::<[_; 3]>("vsc85x2_tx")?; + let v_rx = s.field::<[_; 3]>("vsc85x2_rx")?; + let v_mac_valid = s.field::("vsc85x2_mac_valid")?; + let value = |v: &Struct, s: &str| v.field::(s).unwrap(); let mut v_mac_tx = [0; 2]; let mut v_mac_rx = [0; 2]; let mut v_media_tx = [0; 2]; let mut v_media_rx = [0; 2]; for port in 0..2 { - let v_tx = v_tx[port].as_struct()?; - let v_rx = v_rx[port].as_struct()?; + let v_tx = &v_tx[port]; + let v_rx = &v_rx[port]; if v_mac_valid { v_mac_tx[port] = value(v_tx, "mac_good"); v_mac_rx[port] = value(v_rx, "mac_good"); @@ -576,26 +527,21 @@ fn net_counters_diagram(s: &Struct) -> Result<()> { fn net(context: &mut ExecutionContext) -> Result<()> { let subargs = NetArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; + let hiffy_context = HiffyContext::new(hubris, core, subargs.timeout)?; + match subargs.cmd { - NetCommand::Mac => net_mac_table(context)?, - NetCommand::Ip => net_ip(context)?, - NetCommand::Status => net_status(context)?, + NetCommand::Mac => net_mac_table(hubris, core, hiffy_context)?, + NetCommand::Ip => net_ip(hubris, core, hiffy_context)?, + NetCommand::Status => net_status(hubris, core, hiffy_context)?, NetCommand::Counters { table, diagram } => { - net_counters(context, table, diagram)? + net_counters(hubris, core, hiffy_context, table, diagram)? } } Ok(()) } pub fn init() -> Command { - Command { - app: NetArgs::command(), - name: "net", - run: net, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: NetArgs::command(), name: "net", run: net } } diff --git a/cmd/pmbus/src/lib.rs b/cmd/pmbus/src/lib.rs index ddf79dd72..7145b1401 100644 --- a/cmd/pmbus/src/lib.rs +++ b/cmd/pmbus/src/lib.rs @@ -191,7 +191,7 @@ use colored::Colorize; use humility::hubris::*; use humility::{core::Core, warn}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_i2c::I2cArgs; use humility_idol::{HubrisIdol, IdolArgument, IdolOperation}; @@ -1903,8 +1903,8 @@ impl PmbusWorker for IdolWorker<'_> { #[allow(clippy::print_literal)] fn pmbus(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); let subargs = PmbusArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; if subargs.list { println!( @@ -1939,11 +1939,7 @@ fn pmbus(context: &mut ExecutionContext) -> Result<()> { return Ok(()); } - let core = &mut **context.core.as_mut().unwrap(); - - if core.is_dump() { - bail!("can only list PMBus devices on a dump"); - } + let core = &mut *context.cli.attach_live_booted(hubris)?; let timeout = subargs.timeout; @@ -2247,14 +2243,5 @@ fn pmbus_main( } pub fn init() -> Command { - Command { - app: PmbusArgs::command(), - name: "pmbus", - run: pmbus, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: PmbusArgs::command(), name: "pmbus", run: pmbus } } diff --git a/cmd/power/src/lib.rs b/cmd/power/src/lib.rs index 3716860bc..95d34a3cc 100644 --- a/cmd/power/src/lib.rs +++ b/cmd/power/src/lib.rs @@ -21,8 +21,7 @@ use hif::*; use humility::core::Core; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_idol::{self as idol, HubrisIdol}; use std::collections::{BTreeMap, HashSet}; @@ -117,10 +116,9 @@ fn phase_currents( } fn power(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = PowerArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; let mut ops = vec![]; @@ -310,14 +308,5 @@ fn power(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: PowerArgs::command(), - name: "power", - run: power, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: PowerArgs::command(), name: "power", run: power } } diff --git a/cmd/powershelf/src/lib.rs b/cmd/powershelf/src/lib.rs index 645377716..da1854995 100644 --- a/cmd/powershelf/src/lib.rs +++ b/cmd/powershelf/src/lib.rs @@ -19,8 +19,7 @@ use hif::*; use humility::hubris::HubrisArchive; use humility::hubris::HubrisEnum; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_idol::{self as idol, HubrisIdol}; @@ -131,10 +130,9 @@ fn interpret_raw_variant(variant: &str, payload: &[u8]) { } fn powershelf_run(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = PowershelfArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let operation = lookup_operation_enum(hubris)?; @@ -216,10 +214,5 @@ pub fn init() -> Command { app: PowershelfArgs::command(), name: "powershelf", run: powershelf_run, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, } } diff --git a/cmd/probe/Cargo.toml b/cmd/probe/Cargo.toml index be470da84..f1ceb92d7 100644 --- a/cmd/probe/Cargo.toml +++ b/cmd/probe/Cargo.toml @@ -11,6 +11,6 @@ num-traits.workspace = true humility.workspace = true humility-arch-arm.workspace = true -humility-cortex.workspace = true -humility-cmd.workspace = true humility-cli.workspace = true +humility-cmd.workspace = true +humility-cortex.workspace = true diff --git a/cmd/probe/src/lib.rs b/cmd/probe/src/lib.rs index 9b420789b..089fdfd6e 100644 --- a/cmd/probe/src/lib.rs +++ b/cmd/probe/src/lib.rs @@ -91,8 +91,7 @@ use clap::{CommandFactory, Parser}; use humility::hubris::HubrisValidate; use humility_arch_arm::ARMRegister; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_cortex::debug::*; use humility_cortex::scs::*; @@ -106,9 +105,9 @@ struct ProbeArgs { #[rustfmt::skip::macros(format)] fn probecmd(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); let subargs = ProbeArgs::try_parse_from(&context.cli.cmd)?; + let hubris = context.cli.try_archive()?; + let core = &mut *context.cli.attach_probe(hubris.as_ref())?; use num_traits::FromPrimitive; let mut status = vec![]; @@ -316,28 +315,24 @@ fn probecmd(context: &mut ExecutionContext) -> Result<()> { core.halt()?; } - let regions = match hubris.validate(core, HubrisValidate::ArchiveMatch) { - Ok(_) => { - // - // We want to eat any error here: if we fail to load regions on - // a validated archive, it's because we weren't in fact provided - // an archive at all. (Unlike for many commands, the archive is - // optional for "humility probe".) - // - hubris.regions(core).unwrap_or_default() - } - Err(err) => { - // - // If the archive doesn't match, we'll drive on -- but we will - // indicate that we can't interpret registers correctly. - // - humility::warn!( - "archive mismatch: {}; register contents will \ - not be displayed symbolically", - err - ); - Default::default() + let regions = if let Some(hubris) = &hubris { + match hubris.validate(core, HubrisValidate::ArchiveMatch) { + Ok(_) => hubris.regions(core).unwrap(), + Err(err) => { + // + // If the archive doesn't match, we'll drive on -- but we will + // indicate that we can't interpret registers correctly. + // + humility::warn!( + "archive mismatch: {}; register contents will \ + not be displayed symbolically", + err + ); + Default::default() + } } + } else { + Default::default() }; for i in 0..31 { @@ -355,7 +350,7 @@ fn probecmd(context: &mut ExecutionContext) -> Result<()> { format!("{:?}", reg), format!("{:x}", val), if reg.is_general_purpose() { - match hubris.explain(®ions, val) { + match hubris.as_ref().and_then(|h| h.explain(®ions, val)) { Some(explain) => format!(" <- {}", explain), None => "".to_string(), } @@ -417,14 +412,5 @@ fn probecmd(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ProbeArgs::command(), - name: "probe", - run: probecmd, - kind: CommandKind::Attached { - archive: Archive::Optional, - attach: Attach::LiveOnly, - validate: Validate::None, - }, - } + Command { app: ProbeArgs::command(), name: "probe", run: probecmd } } diff --git a/cmd/qspi/src/lib.rs b/cmd/qspi/src/lib.rs index 577d267c1..c1dceace1 100644 --- a/cmd/qspi/src/lib.rs +++ b/cmd/qspi/src/lib.rs @@ -84,7 +84,7 @@ use humility::core::Core; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use humility_idol::{HubrisIdol, IdolArgument}; use sha2::{Digest, Sha256}; @@ -482,10 +482,10 @@ fn write( } fn qspi(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = QspiArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; + let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; match subargs.slot { @@ -493,7 +493,7 @@ fn qspi(context: &mut ExecutionContext) -> Result<()> { s @ (Some(0) | Some(1)) => { let s = s.unwrap(); humility::msg!("Setting slot to {s}"); - let out = hiffy_call( + hiffy_call::<()>( hubris, core, &mut context, @@ -502,9 +502,6 @@ fn qspi(context: &mut ExecutionContext) -> Result<()> { None, None, )?; - if let Err(e) = out { - bail!("set_dev failed: {e}"); - } } _ => bail!("Bad slot setting"), } @@ -1027,7 +1024,7 @@ fn qspi(context: &mut ExecutionContext) -> Result<()> { 1 => "Flash1", _ => bail!("dev_select must be 0 or 1"), }; - let out = hiffy_call( + hiffy_call::<()>( hubris, core, &mut context, @@ -1036,11 +1033,7 @@ fn qspi(context: &mut ExecutionContext) -> Result<()> { None, None, )?; - if let Err(e) = out { - bail!("write_persistent_data failed: {e}"); - } else { - humility::msg!("write_persistent_data succeeded"); - } + humility::msg!("write_persistent_data succeeded"); return Ok(()); } else { bail!("expected an operation"); @@ -1190,14 +1183,5 @@ impl fmt::Display for DeviceIdData { } pub fn init() -> Command { - Command { - app: QspiArgs::command(), - name: "qspi", - run: qspi, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: QspiArgs::command(), name: "qspi", run: qspi } } diff --git a/cmd/readmem/src/lib.rs b/cmd/readmem/src/lib.rs index 95b69927a..0de3e903c 100644 --- a/cmd/readmem/src/lib.rs +++ b/cmd/readmem/src/lib.rs @@ -119,7 +119,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use std::convert::TryInto; use std::io::Write; use std::path::PathBuf; @@ -167,10 +167,10 @@ struct ReadmemArgs { } fn readmem(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = ReadmemArgs::try_parse_from(&context.cli.cmd)?; + let hubris = context.cli.try_archive()?; + let core = &mut *context.cli.attach_live_or_dump(hubris.as_ref(), None)?; + let max = humility::core::CORE_MAX_READSIZE; let size = if subargs.word || subargs.symbol { 4 @@ -187,14 +187,22 @@ fn readmem(context: &mut ExecutionContext) -> Result<()> { } if subargs.symbol { - hubris.validate(core, HubrisValidate::ArchiveMatch)?; + if let Some(hubris) = &hubris { + hubris.validate(core, HubrisValidate::ArchiveMatch)?; + } else { + bail!("cannot specify `--symbol` without Hubris archive"); + } } let addr = match parse_int::parse::(&subargs.address) { Ok(addr) => addr, _ => { - hubris.validate(core, HubrisValidate::ArchiveMatch)?; - hubris.lookup_peripheral(&subargs.address)? + if let Some(hubris) = &hubris { + hubris.validate(core, HubrisValidate::ArchiveMatch)?; + hubris.lookup_peripheral(&subargs.address)? + } else { + bail!("cannot look up peripheral without archive"); + } } }; @@ -224,6 +232,7 @@ fn readmem(context: &mut ExecutionContext) -> Result<()> { core.read_8(addr, &mut bytes)?; if subargs.symbol { + let hubris = hubris.as_ref().unwrap(); // checked above for offs in (0..length).step_by(size) { let slice = &bytes[offs..offs + size]; let val = u32::from_le_bytes(slice.try_into().unwrap()); @@ -260,14 +269,5 @@ fn readmem(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ReadmemArgs::command(), - name: "readmem", - run: readmem, - kind: CommandKind::Attached { - archive: Archive::Optional, - attach: Attach::Any, - validate: Validate::None, - }, - } + Command { app: ReadmemArgs::command(), name: "readmem", run: readmem } } diff --git a/cmd/readvar/src/lib.rs b/cmd/readvar/src/lib.rs index 96adf9e19..ec8050f09 100644 --- a/cmd/readvar/src/lib.rs +++ b/cmd/readvar/src/lib.rs @@ -38,10 +38,10 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; -use humility::core::Core; +use humility::core::{Core, ProbeError}; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; #[derive(Parser, Debug)] #[clap(name = "readvar", about = env!("CARGO_PKG_DESCRIPTION"))] @@ -100,10 +100,8 @@ fn readvar_dump( } fn readvar(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = ReadvarArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; if subargs.list { println!("{:18} {:<42} {:<10} SIZE", "MODULE", "VARIABLE", "ADDR"); @@ -134,6 +132,28 @@ fn readvar(context: &mut ExecutionContext) -> Result<()> { n == v || n.ends_with(&suffix) } + // Try to attach to a live system or dump, falling back to an archive core + // if that's not possible (which only lets us read flash). + let mut core = match context.cli.attach_live_or_dump_match(hubris) { + Ok(core) => core, + Err(err) => { + // Decide whether to warn the user about what happened. If we got + // `NoProbeFound` and the user wasn't trying to find a probe, then + // we're in the clear; otherwise, print a warning and continue. + if err + .downcast_ref::() + .is_none_or(|e| !matches!(e, ProbeError::NoProbeFound)) + && context.cli.probe.is_none() + { + humility::warn!( + "attaching failed, falling back to archive: {err}" + ); + } + humility::core::attach_archive(hubris)? + } + }; + let core = &mut *core; + if let Some(variable) = &subargs.variable { let m = if variable.contains("::") { match_exact } else { match_suffix }; @@ -160,14 +180,5 @@ fn readvar(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ReadvarArgs::command(), - name: "readvar", - run: readvar, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Match, - }, - } + Command { app: ReadvarArgs::command(), name: "readvar", run: readvar } } diff --git a/cmd/rebootleby/src/lib.rs b/cmd/rebootleby/src/lib.rs index 5f68a4785..b1b252213 100644 --- a/cmd/rebootleby/src/lib.rs +++ b/cmd/rebootleby/src/lib.rs @@ -15,7 +15,7 @@ use clap::{CommandFactory, Parser}; use humility::core::Core; use humility_arch_arm::ARMRegister; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use std::io::Read; use std::ops::RangeInclusive; use std::path::PathBuf; @@ -86,7 +86,7 @@ fn rebootleby(context: &mut ExecutionContext) -> Result<()> { bail!("Re-run with appropriate flag"); } - let core = &mut **context.core.as_mut().unwrap(); + let mut core = context.cli.attach_probe(None)?; let mut flash = FlashHack { core: &mut *core }; humility::msg!("Connected to core."); @@ -139,16 +139,7 @@ fn rebootleby(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: Rebootleby::command(), - name: "rebootleby", - run: rebootleby, - kind: CommandKind::Attached { - archive: Archive::Ignored, - attach: Attach::LiveOnly, - validate: Validate::None, - }, - } + Command { app: Rebootleby::command(), name: "rebootleby", run: rebootleby } } // The undocumented registers. These look remarkably similar to the diff --git a/cmd/registers/Cargo.toml b/cmd/registers/Cargo.toml index 781e8af29..addc7953c 100644 --- a/cmd/registers/Cargo.toml +++ b/cmd/registers/Cargo.toml @@ -11,7 +11,7 @@ num-traits.workspace = true humility.workspace = true humility-arch-arm.workspace = true -humility-cmd.workspace = true humility-cli.workspace = true +humility-cmd.workspace = true humility-cortex.workspace = true humility-stack.workspace = true diff --git a/cmd/registers/src/lib.rs b/cmd/registers/src/lib.rs index bc952b24c..7136086e4 100644 --- a/cmd/registers/src/lib.rs +++ b/cmd/registers/src/lib.rs @@ -134,7 +134,7 @@ use clap::{CommandFactory, Parser}; use humility::hubris::*; use humility_arch_arm::{ARMRegister, ARMRegisterField}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_cortex::debug::*; use num_traits::FromPrimitive; use std::collections::BTreeMap; @@ -233,10 +233,10 @@ fn print_reg(reg: ARMRegister, val: u32, fields: &[ARMRegisterField]) { } fn registers(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = RegistersArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.try_archive()?; + let core = &mut *context.cli.attach_live_or_dump(hubris.as_ref(), None)?; let mut regs = BTreeMap::new(); - let hubris = context.archive.as_ref().unwrap(); if subargs.fp && !core.is_dump() { let mvfr = MVFR0::read(core)?; @@ -248,20 +248,17 @@ fn registers(context: &mut ExecutionContext) -> Result<()> { core.halt()?; - let regions = match hubris.regions(core) { - Ok(regions) => regions, - Err(err) => { - // - // If we can't ascertain our memory regions, we will drive on. (If - // we were provided a dump/archive, we will also print a message to - // indicate that regions can't be loadwed.) - // - if hubris.loaded() { + let regions = if let Some(hubris) = &hubris { + match hubris.regions(core) { + Ok(regions) => regions, + Err(err) => { + // If we can't ascertain our memory regions, we will drive on. humility::msg!("failed to determine memory regions: {err}"); + BTreeMap::new() } - - BTreeMap::new() } + } else { + BTreeMap::new() }; // @@ -308,7 +305,7 @@ fn registers(context: &mut ExecutionContext) -> Result<()> { reg, val, if !reg.is_floating_point() { - match hubris.explain(®ions, val) { + match hubris.as_ref().and_then(|h| h.explain(®ions, val)) { Some(explain) => format!(" <- {}", explain), None => "".to_string(), } @@ -329,6 +326,9 @@ fn registers(context: &mut ExecutionContext) -> Result<()> { continue; }; + // `regions` is empty if there's no Hubris archive, so we can + // unwrap it here: + let hubris = hubris.as_ref().unwrap(); match hubris.stack(core, task, region.base + region.size, ®s) { Ok(stack) => printer.print(hubris, &stack), @@ -363,14 +363,5 @@ fn registers(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: RegistersArgs::command(), - name: "registers", - run: registers, - kind: CommandKind::Attached { - archive: Archive::Optional, - attach: Attach::Any, - validate: Validate::None, - }, - } + Command { app: RegistersArgs::command(), name: "registers", run: registers } } diff --git a/cmd/rencm/src/lib.rs b/cmd/rencm/src/lib.rs index dcfc79220..c824ef747 100644 --- a/cmd/rencm/src/lib.rs +++ b/cmd/rencm/src/lib.rs @@ -11,9 +11,7 @@ use humility::core::Core; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{ - Archive, Attach, Command, CommandKind, Dumper, Validate, attach, -}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use humility_i2c::I2cArgs; @@ -801,18 +799,11 @@ fn rencm(context: &mut ExecutionContext) -> Result<()> { return rencm_ingest(&subargs, modules); } - attach(context, Attach::LiveOnly, Validate::Booted, |context| { - let core = context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - rencm_attached(hubris, &mut **core, &subargs, modules) - }) + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; + rencm_attached(hubris, core, &subargs, modules) } pub fn init() -> Command { - Command { - app: RencmArgs::command(), - name: "rencm", - run: rencm, - kind: CommandKind::Unattached { archive: Archive::Optional }, - } + Command { app: RencmArgs::command(), name: "rencm", run: rencm } } diff --git a/cmd/rendmp/src/lib.rs b/cmd/rendmp/src/lib.rs index d13b39555..89993bbed 100644 --- a/cmd/rendmp/src/lib.rs +++ b/cmd/rendmp/src/lib.rs @@ -146,7 +146,7 @@ use humility::hubris::*; use humility::reflect::{Base, Value}; use humility::warn; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_i2c::I2cArgs; use humility_idol::{HubrisIdol, IdolOperation}; @@ -1126,7 +1126,7 @@ fn rendmp_blackbox( ) -> Result<()> { let (addr, _dev) = check_addr(&subargs, hubris)?; let op = hubris.get_idol_command("Power.rendmp_blackbox_dump")?; - let value = hiffy_call( + let e = hiffy_call::( hubris, core, context, @@ -1135,47 +1135,39 @@ fn rendmp_blackbox( None, None, )?; - match value { - Ok(Value::Enum(e)) => { - let contents = e - .contents() - .ok_or_else(|| anyhow!("missing contents in blackbox enum"))?; - let Value::Tuple(c) = contents else { - bail!("missing tuple in blackbox enum"); - }; - let Value::Array(a) = &c[0] else { - bail!("missing array in blackbox enum"); - }; - let mut data = vec![]; - for word in a.iter() { - let Value::Base(Base::U32(b)) = word else { - bail!("unexpected type in array: {word:?}"); - }; - data.extend(b.as_bytes()); - } - match e.disc() { - "Gen2p5" => println!( - "{}", - blackbox::BlackboxRamGen2p5::read_from_bytes( - data.as_slice() - ) - .map_err(|e| anyhow!( - "could not load blackbox from bytes: {e}" - ))?, - ), - "Gen2" => println!( - "{}", - blackbox::BlackboxRamGen2::read_from_bytes(data.as_slice()) - .map_err(|e| anyhow!( - "could not load blackbox from bytes: {e}" - ))?, - ), - v => bail!("unknown blackbox gen: {v:?}"), - }; - } - Ok(other) => bail!("unexpected value: {other:?}"), - Err(e) => bail!("got error: {e:?}"), + let contents = e + .contents() + .ok_or_else(|| anyhow!("missing contents in blackbox enum"))?; + let Value::Tuple(c) = contents else { + bail!("missing tuple in blackbox enum"); + }; + let Value::Array(a) = &c[0] else { + bail!("missing array in blackbox enum"); + }; + let mut data = vec![]; + for word in a.iter() { + let Value::Base(Base::U32(b)) = word else { + bail!("unexpected type in array: {word:?}"); + }; + data.extend(b.as_bytes()); } + match e.disc() { + "Gen2p5" => println!( + "{}", + blackbox::BlackboxRamGen2p5::read_from_bytes(data.as_slice()) + .map_err(|e| anyhow!( + "could not load blackbox from bytes: {e}" + ))?, + ), + "Gen2" => println!( + "{}", + blackbox::BlackboxRamGen2::read_from_bytes(data.as_slice()) + .map_err(|e| anyhow!( + "could not load blackbox from bytes: {e}" + ))?, + ), + v => bail!("unknown blackbox gen: {v:?}"), + }; Ok(()) } @@ -1625,41 +1617,36 @@ impl<'a, 'b> HifWorker<'a, 'b> { Call::WriteByte => &self.write_byte, Call::WriteWord32 => &self.write_word32, }; - let v = hiffy_decode(self.hubris, op, value) + let v = hiffy_decode::(self.hubris, op, value) .context("failed to decode {op:?} result")?; match v { - Ok(v) => { - let v = v.as_base().context("expected Base, got {v:?}")?; - match (v, call) { - (Base::U32(v), Call::ReadDma(..)) => { - out.push(Ok(Call::ReadDma(*v))) - } - (Base::U8(v), Call::ReadByte(..)) => { - out.push(Ok(Call::ReadByte(*v))) - } - (Base::U16(v), Call::ReadWord(..)) => { - out.push(Ok(Call::ReadWord(*v))) - } - (Base::U32(v), Call::ReadWord32(..)) => { - out.push(Ok(Call::ReadWord32(*v))) - } - (Base::U0, Call::WriteDma) => { - out.push(Ok(Call::WriteDma)) - } - (Base::U0, Call::WriteWord) => { - out.push(Ok(Call::WriteWord)) - } - (Base::U0, Call::WriteByte) => { - out.push(Ok(Call::WriteByte)) - } - (Base::U0, Call::WriteWord32) => { - out.push(Ok(Call::WriteWord32)) - } - (base, op) => { - bail!("got unexpected result {base} for {op:?}") - } + Ok(v) => match (v, call) { + (Base::U32(v), Call::ReadDma(..)) => { + out.push(Ok(Call::ReadDma(v))) } - } + (Base::U8(v), Call::ReadByte(..)) => { + out.push(Ok(Call::ReadByte(v))) + } + (Base::U16(v), Call::ReadWord(..)) => { + out.push(Ok(Call::ReadWord(v))) + } + (Base::U32(v), Call::ReadWord32(..)) => { + out.push(Ok(Call::ReadWord32(v))) + } + (Base::U0, Call::WriteDma) => out.push(Ok(Call::WriteDma)), + (Base::U0, Call::WriteWord) => { + out.push(Ok(Call::WriteWord)) + } + (Base::U0, Call::WriteByte) => { + out.push(Ok(Call::WriteByte)) + } + (Base::U0, Call::WriteWord32) => { + out.push(Ok(Call::WriteWord32)) + } + (base, op) => { + bail!("got unexpected result {base} for {op:?}") + } + }, Err(e) => out.push(Err(e)), } } @@ -1679,12 +1666,15 @@ fn rendmp_phase_check<'a>( .get_idol_command("Sequencer.tofino_seq_state") .or_else(|_| hubris.get_idol_command("Sequencer.get_state")) .context("could not get power state HIF operation")?; - let r = - hiffy_call(hubris, core, context, &power_state_op, &[], None, None)?; - if let Err(e) = r { - bail!("power state check got an error: {e}"); - } - if hiffy_format_result(hubris, r) != "A2" { + let r = hiffy_call(hubris, core, context, &power_state_op, &[], None, None); + let v = match r { + Ok(r) => Ok(r), + Err(HiffyCallError::Hiffy(s)) => Err(s), + Err(HiffyCallError::Other(e)) => { + return Err(e.context("power state check")); + } + }; + if hiffy_format_result(hubris, v) != "A2" { bail!("must be in A2 when checking phases"); } @@ -2307,11 +2297,9 @@ fn restore_default_config<'a>( } fn rendmp(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_mut().unwrap(); - - let core = &mut **context.core.as_mut().unwrap(); - let subargs = RendmpArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; // Workaround for clap#4707 if subargs.flash.is_none() { @@ -2898,14 +2886,5 @@ fn rendmp(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: RendmpArgs::command(), - name: "rendmp", - run: rendmp, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: RendmpArgs::command(), name: "rendmp", run: rendmp } } diff --git a/cmd/reset/src/lib.rs b/cmd/reset/src/lib.rs index 14104cf06..6484b59c4 100644 --- a/cmd/reset/src/lib.rs +++ b/cmd/reset/src/lib.rs @@ -10,7 +10,7 @@ use anyhow::Result; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; #[derive(Parser, Debug)] #[clap(name = "reset", about = env!("CARGO_PKG_DESCRIPTION"))] @@ -28,12 +28,7 @@ struct ResetArgs { fn reset(context: &mut ExecutionContext) -> Result<()> { let subargs = ResetArgs::try_parse_from(&context.cli.cmd)?; - - // `context.archive` is always `Some(..)` even if we have not specified - // anything on the command line or through environment flags. However, if no - // archive is specified, then the actual data in the archive is default - // constructed (??!). - let chip = context.archive.as_mut().unwrap().chip(); + let hubris = context.cli.try_archive()?; let probe = match &context.cli.probe { Some(p) => p, @@ -52,27 +47,27 @@ fn reset(context: &mut ExecutionContext) -> Result<()> { match subargs.use_token { None => { // Detect bogus archives by looking at the chip member - if let Some(archive) = &context.archive - && chip.is_some() - && archive.wants_reset_handoff_token() + if let Some(hubris) = &hubris + && hubris.chip().is_some() + && hubris.wants_reset_handoff_token() { - Behavior::ResetWithHandoff(archive) + Behavior::ResetWithHandoff(hubris) } else { Behavior::Reset } } Some(false) => Behavior::Reset, Some(true) => { - if let Some(archive) = &context.archive - && chip.is_some() + if let Some(hubris) = &hubris + && hubris.chip().is_some() { - if !archive.wants_reset_handoff_token() { + if !hubris.wants_reset_handoff_token() { anyhow::bail!( "--use-token=true was specified, but the archive \ does not have the relevant kernel feature" ); } - Behavior::ResetWithHandoff(archive) + Behavior::ResetWithHandoff(hubris) } else { anyhow::bail!( "Need a Hubris archive to use measurement token handoff" @@ -85,7 +80,7 @@ fn reset(context: &mut ExecutionContext) -> Result<()> { let mut c = if subargs.soft_reset || matches!(behavior, Behavior::Halt | Behavior::ResetWithHandoff(..)) { - let chip = chip.ok_or_else(|| { + let chip = hubris.as_ref().and_then(|h| h.chip()).ok_or_else(|| { anyhow::anyhow!( "Need a chip to do a soft reset, halt after reset, or handoff" ) @@ -117,10 +112,5 @@ fn reset(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ResetArgs::command(), - name: "reset", - run: reset, - kind: CommandKind::Unattached { archive: Archive::Optional }, - } + Command { app: ResetArgs::command(), name: "reset", run: reset } } diff --git a/cmd/ringbuf/Cargo.toml b/cmd/ringbuf/Cargo.toml index 435b48608..d642be769 100644 --- a/cmd/ringbuf/Cargo.toml +++ b/cmd/ringbuf/Cargo.toml @@ -1,14 +1,17 @@ [package] -name = "humility-cmd-ringbuf" +name = "humility-hacking-ringbuf" version = "0.1.0" edition.workspace = true description = "read and display a specified ring buffer" +[features] +clap = ["dep:clap", "dep:humility-cli", "dep:humility-cmd"] + [dependencies] -clap.workspace = true +#clap.workspace = true +clap = { workspace = true, optional = true } anyhow.workspace = true - +humility-cli = { workspace = true, optional = true } humility.workspace = true -humility-cmd.workspace = true -humility-cli.workspace = true +humility-cmd = { workspace = true, optional = true } humility-doppel.workspace = true diff --git a/cmd/ringbuf/src/clap.rs b/cmd/ringbuf/src/clap.rs new file mode 100644 index 000000000..85510f52a --- /dev/null +++ b/cmd/ringbuf/src/clap.rs @@ -0,0 +1,86 @@ +use clap::{CommandFactory, Parser}; +use crate::RingbufArgs as MainRingbufArgs; +use crate::TotalsOptions as MainTotalsOptions; +use humility_cli::ExecutionContext; +use humility_cmd::Command; +use anyhow::Result; + +#[derive(Parser, Debug)] +#[clap(name = "ringbuf", about = env!("CARGO_PKG_DESCRIPTION"))] +struct RingbufArgs { + /// list variables + #[clap(long, short)] + list: bool, + /// print full errors + #[clap(long, short)] + verbose: bool, + /// print integer values in decimal rather than hex + #[clap(long, short)] + decimal: bool, + /// expand de-duplicated entries + #[clap(long, short)] + expand: bool, + /// print only a single ringbuffer by substring of name + #[clap(conflicts_with = "list")] + name: Option, + #[clap(flatten)] + totals: TotalsOptions, +} +impl From for MainRingbufArgs { + fn from(args: RingbufArgs) -> Self { + Self { + list: args.list, + verbose: args.verbose, + decimal: args.decimal, + expand: args.expand, + name: args.name, + totals: args.totals.into() + } + } +} + +#[derive(Parser, Debug, Clone, Copy)] +#[clap(next_help_heading = "DISPLAYING ENTRY TOTALS")] +struct TotalsOptions { + /// when displaying totals, don't skip entry variants which have + /// not been recorded + #[clap(long, short, conflicts_with = "list")] + full_totals: bool, + /// skip displaying total counts for ringbuf entry variants + #[clap( + long, + short, + conflicts_with_all = &[ + "full_totals", + "list" + ], + )] + no_totals: bool, +} + +impl From for MainTotalsOptions { + fn from(args: TotalsOptions) -> Self { + Self { + full_totals: args.full_totals, + no_totals: args.no_totals, + } + } +} + +// this allow is meant for the header println! in the body but you cannot apply +// an attribute to a macro invoction, so we have to put it here instead. +#[allow(clippy::print_literal)] +fn ringbuf_entry(context: &mut ExecutionContext) -> Result<()> { + let subargs = RingbufArgs::try_parse_from(&context.cli.cmd)?; + + let hubris = &context.cli.archive()?; + + let core = &mut *context.cli.attach_live_or_dump_match(hubris)?; + + crate::ringbuf(&subargs.into(), hubris, core) +} + +pub fn init() -> Command { + Command { app: RingbufArgs::command(), name: "ringbuf", run: ringbuf_entry } +} + diff --git a/cmd/ringbuf/src/lib.rs b/cmd/ringbuf/src/lib.rs index 09fc1fc46..1cd21945d 100644 --- a/cmd/ringbuf/src/lib.rs +++ b/cmd/ringbuf/src/lib.rs @@ -63,53 +63,39 @@ //! documentation](https://github.com/oxidecomputer/hubris/blob/master/lib/ringbuf/src/lib.rs) for more details. use anyhow::{Result, bail}; -use clap::{CommandFactory, Parser}; +//use clap::{CommandFactory, Parser}; use humility::core::Core; use humility::hubris::*; use humility::reflect::{self, Format, Load, Value}; -use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +//use humility_cli::ExecutionContext; +//use humility_cmd::Command; use humility_doppel::{CountedRingbuf, CounterVariant, Ringbuf, StaticCell}; -#[derive(Parser, Debug)] -#[clap(name = "ringbuf", about = env!("CARGO_PKG_DESCRIPTION"))] -struct RingbufArgs { +#[cfg(feature = "clap")] +pub mod clap; + +#[derive(Debug)] +pub struct RingbufArgs { /// list variables - #[clap(long, short)] - list: bool, + pub list: bool, /// print full errors - #[clap(long, short)] - verbose: bool, + pub verbose: bool, /// print integer values in decimal rather than hex - #[clap(long, short)] - decimal: bool, + pub decimal: bool, /// expand de-duplicated entries - #[clap(long, short)] - expand: bool, + pub expand: bool, /// print only a single ringbuffer by substring of name - #[clap(conflicts_with = "list")] - name: Option, - #[clap(flatten)] - totals: TotalsOptions, + pub name: Option, + pub totals: TotalsOptions, } -#[derive(Parser, Debug, Clone, Copy)] -#[clap(next_help_heading = "DISPLAYING ENTRY TOTALS")] -struct TotalsOptions { +#[derive(Debug, Clone, Copy)] +pub struct TotalsOptions { /// when displaying totals, don't skip entry variants which have /// not been recorded - #[clap(long, short, conflicts_with = "list")] - full_totals: bool, + pub full_totals: bool, /// skip displaying total counts for ringbuf entry variants - #[clap( - long, - short, - conflicts_with_all = &[ - "full_totals", - "list" - ], - )] - no_totals: bool, + pub no_totals: bool, } fn ringbuf_dump( @@ -145,9 +131,9 @@ fn ringbuf_dump( Ringbuf::from_value(&ringbuf_val).map(|r| (Some(r), None)) }) .or_else(|_e| { - let cell: StaticCell = StaticCell::from_value(&ringbuf_val)?; - let ringbuf = Ringbuf::from_value(&cell.cell.value)?; - Ok::<_, anyhow::Error>((Some(ringbuf), None)) + let cell: StaticCell = + StaticCell::from_value(&ringbuf_val)?; + Ok::<_, anyhow::Error>((Some(cell.cell.value), None)) })?; if let (Some(mut counters), false) = (counters, no_totals) { @@ -229,15 +215,10 @@ fn taskname<'a>( Ok(&hubris.lookup_module(HubrisTask::from(variable.goff))?.name) } -// this allow is meant for the header println! in the body but you cannot apply -// an attribute to a macro invoction, so we have to put it here instead. -#[allow(clippy::print_literal)] -fn ringbuf(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - - let subargs = RingbufArgs::try_parse_from(&context.cli.cmd)?; - +fn gen_ringbufs<'a>( + hubris: &'a HubrisArchive, + name: &'a Option +) -> Result)>> { let mut ringbufs = vec![]; for v in hubris.qualified_variables() { @@ -261,7 +242,7 @@ fn ringbuf(context: &mut ExecutionContext) -> Result<()> { } }; - if let Some(ref name) = subargs.name { + if let Some(name) = name { if v.0.contains(name) || taskname(hubris, v.1)?.contains(name) { ringbufs.push((v, def)); } @@ -270,15 +251,35 @@ fn ringbuf(context: &mut ExecutionContext) -> Result<()> { } } + + ringbufs.sort_by_key(|&(v, _def)| v); + + Ok(ringbufs) +} + + + +// this allow is meant for the header println! in the body but you cannot apply +// an attribute to a macro invoction, so we have to put it here instead. +#[allow(clippy::print_literal)] + +//fn ringbuf(context: &mut ExecutionContext) -> Result<()> { +pub fn ringbuf( subargs: &RingbufArgs, + hubris: &HubrisArchive, + core: &mut dyn Core) -> Result<()> { + + //let subargs = RingbufArgs::try_parse_from(&context.cli.cmd)?; + //let hubris = &context.cli.archive()?; + + let ringbufs = gen_ringbufs(hubris, &subargs.name)?; if ringbufs.is_empty() { - if let Some(name) = subargs.name { + if let Some(name) = &subargs.name { bail!("no ring buffer name contains \"{}\" (-l to list)", name); } else { bail!("no ring buffers found"); } } - ringbufs.sort_by_key(|&(v, _def)| v); if subargs.list { println!("{:18} {:<30} {:<10} {}", "MODULE", "BUFFER", "ADDR", "SIZE"); @@ -292,6 +293,7 @@ fn ringbuf(context: &mut ExecutionContext) -> Result<()> { return Ok(()); } + //let core = &mut *context.cli.attach_live_or_dump_match(hubris)?; for (v, def) in ringbufs { // Try not to use `?` here, because it causes one bad ringbuf to make // them all unavailable. @@ -316,15 +318,3 @@ fn ringbuf(context: &mut ExecutionContext) -> Result<()> { Ok(()) } -pub fn init() -> Command { - Command { - app: RingbufArgs::command(), - name: "ringbuf", - run: ringbuf, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Match, - }, - } -} diff --git a/cmd/sbrmi/src/lib.rs b/cmd/sbrmi/src/lib.rs index 837a730fd..3aca8c42f 100644 --- a/cmd/sbrmi/src/lib.rs +++ b/cmd/sbrmi/src/lib.rs @@ -97,8 +97,7 @@ use humility::core::Core; use humility::hubris::*; use humility::reflect; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_idol::{self as idol, HubrisIdol}; use raw_cpuid::{CpuId, CpuIdResult}; @@ -519,9 +518,9 @@ fn mca( } fn sbrmi(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = SbrmiArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; if subargs.cpuid { @@ -616,14 +615,5 @@ fn sbrmi(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: SbrmiArgs::command(), - name: "sbrmi", - run: sbrmi, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: SbrmiArgs::command(), name: "sbrmi", run: sbrmi } } diff --git a/cmd/sensors/src/lib.rs b/cmd/sensors/src/lib.rs index 3f39c8b09..8438ece37 100644 --- a/cmd/sensors/src/lib.rs +++ b/cmd/sensors/src/lib.rs @@ -31,7 +31,7 @@ use humility::core::Core; use humility::hubris::*; use humility::reflect::{self, Load}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_doppel as doppel; use humility_hiffy::*; use humility_idol::{self as idol, HubrisIdol}; @@ -532,10 +532,8 @@ fn print( } fn sensors(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = SensorsArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; let types = if let Some(ref types) = subargs.types { let mut rval = HashSet::new(); @@ -624,6 +622,7 @@ fn sensors(context: &mut ExecutionContext) -> Result<()> { sensors.push((i, s.clone())); } + let core = &mut *context.cli.attach_live_or_dump_booted(hubris)?; let mut reader: Box = match subargs.backend { Some(Backend::Hiffy) => { if core.is_dump() { @@ -649,14 +648,5 @@ fn sensors(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: SensorsArgs::command(), - name: "sensors", - run: sensors, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: SensorsArgs::command(), name: "sensors", run: sensors } } diff --git a/cmd/spctrl/src/lib.rs b/cmd/spctrl/src/lib.rs index 8f06315d9..3525410b2 100644 --- a/cmd/spctrl/src/lib.rs +++ b/cmd/spctrl/src/lib.rs @@ -45,7 +45,7 @@ //! ``` use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use std::str; @@ -89,9 +89,9 @@ struct SpCtrlArgs { } fn spctrl(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = SpCtrlArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; let mut ops = vec![]; @@ -151,14 +151,5 @@ fn spctrl(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: SpCtrlArgs::command(), - name: "spctrl", - run: spctrl, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: SpCtrlArgs::command(), name: "spctrl", run: spctrl } } diff --git a/cmd/spd/src/lib.rs b/cmd/spd/src/lib.rs index b9d9921ce..707fac517 100644 --- a/cmd/spd/src/lib.rs +++ b/cmd/spd/src/lib.rs @@ -108,7 +108,7 @@ use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use humility_i2c::I2cArgs; use humility_log::msg; @@ -331,10 +331,9 @@ fn set_page( } fn spd(context: &mut ExecutionContext) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); - let core = &mut **context.core.as_mut().unwrap(); - let subargs = SpdArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_or_dump_booted(hubris)?; // If we have been given no device-related arguments, we will attempt // to find the `SPD_DATA` variable or load SPD data from packrat @@ -373,10 +372,10 @@ fn dump_ddr4_over_i2c( subargs: &SpdArgs, ) -> Result<()> { // Warn the user that we probably can't talk to DDR4s on non-Gimlet hardware - if !hubris.manifest.target.as_ref().is_some_and(|t| t.contains("gimlet")) { + if !hubris.manifest.target.contains("gimlet") { humility::warn!( "trying to talk to DDR4 SPDs on an invalid target `{}`", - hubris.manifest.target.as_deref().unwrap_or("") + hubris.manifest.target, ); }; @@ -520,14 +519,5 @@ fn dump_ddr4_over_i2c( } pub fn init() -> Command { - Command { - app: SpdArgs::command(), - name: "spd", - run: spd, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: SpdArgs::command(), name: "spd", run: spd } } diff --git a/cmd/spi/src/lib.rs b/cmd/spi/src/lib.rs index d31d44431..34ee8afe9 100644 --- a/cmd/spi/src/lib.rs +++ b/cmd/spi/src/lib.rs @@ -34,7 +34,7 @@ use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use std::convert::TryInto; @@ -171,10 +171,10 @@ pub fn spi_task( } fn spi(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = SpiArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; + let mut context = HiffyContext::new(hubris, core, subargs.timeout)?; let spi_read = context.get_function("SpiRead", 4)?; @@ -312,14 +312,5 @@ fn spi(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: SpiArgs::command(), - name: "spi", - run: spi, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: SpiArgs::command(), name: "spi", run: spi } } diff --git a/cmd/stackmargin/src/lib.rs b/cmd/stackmargin/src/lib.rs index 202fa011c..e4a346a1c 100644 --- a/cmd/stackmargin/src/lib.rs +++ b/cmd/stackmargin/src/lib.rs @@ -31,7 +31,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use std::{collections::HashSet, convert::TryInto}; #[derive(Parser, Debug)] @@ -44,9 +44,8 @@ struct StackmarginArgs { #[rustfmt::skip::macros(println, bail)] fn stackmargin(context: &mut ExecutionContext) -> Result<()> { let subargs = StackmarginArgs::try_parse_from(&context.cli.cmd)?; - - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_or_dump_booted(hubris)?; let valid_tasks = if subargs.tasks.is_empty() { None @@ -167,10 +166,5 @@ pub fn init() -> Command { app: StackmarginArgs::command(), name: "stackmargin", run: stackmargin, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, } } diff --git a/cmd/stmsecure/Cargo.toml b/cmd/stmsecure/Cargo.toml index cd956a535..14a11d9a0 100644 --- a/cmd/stmsecure/Cargo.toml +++ b/cmd/stmsecure/Cargo.toml @@ -11,5 +11,5 @@ parse_int.workspace = true humility.workspace = true humility-arch-arm.workspace = true -humility-cmd.workspace = true humility-cli.workspace = true +humility-cmd.workspace = true diff --git a/cmd/stmsecure/src/lib.rs b/cmd/stmsecure/src/lib.rs index b45594e67..d09cd072f 100644 --- a/cmd/stmsecure/src/lib.rs +++ b/cmd/stmsecure/src/lib.rs @@ -32,7 +32,7 @@ use clap::{CommandFactory, Parser}; use humility::core::Core; use humility_arch_arm::ARMRegister; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; const FLASH_OPT_KEY1: u32 = 0x0819_2A3B; const FLASH_OPT_KEY2: u32 = 0x4C5D_6E7F; @@ -295,9 +295,8 @@ fn stmsecure_swapbanks(core: &mut dyn Core) -> Result<()> { #[rustfmt::skip::macros(format)] fn stmsecure(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let subargs = StmSecureArgs::try_parse_from(&context.cli.cmd)?; + let core = &mut *context.cli.attach_probe(None)?; match subargs { StmSecureArgs::Status => stmsecure_status(core), @@ -314,14 +313,5 @@ fn stmsecure(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: StmSecureArgs::command(), - name: "stmsecure", - run: stmsecure, - kind: CommandKind::Attached { - archive: Archive::Optional, - attach: Attach::Any, - validate: Validate::None, - }, - } + Command { app: StmSecureArgs::command(), name: "stmsecure", run: stmsecure } } diff --git a/cmd/tasks/src/lib.rs b/cmd/tasks/src/lib.rs index d746c9f53..fc9db75d0 100644 --- a/cmd/tasks/src/lib.rs +++ b/cmd/tasks/src/lib.rs @@ -118,7 +118,7 @@ use humility::hubris::*; use humility::reflect::{self, Format, Load}; use humility_arch_arm::ARMRegister; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_doppel::{self as doppel, Task, TaskDesc, TaskId, TaskState}; use num_traits::FromPrimitive; use std::collections::{BTreeMap, HashMap}; @@ -184,10 +184,9 @@ fn print_regs( } fn tasks(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = TasksArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_or_dump_booted(hubris)?; print_tasks( &mut std::io::stdout(), @@ -930,14 +929,5 @@ fn explain_recv( } pub fn init() -> Command { - Command { - app: TasksArgs::command(), - name: "tasks", - run: tasks, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::Any, - validate: Validate::Booted, - }, - } + Command { app: TasksArgs::command(), name: "tasks", run: tasks } } diff --git a/cmd/test/src/lib.rs b/cmd/test/src/lib.rs index 604910c34..bf461d6f4 100644 --- a/cmd/test/src/lib.rs +++ b/cmd/test/src/lib.rs @@ -96,8 +96,7 @@ use colored::Colorize; use hif::*; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_hiffy::*; use std::fmt; use std::fs::OpenOptions; @@ -163,10 +162,9 @@ impl fmt::Display for TestResult { } fn test(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let hubris = context.archive.as_ref().unwrap(); - let subargs = TestArgs::try_parse_from(&context.cli.cmd)?; + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; hubris.validate(core, HubrisValidate::Booted)?; @@ -288,14 +286,5 @@ fn test(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: TestArgs::command(), - name: "test", - run: test, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: TestArgs::command(), name: "test", run: test } } diff --git a/cmd/tofino-eeprom/src/lib.rs b/cmd/tofino-eeprom/src/lib.rs index 27dc5f39d..45ca55856 100644 --- a/cmd/tofino-eeprom/src/lib.rs +++ b/cmd/tofino-eeprom/src/lib.rs @@ -9,12 +9,11 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; use indicatif::{ProgressBar, ProgressStyle}; use humility::core::Core; use humility::hubris::*; -use humility_cmd::{Archive, Attach, Command, Validate}; +use humility_cmd::Command; use humility_hiffy::HiffyContext; use humility_idol::{HubrisIdol, IdolArgument}; @@ -86,7 +85,7 @@ impl<'a> EepromHandler<'a> { bar.set_length(out.len() as u64); for (i, chunk) in out.chunks_mut(READ_CHUNK_SIZE).enumerate() { let offset = i * READ_CHUNK_SIZE; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( self.hubris, self.core, &mut self.context, @@ -95,9 +94,6 @@ impl<'a> EepromHandler<'a> { None, Some(chunk), )?; - if let Err(e) = value { - bail!("Got Hubris error: {:?}", e); - } bar.set_position(offset as u64); } bar.finish_and_clear(); @@ -124,7 +120,7 @@ impl<'a> EepromHandler<'a> { bar.set_length(data.len() as u64); for (i, chunk) in data.chunks(WRITE_CHUNK_SIZE).enumerate() { let offset = i * WRITE_CHUNK_SIZE; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( self.hubris, self.core, &mut self.context, @@ -133,9 +129,6 @@ impl<'a> EepromHandler<'a> { Some(chunk), None, )?; - if let Err(e) = value { - bail!("Got Hubris error: {:?}", e); - } bar.set_position(offset as u64); } bar.set_position(data.len() as u64); @@ -147,9 +140,9 @@ impl<'a> EepromHandler<'a> { //////////////////////////////////////////////////////////////////////////////// fn eeprom(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = EepromArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let mut worker = EepromHandler::new(hubris, core, subargs.timeout)?; match subargs.cmd { @@ -166,14 +159,5 @@ fn eeprom(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: EepromArgs::command(), - name: "tofino-eeprom", - run: eeprom, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: EepromArgs::command(), name: "tofino-eeprom", run: eeprom } } diff --git a/cmd/validate/src/lib.rs b/cmd/validate/src/lib.rs index 9d352c8d8..5aeefc3df 100644 --- a/cmd/validate/src/lib.rs +++ b/cmd/validate/src/lib.rs @@ -48,7 +48,7 @@ use colored::Colorize; use hif::*; use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; use humility_hiffy::{HiffyContext, IpcError}; use humility_i2c::I2cArgs; use humility_idol::{self as idol, HubrisIdol}; @@ -132,9 +132,9 @@ fn list(hubris: &HubrisArchive, hargs: &Option) -> Result<()> { Ok(()) } fn validate(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = ValidateArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; let hargs = if subargs.bus.is_some() || subargs.controller.is_some() { Some(I2cArgs::parse( @@ -273,14 +273,5 @@ fn validate(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: ValidateArgs::command(), - name: "validate", - run: validate, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: ValidateArgs::command(), name: "validate", run: validate } } diff --git a/cmd/vpd/src/lib.rs b/cmd/vpd/src/lib.rs index 47bd7a660..101386f41 100644 --- a/cmd/vpd/src/lib.rs +++ b/cmd/vpd/src/lib.rs @@ -109,8 +109,7 @@ use humility::core::Core; use humility::hubris::*; use humility::reflect; use humility_cli::ExecutionContext; -use humility_cmd::CommandKind; -use humility_cmd::{Archive, Attach, Command, Dumper, Validate}; +use humility_cmd::{Command, Dumper}; use humility_hiffy::*; use humility_idol::{self as idol, HubrisIdol}; use indicatif::{ProgressBar, ProgressStyle}; @@ -728,9 +727,9 @@ fn vpd_lock_all( } fn vpd(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); let subargs = VpdArgs::try_parse_from(&context.cli.cmd)?; - let hubris = context.archive.as_ref().unwrap(); + let hubris = &context.cli.archive()?; + let core = &mut *context.cli.attach_live_booted(hubris)?; if subargs.list { list(hubris, core, &subargs)?; @@ -750,14 +749,5 @@ fn vpd(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: VpdArgs::command(), - name: "vpd", - run: vpd, - kind: CommandKind::Attached { - archive: Archive::Required, - attach: Attach::LiveOnly, - validate: Validate::Booted, - }, - } + Command { app: VpdArgs::command(), name: "vpd", run: vpd } } diff --git a/cmd/writeword/Cargo.toml b/cmd/writeword/Cargo.toml index 6ae2e845d..e89f7f569 100644 --- a/cmd/writeword/Cargo.toml +++ b/cmd/writeword/Cargo.toml @@ -6,8 +6,8 @@ description = "writes one or more memory words" [dependencies] humility = { workspace = true } -humility-cmd = { workspace = true } humility-cli = { workspace = true } +humility-cmd = { workspace = true } clap = { workspace = true } anyhow = { workspace = true } parse_int = { workspace = true } diff --git a/cmd/writeword/src/lib.rs b/cmd/writeword/src/lib.rs index 12cde9bd7..a031fe945 100644 --- a/cmd/writeword/src/lib.rs +++ b/cmd/writeword/src/lib.rs @@ -50,7 +50,7 @@ use anyhow::{Result, bail}; use clap::{CommandFactory, Parser}; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Attach, Command, CommandKind, Validate}; +use humility_cmd::Command; #[derive(Parser, Debug)] #[clap(name = "writeword", about = env!("CARGO_PKG_DESCRIPTION"))] @@ -65,10 +65,9 @@ struct WritewordArgs { } fn writeword(context: &mut ExecutionContext) -> Result<()> { - let core = &mut **context.core.as_mut().unwrap(); - let subargs = WritewordArgs::try_parse_from(&context.cli.cmd)?; - + let hubris = context.cli.try_archive()?; + let core = &mut *context.cli.attach_probe(hubris.as_ref())?; if subargs.address & 0b11 != 0 { bail!("address must be word aligned"); } @@ -83,14 +82,5 @@ fn writeword(context: &mut ExecutionContext) -> Result<()> { } pub fn init() -> Command { - Command { - app: WritewordArgs::command(), - name: "writeword", - run: writeword, - kind: CommandKind::Attached { - archive: Archive::Optional, - attach: Attach::LiveOnly, - validate: Validate::None, - }, - } + Command { app: WritewordArgs::command(), name: "writeword", run: writeword } } diff --git a/humility-auxflash/src/lib.rs b/humility-auxflash/src/lib.rs index f09ca9ef3..43fe6ee05 100644 --- a/humility-auxflash/src/lib.rs +++ b/humility-auxflash/src/lib.rs @@ -6,7 +6,7 @@ use indicatif::{ProgressBar, ProgressStyle}; use humility::core::Core; use humility::hubris::*; -use humility_hiffy::HiffyContext; +use humility_hiffy::{HiffyCallError, HiffyContext}; use humility_idol::{HubrisIdol, IdolArgument}; const DEFAULT_SLOT_SIZE_BYTES: usize = 2 * 1024 * 1024; @@ -43,7 +43,7 @@ impl<'a> AuxFlashHandler<'a> { /// Returns the number of auxflash slots pub fn slot_count(&mut self) -> Result { let op = self.hubris.get_idol_command("AuxFlash.slot_count")?; - let value = humility_hiffy::hiffy_call( + let value = humility_hiffy::hiffy_call::( self.hubris, self.core, &mut self.context, @@ -52,12 +52,7 @@ impl<'a> AuxFlashHandler<'a> { None, None, )?; - let v = match value { - Ok(v) => v, - Err(e) => bail!("Got Hiffy error: {}", e), - }; - let v = v.as_base()?; - v.as_u32().ok_or_else(|| anyhow!("Couldn't get U32")) + Ok(value) } /// Returns the active slot, or `None` if there is no active slot @@ -65,7 +60,7 @@ impl<'a> AuxFlashHandler<'a> { let op = self .hubris .get_idol_command("AuxFlash.scan_and_get_active_slot")?; - let value = humility_hiffy::hiffy_call( + let value = humility_hiffy::hiffy_call::( self.hubris, self.core, &mut self.context, @@ -73,22 +68,18 @@ impl<'a> AuxFlashHandler<'a> { &[], None, None, - )?; - let v = match value { - Ok(v) => v, - Err(e) if e == "NoActiveSlot" => { - return Ok(None); - } - Err(e) => bail!("Got Hiffy error: {}", e), - }; - let v = v.as_base()?; - v.as_u32().ok_or_else(|| anyhow!("Couldn't get U32")).map(Some) + ); + match value { + Ok(v) => Ok(Some(v)), + Err(HiffyCallError::Hiffy(s)) if s == "NoActiveSlot" => Ok(None), + Err(e) => Err(e.into()), + } } /// Erases a single auxflash slot pub fn slot_erase(&mut self, slot: u32) -> Result<()> { let op = self.hubris.get_idol_command("AuxFlash.erase_slot")?; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( self.hubris, self.core, &mut self.context, @@ -97,10 +88,7 @@ impl<'a> AuxFlashHandler<'a> { None, None, )?; - match value { - Ok(..) => Ok(()), - Err(e) => bail!("Got Hiffy error: {}", e), - } + Ok(()) } /// Returns the checksum of an auxflash slot @@ -109,7 +97,7 @@ impl<'a> AuxFlashHandler<'a> { /// erased). pub fn slot_status(&mut self, slot: u32) -> Result> { let op = self.hubris.get_idol_command("AuxFlash.read_slot_chck")?; - let value = humility_hiffy::hiffy_call( + let value = humility_hiffy::hiffy_call::<([u8; 32],)>( self.hubris, self.core, &mut self.context, @@ -117,23 +105,12 @@ impl<'a> AuxFlashHandler<'a> { &[("slot", IdolArgument::Scalar(u64::from(slot)))], None, None, - )?; - let v = match value { - Ok(v) => v, - Err(e) if e == "MissingChck" => return Ok(None), - Err(e) => bail!("{}", e), - }; - let array = v.as_1tuple().unwrap().as_array().unwrap(); - assert_eq!(array.len(), 32); - let mut out = [0u8; 32]; - for (o, v) in out - .iter_mut() - .zip(array.iter().map(|i| i.as_base().unwrap().as_u8().unwrap())) - { - *o = v; + ); + match value { + Ok(v) => Ok(Some(v.0)), + Err(HiffyCallError::Hiffy(e)) if e == "MissingChck" => Ok(None), + Err(e) => Err(e.into()), } - - Ok(Some(out)) } /// Reads some number of bytes from a particular slot @@ -158,7 +135,7 @@ impl<'a> AuxFlashHandler<'a> { bar.set_length(out.len() as u64); for (i, chunk) in out.chunks_mut(READ_CHUNK_SIZE).enumerate() { let offset = i * READ_CHUNK_SIZE; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( self.hubris, self.core, &mut self.context, @@ -170,9 +147,6 @@ impl<'a> AuxFlashHandler<'a> { None, Some(chunk), )?; - if let Err(e) = value { - bail!("Got Hubris error: {:?}", e); - } bar.set_position(offset as u64); } bar.set_position(out.len() as u64); @@ -260,7 +234,7 @@ impl<'a> AuxFlashHandler<'a> { bar.set_length(data.len() as u64); for (i, chunk) in data.chunks(data_size).enumerate() { let offset = i * data_size; - let value = humility_hiffy::hiffy_call( + humility_hiffy::hiffy_call::<()>( self.hubris, self.core, &mut self.context, @@ -272,9 +246,6 @@ impl<'a> AuxFlashHandler<'a> { Some(chunk), None, )?; - if let Err(e) = value { - bail!("Got Hubris error: {:?}", e); - } bar.set_position(offset as u64); } bar.set_position(data.len() as u64); diff --git a/humility-bin/Cargo.toml b/humility-bin/Cargo.toml index a4061e7cf..c6e99160b 100644 --- a/humility-bin/Cargo.toml +++ b/humility-bin/Cargo.toml @@ -32,8 +32,8 @@ hif = { workspace = true } spd = { workspace = true } humility = { workspace = true } humility-cortex = { workspace = true } -humility-cmd = { workspace = true, default-features = false } -humility-cli = { workspace = true } +humility-cmd = { workspace = true } +humility-cli = { workspace = true, default-features = false } cmd-auxflash = { workspace = true } cmd-console-proxy = { workspace = true } cmd-counters = { workspace = true } @@ -76,7 +76,7 @@ cmd-registers = { workspace = true } cmd-reset = { workspace = true, optional = true } cmd-rencm = { workspace = true } cmd-rendmp = { workspace = true } -cmd-ringbuf = { workspace = true } +cmd-hacking-ringbuf = { workspace = true, features = ["clap"] } cmd-sbrmi = { workspace = true } cmd-sensors = { workspace = true } cmd-spctrl = { workspace = true } @@ -113,7 +113,7 @@ trycmd = { workspace = true } [features] default = ["probes"] -probes = ["humility-cmd/probes", "cmd-reset", "cmd-lsusb", "cmd-flash", "cmd-debugmailbox"] +probes = ["humility-cli/probes", "cmd-reset", "cmd-lsusb", "cmd-flash", "cmd-debugmailbox"] [[bin]] name = "humility" diff --git a/humility-bin/build.rs b/humility-bin/build.rs index aa4b7d62f..f37771eae 100644 --- a/humility-bin/build.rs +++ b/humility-bin/build.rs @@ -66,6 +66,15 @@ fn dcmds() -> Vec {{ )?; } + writeln!( + output, + r##" CommandDescription {{ + init: cmd_hacking_ringbuf::clap::init, + docmsg: "For additional documentation, run \"humility docXXX\"." + }},"##, + + )?; + write!(output, " ]\n}}")?; Ok(()) diff --git a/humility-bin/src/cmd.rs b/humility-bin/src/cmd.rs index 990915b43..c2d8d8d76 100644 --- a/humility-bin/src/cmd.rs +++ b/humility-bin/src/cmd.rs @@ -2,11 +2,10 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -use anyhow::{Context, Result, bail}; +use anyhow::{Context, Result}; use clap::Command as ClapCommand; -use humility::hubris::*; use humility_cli::ExecutionContext; -use humility_cmd::{Archive, Command, CommandKind}; +use humility_cmd::Command; use std::collections::HashMap; // @@ -47,85 +46,5 @@ pub fn subcommand( .get(cmd) .with_context(|| format!("command {} not found", cmd))?; - let mut hubris = HubrisArchive::new().context("failed to initialize")?; - - let (archive, doneness) = match &command.kind { - CommandKind::Attached { archive, .. } => { - (*archive, HubrisArchiveDoneness::Cook) - } - CommandKind::Unattached { archive, .. } => { - (*archive, HubrisArchiveDoneness::Cook) - } - CommandKind::Detached { archive, .. } => { - (*archive, HubrisArchiveDoneness::Cook) - } - CommandKind::Raw => (Archive::Required, HubrisArchiveDoneness::Raw), - }; - - if archive != Archive::Ignored { - if let Some(archive) = &context.cli.archive { - hubris.load(archive, doneness).with_context(|| { - format!("failed to load archive \"{}\"", archive) - })?; - } else if let Some(dump) = &context.cli.dump { - hubris - .load_dump(dump, doneness) - .with_context(|| format!("failed to load dump \"{}\"", dump))?; - } - } - - if archive == Archive::Required - && doneness == HubrisArchiveDoneness::Cook - && !hubris.loaded() - { - if context.cli.environment.is_some() { - bail!("must provide a Hubris archive, dump, or name"); - } - - bail!("must provide a Hubris archive or dump"); - } - - context.archive = Some(hubris); - - let run = command.run; - - match &command.kind { - CommandKind::Attached { attach, validate, .. } => { - humility_cmd::attach(context, *attach, *validate, |context| { - (run)(context) - }) - } - CommandKind::Unattached { archive } => { - if let Some(h) = &context.archive - && context.core.is_none() - && *archive == Archive::Required - { - // we'll try both `attach_dump` and `attach_archive` for maximum - // flexibility; they're allowed to fail, in which case the - // `core` will be left as `None`. - context.core = context - .cli - .dump - .as_ref() - .and_then(|dump| humility::core::attach_dump(dump, h).ok()) - .or_else(|| humility::core::attach_archive(h).ok()); - if context.core.is_none() { - humility::warn!("could not attach to dump or archive") - } - } - (run)(context) - } - CommandKind::Detached { .. } => { - if context.cli.dump.is_some() { - bail!("cannot specify a dump for {} command", cmd); - } - - if context.cli.probe.is_some() { - bail!("cannot specify probe for {} command", cmd); - } - - (run)(context) - } - CommandKind::Raw => (run)(context), - } + (command.run)(context) } diff --git a/humility-bin/tests/cmd/cores/hubris.core.chilly.0 b/humility-bin/tests/cmd/cores/hubris.core.chilly.0 deleted file mode 100644 index 94cf60804..000000000 Binary files a/humility-bin/tests/cmd/cores/hubris.core.chilly.0 and /dev/null differ diff --git a/humility-bin/tests/cmd/cores/hubris.core.kernel-panic.0 b/humility-bin/tests/cmd/cores/hubris.core.kernel-panic.0 deleted file mode 100644 index 67eedc2b3..000000000 Binary files a/humility-bin/tests/cmd/cores/hubris.core.kernel-panic.0 and /dev/null differ diff --git a/humility-bin/tests/cmd/cores/hubris.core.kernel-panic.1 b/humility-bin/tests/cmd/cores/hubris.core.kernel-panic.1 deleted file mode 100644 index f3031b252..000000000 Binary files a/humility-bin/tests/cmd/cores/hubris.core.kernel-panic.1 and /dev/null differ diff --git a/humility-bin/tests/cmd/cores/hubris.core.spoopy.0 b/humility-bin/tests/cmd/cores/hubris.core.spoopy.0 deleted file mode 100644 index 3adc6bd6c..000000000 Binary files a/humility-bin/tests/cmd/cores/hubris.core.spoopy.0 and /dev/null differ diff --git a/humility-bin/tests/cmd/cores/hubris.core.static-tasks.0 b/humility-bin/tests/cmd/cores/hubris.core.static-tasks.0 deleted file mode 100644 index a0bf4f6ea..000000000 Binary files a/humility-bin/tests/cmd/cores/hubris.core.static-tasks.0 and /dev/null differ diff --git a/humility-bin/tests/cmd/cores/hubris.core.static-tasks.1 b/humility-bin/tests/cmd/cores/hubris.core.static-tasks.1 deleted file mode 100644 index 423c9677e..000000000 Binary files a/humility-bin/tests/cmd/cores/hubris.core.static-tasks.1 and /dev/null differ diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.stderr deleted file mode 100644 index 5735db825..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.stderr +++ /dev/null @@ -1,3 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found with names containing "gimlet_seq" -hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.stdout b/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.toml b/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.toml deleted file mode 100644 index 9b0bf1e13..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.chilly.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters gimlet_seq" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.cosmo.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.cosmo.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.cosmo.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.cosmo.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.duplicate_HostFlash_hash_REPLY.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.duplicate_HostFlash_hash_REPLY.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.extern-regions.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.extern-regions.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.extern-regions.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.flash-ram-mismatch.0.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.flash-ram-mismatch.0.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.idol-returns-an-enum.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.idol-returns-an-enum.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.igor.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.igor.0.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.igor.0.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.igor.0.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.in_bootloader.0.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.in_bootloader.0.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.inheritance.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.inheritance.0.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.inheritance.0.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.stderr deleted file mode 100644 index 5735db825..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.stderr +++ /dev/null @@ -1,3 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found with names containing "gimlet_seq" -hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.toml deleted file mode 100644 index 9513f1422..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters gimlet_seq" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.stderr deleted file mode 100644 index 5735db825..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.stderr +++ /dev/null @@ -1,3 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found with names containing "gimlet_seq" -hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.toml deleted file mode 100644 index 890f5158b..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.kernel-panic.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters gimlet_seq" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.new-compiler.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.new-compiler.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.new-compiler.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.new-compiler.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.new-ringbuf.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.new-ringbuf.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.new-ringbuf.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.new-sensors.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.new-sensors.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.new-sensors.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.nightly-2022-11-01.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.nightly-2022-11-01.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.panic-on-boot.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.panic-on-boot.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.panic-on-boot.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.stderr deleted file mode 100644 index 5735db825..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.stderr +++ /dev/null @@ -1,3 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found with names containing "gimlet_seq" -hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.stdout b/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.toml b/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.toml deleted file mode 100644 index 217b4d7e2..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.spoopy.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters gimlet_seq" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.sprot_status.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.sprot_status.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.sprot_status.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.stderr deleted file mode 100644 index 5735db825..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.stderr +++ /dev/null @@ -1,3 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found with names containing "gimlet_seq" -hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.toml b/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.toml deleted file mode 100644 index ba3b74607..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters gimlet_seq" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.stderr deleted file mode 100644 index 5735db825..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.stderr +++ /dev/null @@ -1,3 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found with names containing "gimlet_seq" -hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.toml b/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.toml deleted file mode 100644 index c68b8ba45..000000000 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.static-tasks.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters gimlet_seq" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.task.net.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.task.net.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.task.net.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.task.net.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-arg/counters-arg.v6.stderr b/humility-bin/tests/cmd/counters-arg/counters-arg.v6.stderr index 5735db825..6b645a7ad 100644 --- a/humility-bin/tests/cmd/counters-arg/counters-arg.v6.stderr +++ b/humility-bin/tests/cmd/counters-arg/counters-arg.v6.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility counters failed: no counters found with names containing "gimlet_seq" hint: use `humility counters list` to list all available counters diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.stdout b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.toml b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.toml deleted file mode 100644 index b41466f49..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters --output csv --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.duplicate_HostFlash_hash_REPLY.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.duplicate_HostFlash_hash_REPLY.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.extern-regions.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.extern-regions.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.flash-ram-mismatch.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.flash-ram-mismatch.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.idol-returns-an-enum.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.idol-returns-an-enum.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.igor.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.igor.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.igor.0.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.igor.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.in_bootloader.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.in_bootloader.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.inheritance.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.inheritance.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.toml deleted file mode 100644 index 52350759c..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters --output csv --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.toml deleted file mode 100644 index 1c679c595..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.kernel-panic.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters --output csv --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-ringbuf.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-ringbuf.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-sensors.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-sensors.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.nightly-2022-11-01.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.nightly-2022-11-01.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.panic-on-boot.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.panic-on-boot.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.panic-on-boot.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.stdout b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.toml b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.toml deleted file mode 100644 index a27132667..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters --output csv --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.sprot_status.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.sprot_status.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.sprot_status.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.toml b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.toml deleted file mode 100644 index 438ff0fa1..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters --output csv --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.toml b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.toml deleted file mode 100644 index f7b0b56b6..000000000 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters --output csv --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.task.net.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.task.net.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.task.net.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.v6.stderr b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.v6.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.v6.stderr +++ b/humility-bin/tests/cmd/counters-csv-full/counters-csv-full.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.stdout b/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.toml b/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.toml deleted file mode 100644 index 3c661e013..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters --output csv" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.duplicate_HostFlash_hash_REPLY.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.duplicate_HostFlash_hash_REPLY.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.extern-regions.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.extern-regions.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.flash-ram-mismatch.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.flash-ram-mismatch.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.idol-returns-an-enum.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.idol-returns-an-enum.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.igor.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.igor.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.igor.0.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.igor.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.in_bootloader.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.in_bootloader.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.inheritance.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.inheritance.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.toml deleted file mode 100644 index f8d6e8255..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters --output csv" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.toml deleted file mode 100644 index b79e41fbe..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.kernel-panic.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters --output csv" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.new-ringbuf.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.new-ringbuf.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.new-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.new-sensors.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.new-sensors.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.nightly-2022-11-01.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.nightly-2022-11-01.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.panic-on-boot.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.panic-on-boot.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.panic-on-boot.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.stdout b/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.toml b/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.toml deleted file mode 100644 index 43cd287df..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters --output csv" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.sprot_status.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.sprot_status.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.sprot_status.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.toml b/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.toml deleted file mode 100644 index d26605da3..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters --output csv" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.toml b/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.toml deleted file mode 100644 index 84bb50915..000000000 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters --output csv" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.task.net.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.task.net.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.task.net.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-csv/counters-csv.v6.stderr b/humility-bin/tests/cmd/counters-csv/counters-csv.v6.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-csv/counters-csv.v6.stderr +++ b/humility-bin/tests/cmd/counters-csv/counters-csv.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.stdout b/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.toml b/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.toml deleted file mode 100644 index 7940e770a..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters --full" -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters-full/counters-full.duplicate_HostFlash_hash_REPLY.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.duplicate_HostFlash_hash_REPLY.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.extern-regions.stderr b/humility-bin/tests/cmd/counters-full/counters-full.extern-regions.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.flash-ram-mismatch.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.flash-ram-mismatch.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters-full/counters-full.idol-returns-an-enum.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.idol-returns-an-enum.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.igor.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.igor.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.igor.0.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.igor.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.in_bootloader.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.in_bootloader.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.inheritance.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.inheritance.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.toml deleted file mode 100644 index 1aecc46fe..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters --full" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.toml deleted file mode 100644 index 6c0ff81cd..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.kernel-panic.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters --full" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.new-ringbuf.stderr b/humility-bin/tests/cmd/counters-full/counters-full.new-ringbuf.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.new-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.new-sensors.stderr b/humility-bin/tests/cmd/counters-full/counters-full.new-sensors.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters-full/counters-full.nightly-2022-11-01.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.nightly-2022-11-01.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.panic-on-boot.stderr b/humility-bin/tests/cmd/counters-full/counters-full.panic-on-boot.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.panic-on-boot.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.stdout b/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.toml b/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.toml deleted file mode 100644 index 5ec5c5dde..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.spoopy.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters --full" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.sprot_status.stderr b/humility-bin/tests/cmd/counters-full/counters-full.sprot_status.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.sprot_status.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.toml b/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.toml deleted file mode 100644 index fee801462..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters --full" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.toml b/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.toml deleted file mode 100644 index f367e03e8..000000000 --- a/humility-bin/tests/cmd/counters-full/counters-full.static-tasks.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters --full" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-full/counters-full.task.net.stderr b/humility-bin/tests/cmd/counters-full/counters-full.task.net.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.task.net.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-full/counters-full.v6.stderr b/humility-bin/tests/cmd/counters-full/counters-full.v6.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-full/counters-full.v6.stderr +++ b/humility-bin/tests/cmd/counters-full/counters-full.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.stderr b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.stdout b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.toml b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.toml deleted file mode 100644 index 140189260..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters ipc --client gimlet_seq --client net" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.toml deleted file mode 100644 index 36f060720..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters ipc --client gimlet_seq --client net" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.toml deleted file mode 100644 index 092b1efe3..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.kernel-panic.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters ipc --client gimlet_seq --client net" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.stderr b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.stdout b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.toml b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.toml deleted file mode 100644 index ef63fc427..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters ipc --client gimlet_seq --client net" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.toml b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.toml deleted file mode 100644 index 10e073ba9..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters ipc --client gimlet_seq --client net" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.toml b/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.toml deleted file mode 100644 index 8f1f69ce5..000000000 --- a/humility-bin/tests/cmd/counters-ipc-filtered/counters-ipc-filtered.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters ipc --client gimlet_seq --client net" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.stderr b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.stdout b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.toml b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.toml deleted file mode 100644 index 3a0d0e292..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters ipc --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.toml deleted file mode 100644 index ec5bdd5e8..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters ipc --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.toml deleted file mode 100644 index 513a6710b..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.kernel-panic.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters ipc --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.stderr b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.stdout b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.toml b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.toml deleted file mode 100644 index d8d9ee11a..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters ipc --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.toml b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.toml deleted file mode 100644 index 4e580987e..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters ipc --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.toml b/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.toml deleted file mode 100644 index f13b415a4..000000000 --- a/humility-bin/tests/cmd/counters-ipc-full/counters-ipc-full.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters ipc --full" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.stderr b/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.stdout b/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.toml b/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.toml deleted file mode 100644 index 843cb8d28..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters ipc" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.toml deleted file mode 100644 index d6134dc8f..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters ipc" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.toml deleted file mode 100644 index 8299c67ca..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.kernel-panic.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters ipc" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.stderr b/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.stdout b/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.toml b/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.toml deleted file mode 100644 index 7e3462c1e..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters ipc" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.toml b/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.toml deleted file mode 100644 index bd65608d2..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters ipc" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.stderr deleted file mode 100644 index a3c5a4879..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no IPC counters found diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.toml b/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.toml deleted file mode 100644 index 240de8fe2..000000000 --- a/humility-bin/tests/cmd/counters-ipc/counters-ipc.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters ipc" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.stdout b/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.toml b/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.toml deleted file mode 100644 index 12963e092..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters --output json" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters-json/counters-json.duplicate_HostFlash_hash_REPLY.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.duplicate_HostFlash_hash_REPLY.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.extern-regions.stderr b/humility-bin/tests/cmd/counters-json/counters-json.extern-regions.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.flash-ram-mismatch.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.flash-ram-mismatch.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters-json/counters-json.idol-returns-an-enum.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.idol-returns-an-enum.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.igor.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.igor.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.igor.0.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.igor.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.in_bootloader.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.in_bootloader.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.inheritance.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.inheritance.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.toml deleted file mode 100644 index 0297b7068..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters --output json" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.toml deleted file mode 100644 index 66bf8cfba..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.kernel-panic.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters --output json" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.new-ringbuf.stderr b/humility-bin/tests/cmd/counters-json/counters-json.new-ringbuf.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.new-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.new-sensors.stderr b/humility-bin/tests/cmd/counters-json/counters-json.new-sensors.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters-json/counters-json.nightly-2022-11-01.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.nightly-2022-11-01.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.panic-on-boot.stderr b/humility-bin/tests/cmd/counters-json/counters-json.panic-on-boot.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.panic-on-boot.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.stdout b/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.toml b/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.toml deleted file mode 100644 index 06ec8c721..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters --output json" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.sprot_status.stderr b/humility-bin/tests/cmd/counters-json/counters-json.sprot_status.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.sprot_status.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.toml b/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.toml deleted file mode 100644 index 5abd8589c..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters --output json" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.toml b/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.toml deleted file mode 100644 index 1b8155ef0..000000000 --- a/humility-bin/tests/cmd/counters-json/counters-json.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters --output json" - -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-json/counters-json.task.net.stderr b/humility-bin/tests/cmd/counters-json/counters-json.task.net.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.task.net.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-json/counters-json.v6.stderr b/humility-bin/tests/cmd/counters-json/counters-json.v6.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-json/counters-json.v6.stderr +++ b/humility-bin/tests/cmd/counters-json/counters-json.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.stdout b/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.toml b/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.toml deleted file mode 100644 index 0dcbf4896..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.chilly.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters list" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.control_plane_agent.overflow.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.control_plane_agent.overflow.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.cosmo.stderr b/humility-bin/tests/cmd/counters-list/counters-list.cosmo.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.cosmo.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.cosmo.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.counters.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.counters.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.counters.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.counters.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters-list/counters-list.duplicate_HostFlash_hash_REPLY.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.duplicate_HostFlash_hash_REPLY.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.extern-regions.stderr b/humility-bin/tests/cmd/counters-list/counters-list.extern-regions.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.flash-ram-mismatch.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.flash-ram-mismatch.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.gimlet.stderr b/humility-bin/tests/cmd/counters-list/counters-list.gimlet.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.gimlet.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.gimlet.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.1.stderr b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.1.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.1.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.1.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.2.stderr b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.2.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.2.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.2.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.3.stderr b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.3.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.3.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.3.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.4.stderr b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.4.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.host-panic.4.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.host-panic.4.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters-list/counters-list.idol-returns-an-enum.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.idol-returns-an-enum.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.igor.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.igor.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.igor.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.igor.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.in_bootloader.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.in_bootloader.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.inheritance.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.inheritance.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.ipc-counts.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.ipc-counts.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.ipc-counts.0.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.ipc-counts.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.toml b/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.toml deleted file mode 100644 index 750c8c19c..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters list" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.toml b/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.toml deleted file mode 100644 index 0a85b328b..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.kernel-panic.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters list" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.new-compiler.stderr b/humility-bin/tests/cmd/counters-list/counters-list.new-compiler.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.new-compiler.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.new-compiler.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.new-ringbuf.stderr b/humility-bin/tests/cmd/counters-list/counters-list.new-ringbuf.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.new-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.new-sensors.stderr b/humility-bin/tests/cmd/counters-list/counters-list.new-sensors.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters-list/counters-list.nightly-2022-11-01.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.nightly-2022-11-01.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.panic-on-boot.stderr b/humility-bin/tests/cmd/counters-list/counters-list.panic-on-boot.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.panic-on-boot.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.stdout b/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.toml b/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.toml deleted file mode 100644 index 80a5200c2..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.spoopy.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters list" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.sprot_status.stderr b/humility-bin/tests/cmd/counters-list/counters-list.sprot_status.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.sprot_status.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.stderr b/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.stdout b/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.toml b/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.toml deleted file mode 100644 index 6d0da6c0e..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters list" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.stderr b/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.stdout b/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.toml b/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.toml deleted file mode 100644 index 33935289c..000000000 --- a/humility-bin/tests/cmd/counters-list/counters-list.static-tasks.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters list" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters-list/counters-list.task.net.stderr b/humility-bin/tests/cmd/counters-list/counters-list.task.net.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.task.net.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters-list/counters-list.task.power.stderr b/humility-bin/tests/cmd/counters-list/counters-list.task.power.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.task.power.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.task.power.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.u16-ringbuf.stderr b/humility-bin/tests/cmd/counters-list/counters-list.u16-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.u16-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/counters-list/counters-list.v6.stderr b/humility-bin/tests/cmd/counters-list/counters-list.v6.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters-list/counters-list.v6.stderr +++ b/humility-bin/tests/cmd/counters-list/counters-list.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.chilly.0.stderr b/humility-bin/tests/cmd/counters/counters.chilly.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters/counters.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.chilly.0.stdout b/humility-bin/tests/cmd/counters/counters.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters/counters.chilly.0.toml b/humility-bin/tests/cmd/counters/counters.chilly.0.toml deleted file mode 100644 index 71cd9f6d8..000000000 --- a/humility-bin/tests/cmd/counters/counters.chilly.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 counters" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters/counters.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/counters/counters.duplicate_HostFlash_hash_REPLY.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/counters/counters.duplicate_HostFlash_hash_REPLY.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.extern-regions.stderr b/humility-bin/tests/cmd/counters/counters.extern-regions.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.extern-regions.stderr +++ b/humility-bin/tests/cmd/counters/counters.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/counters/counters.flash-ram-mismatch.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/counters/counters.flash-ram-mismatch.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/counters/counters.idol-returns-an-enum.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/counters/counters.idol-returns-an-enum.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.igor.0.stderr b/humility-bin/tests/cmd/counters/counters.igor.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.igor.0.stderr +++ b/humility-bin/tests/cmd/counters/counters.igor.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.in_bootloader.0.stderr b/humility-bin/tests/cmd/counters/counters.in_bootloader.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/counters/counters.in_bootloader.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.inheritance.0.stderr b/humility-bin/tests/cmd/counters/counters.inheritance.0.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.inheritance.0.stderr +++ b/humility-bin/tests/cmd/counters/counters.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.kernel-panic.0.stderr b/humility-bin/tests/cmd/counters/counters.kernel-panic.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters/counters.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.kernel-panic.0.stdout b/humility-bin/tests/cmd/counters/counters.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters/counters.kernel-panic.0.toml b/humility-bin/tests/cmd/counters/counters.kernel-panic.0.toml deleted file mode 100644 index ce95f012f..000000000 --- a/humility-bin/tests/cmd/counters/counters.kernel-panic.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 counters" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters/counters.kernel-panic.1.stderr b/humility-bin/tests/cmd/counters/counters.kernel-panic.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters/counters.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.kernel-panic.1.stdout b/humility-bin/tests/cmd/counters/counters.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters/counters.kernel-panic.1.toml b/humility-bin/tests/cmd/counters/counters.kernel-panic.1.toml deleted file mode 100644 index f4afdcc59..000000000 --- a/humility-bin/tests/cmd/counters/counters.kernel-panic.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 counters" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters/counters.new-ringbuf.stderr b/humility-bin/tests/cmd/counters/counters.new-ringbuf.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/counters/counters.new-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.new-sensors.stderr b/humility-bin/tests/cmd/counters/counters.new-sensors.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.new-sensors.stderr +++ b/humility-bin/tests/cmd/counters/counters.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/counters/counters.nightly-2022-11-01.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/counters/counters.nightly-2022-11-01.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.panic-on-boot.stderr b/humility-bin/tests/cmd/counters/counters.panic-on-boot.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/counters/counters.panic-on-boot.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.spoopy.0.stderr b/humility-bin/tests/cmd/counters/counters.spoopy.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters/counters.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.spoopy.0.stdout b/humility-bin/tests/cmd/counters/counters.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters/counters.spoopy.0.toml b/humility-bin/tests/cmd/counters/counters.spoopy.0.toml deleted file mode 100644 index 2ced0c0d8..000000000 --- a/humility-bin/tests/cmd/counters/counters.spoopy.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 counters" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters/counters.sprot_status.stderr b/humility-bin/tests/cmd/counters/counters.sprot_status.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.sprot_status.stderr +++ b/humility-bin/tests/cmd/counters/counters.sprot_status.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.static-tasks.0.stderr b/humility-bin/tests/cmd/counters/counters.static-tasks.0.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters/counters.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.static-tasks.0.stdout b/humility-bin/tests/cmd/counters/counters.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters/counters.static-tasks.0.toml b/humility-bin/tests/cmd/counters/counters.static-tasks.0.toml deleted file mode 100644 index 12afe316d..000000000 --- a/humility-bin/tests/cmd/counters/counters.static-tasks.0.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 counters" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters/counters.static-tasks.1.stderr b/humility-bin/tests/cmd/counters/counters.static-tasks.1.stderr deleted file mode 100644 index c97f19ece..000000000 --- a/humility-bin/tests/cmd/counters/counters.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.static-tasks.1.stdout b/humility-bin/tests/cmd/counters/counters.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/counters/counters.static-tasks.1.toml b/humility-bin/tests/cmd/counters/counters.static-tasks.1.toml deleted file mode 100644 index e7a9eac06..000000000 --- a/humility-bin/tests/cmd/counters/counters.static-tasks.1.toml +++ /dev/null @@ -1,12 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 counters" - -# humility counters fails on this dump, as it contains no counters -status.code = 1 diff --git a/humility-bin/tests/cmd/counters/counters.task.net.stderr b/humility-bin/tests/cmd/counters/counters.task.net.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.task.net.stderr +++ b/humility-bin/tests/cmd/counters/counters.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/counters/counters.v6.stderr b/humility-bin/tests/cmd/counters/counters.v6.stderr index c97f19ece..a925132a5 100644 --- a/humility-bin/tests/cmd/counters/counters.v6.stderr +++ b/humility-bin/tests/cmd/counters/counters.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility counters failed: no counters found diff --git a/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.stderr b/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.stderr deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.stdout b/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.stdout deleted file mode 100644 index 7d41d2560..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.stdout +++ /dev/null @@ -1,33 +0,0 @@ - SIZE NAME - 405 README.TXT - 46 git-rev - 15815 app.toml - 1834 stm32h7.toml - 196396 elf/task/jefe - 1362760 elf/task/net - 208376 elf/task/sys - 302748 elf/task/spi4_driver - 306324 elf/task/spi2_driver - 316568 elf/task/i2c_driver - 291932 elf/task/spd - 368632 elf/task/thermal - 352784 elf/task/power - 332840 elf/task/hiffy - 439216 elf/task/gimlet_seq - 286196 elf/task/hf - 103612 elf/task/sensor - 152836 elf/task/udpecho - 290556 elf/task/validate - 17500 elf/task/idle - 545212 elf/kernel - 1753 info/allocations.txt - 2795 info/map.txt - 582303 img/combined.srec - 283408 img/combined.elf - 794677 img/combined.ihex - 436312 img/combined.bin - 582303 img/final.srec - 283408 img/final.elf - 794677 img/final.ihex - 436312 img/final.bin - 1755 img/flash.ron diff --git a/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.toml b/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.toml deleted file mode 100644 index d2ee266be..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 extract --list" - diff --git a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.stderr b/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.stderr deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.stdout b/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.stdout deleted file mode 100644 index 3ff18321e..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.stdout +++ /dev/null @@ -1,34 +0,0 @@ - SIZE NAME - 462 README.TXT - 46 git-rev - 5289 app.toml - 1937 chip.toml - 197456 elf/task/jefe - 208836 elf/task/sys - 288440 elf/task/i2c_driver - 309100 elf/task/spi_driver - 1059092 elf/task/net - 65156 elf/task/user_leds - 87284 elf/task/ping - 31228 elf/task/pong - 178600 elf/task/udpecho - 370756 elf/task/hiffy - 310184 elf/task/hf - 286556 elf/task/hash_driver - 17612 elf/task/idle - 201964 elf/task/rng_driver - 555820 elf/kernel - 1550 info/allocations.txt - 4195 info/map.txt - 632426 img/combined.srec - 307060 img/combined.elf - 862933 img/combined.ihex - 307200 img/combined.bin - 632426 img/final.srec - 307060 img/final.elf - 862933 img/final.ihex - 307200 img/final.bin - 1790 img/flash.ron - 1047 debug/script.gdb - 1586 debug/openocd.cfg - 235 debug/openocd.gdb diff --git a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.toml b/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.toml deleted file mode 100644 index fbcf0ccc2..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 extract --list" - diff --git a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.stderr b/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.stderr deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.stdout b/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.stdout deleted file mode 100644 index 3e4bd20fe..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.stdout +++ /dev/null @@ -1,43 +0,0 @@ - SIZE NAME - 462 README.TXT - 46 git-rev - 25298 app.toml - 62 patches.toml - 2032 chip.toml - 255756 elf/task/jefe - 2469356 elf/task/net - 218540 elf/task/sys - 331424 elf/task/spi4_driver - 333760 elf/task/spi2_driver - 363972 elf/task/i2c_driver - 344340 elf/task/spd - 1232684 elf/task/thermal - 1067732 elf/task/power - 518080 elf/task/hiffy - 1086620 elf/task/gimlet_seq - 312348 elf/task/hash_driver - 341704 elf/task/hf - 252848 elf/task/update_server - 167408 elf/task/sensor - 632428 elf/task/host_sp_comms - 186132 elf/task/udpecho - 163024 elf/task/udpbroadcast - 218960 elf/task/udprpc - 2254136 elf/task/control_plane_agent - 399748 elf/task/sprot - 955596 elf/task/validate - 902356 elf/task/vpd - 28464 elf/task/idle - 542344 elf/kernel - 1473199 img/combined.srec - 715768 img/combined.elf - 2011042 img/combined.ihex - 714880 img/combined.bin - 1473199 img/final.srec - 715768 img/final.elf - 2011042 img/final.ihex - 714880 img/final.bin - 1898 img/flash.ron - 1427 debug/script.gdb - 1586 debug/openocd.cfg - 235 debug/openocd.gdb diff --git a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.toml b/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.toml deleted file mode 100644 index 57df65eea..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 extract --list" - diff --git a/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.stderr b/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.stderr deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.stdout b/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.stdout deleted file mode 100644 index 8e668741d..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.stdout +++ /dev/null @@ -1,32 +0,0 @@ - SIZE NAME - 405 README.TXT - 40 git-rev - 12635 app.toml - 1834 stm32h7.toml - 196380 elf/task/jefe - 1363160 elf/task/net - 208368 elf/task/sys - 302740 elf/task/spi4_driver - 306316 elf/task/spi2_driver - 315248 elf/task/i2c_driver - 291608 elf/task/spd - 287372 elf/task/thermal - 350532 elf/task/power - 332748 elf/task/hiffy - 434972 elf/task/gimlet_seq - 286188 elf/task/hf - 103612 elf/task/sensor - 152828 elf/task/udpecho - 17492 elf/task/idle - 545148 elf/kernel - 1650 info/allocations.txt - 2624 info/map.txt - 552075 img/combined.srec - 268696 img/combined.elf - 753428 img/combined.ihex - 403544 img/combined.bin - 552075 img/final.srec - 268696 img/final.elf - 753428 img/final.ihex - 403544 img/final.bin - 1755 img/flash.ron diff --git a/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.toml b/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.toml deleted file mode 100644 index 876a61e05..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 extract --list" - diff --git a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.stderr b/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.stderr deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.stdout b/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.stdout deleted file mode 100644 index 6d7dd4b7d..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.stdout +++ /dev/null @@ -1,35 +0,0 @@ - SIZE NAME - 462 README.TXT - 40 git-rev - 6437 app.toml - 1937 chip.toml - 197392 elf/task/jefe - 208776 elf/task/sys - 288488 elf/task/i2c_driver - 309004 elf/task/spi_driver - 65128 elf/task/user_leds - 31168 elf/task/pong - 233736 elf/task/uartecho - 384940 elf/task/hiffy - 291272 elf/task/hf - 1134256 elf/task/net - 158604 elf/task/udpecho - 267412 elf/task/validate - 17552 elf/task/idle - 201908 elf/task/rng_driver - 214800 elf/task/update_server - 511960 elf/kernel - 1659 info/allocations.txt - 3954 info/map.txt - 534499 img/combined.srec - 259392 img/combined.elf - 729102 img/combined.ihex - 259200 img/combined.bin - 534499 img/final.srec - 259392 img/final.elf - 729102 img/final.ihex - 259200 img/final.bin - 1790 img/flash.ron - 920 debug/script.gdb - 1586 debug/openocd.cfg - 235 debug/openocd.gdb diff --git a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.toml b/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.toml deleted file mode 100644 index 6b77a20c6..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 extract --list" - diff --git a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.stderr b/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.stderr deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.stdout b/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.stdout deleted file mode 100644 index 2d2ed5e76..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.stdout +++ /dev/null @@ -1,33 +0,0 @@ - SIZE NAME - 462 README.TXT - 40 git-rev - 6406 app.toml - 1937 chip.toml - 197392 elf/task/jefe - 208776 elf/task/sys - 288488 elf/task/i2c_driver - 309004 elf/task/spi_driver - 65128 elf/task/user_leds - 31168 elf/task/pong - 233736 elf/task/uartecho - 384940 elf/task/hiffy - 291272 elf/task/hf - 1134256 elf/task/net - 158604 elf/task/udpecho - 267412 elf/task/validate - 17552 elf/task/idle - 201908 elf/task/rng_driver - 214800 elf/task/update_server - 498636 elf/kernel - 507144 img/combined.srec - 246156 img/combined.elf - 691752 img/combined.ihex - 259200 img/combined.bin - 507144 img/final.srec - 246156 img/final.elf - 691752 img/final.ihex - 259200 img/final.bin - 1790 img/flash.ron - 920 debug/script.gdb - 1586 debug/openocd.cfg - 235 debug/openocd.gdb diff --git a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.toml b/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.toml deleted file mode 100644 index 18719f209..000000000 --- a/humility-bin/tests/cmd/extract-list/extract-list.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 extract --list" - diff --git a/humility-bin/tests/cmd/extract/extract.chilly.0.stderr b/humility-bin/tests/cmd/extract/extract.chilly.0.stderr deleted file mode 100644 index db86d97e5..000000000 --- a/humility-bin/tests/cmd/extract/extract.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: extracting app.toml to stdout diff --git a/humility-bin/tests/cmd/extract/extract.chilly.0.stdout b/humility-bin/tests/cmd/extract/extract.chilly.0.stdout deleted file mode 100644 index f05af29b4..000000000 --- a/humility-bin/tests/cmd/extract/extract.chilly.0.stdout +++ /dev/null @@ -1,767 +0,0 @@ -name = "gimlet-b" -target = "thumbv7em-none-eabihf" -board = "gimlet-b" -chip = "../../chips/stm32h7.toml" -stacksize = 896 - -[kernel] -path = "." -name = "gimlet" -requires = {flash = 32768, ram = 8192} -# -# For the kernel (and for any task that logs), we are required to enable -# either "itm" (denoting logging/panicking via ARM's Instrumentation Trace -# Macrocell) or "semihosting" (denoting logging/panicking via ARM -# semihosting). We are biased to ITM because semihosting is excruciatingly -# slow (it is breakpoint based) and has an undesirable failure mode if logging -# output is generated and debugger is not attached (namely, the target stops). -# If one does choose to change this to semihosting for purposes of -# development, be sure to also change it in every task of interest. -# -features = ["itm"] - -[supervisor] -notification = 1 - -# Flash sections are mapped into flash bank 1 (of 2). -[outputs.flash] -address = 0x08000000 -size = 1048576 -read = true -execute = true - -# RAM sections are currently mapped into DTCM, a small but fast SRAM. -[outputs.ram] -address = 0x20000000 -size = 131072 -read = true -write = true -execute = false # let's assume XN until proven otherwise - -# Network buffers are placed in sram1, which is directly accessible by the -# Ethernet MAC. -[outputs.sram1] -address = 0x30000000 -size = 0x20000 -read = true -write = true -dma = true - -[tasks.jefe] -path = "../../task/jefe" -name = "task-jefe" -priority = 0 -requires = {flash = 8192, ram = 2048} -start = true -features = ["itm"] -stacksize = 1536 - -[tasks.net] -path = "../../task/net" -name = "task-net" -stacksize = 3800 -priority = 2 -features = ["mgmt", "h753", "gimlet"] -requires = {flash = 131072, ram = 8192, sram1 = 16384} -sections = {eth_bulk = "sram1"} -uses = ["eth", "eth_dma", "system_flash"] -start = true -interrupts = {"eth.irq" = 0b1} -task-slots = ["sys", "rcc_driver", - { spi_driver = "spi2_driver" }, - { seq = "gimlet_seq" }] - -[tasks.sys] -path = "../../drv/stm32xx-sys" -name = "drv-stm32xx-sys" -features = ["h753"] -priority = 1 -requires = {flash = 2048, ram = 1024} -uses = ["rcc", "gpios1", "gpios2", "gpios3"] -start = true - -[tasks.spi4_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi4", "h753"] -uses = ["spi4"] -start = true -interrupts = {"spi4.irq" = 1} -stacksize = 872 -task-slots = ["sys"] - -[tasks.spi4_driver.config.spi] -global_config = "spi4" - -[tasks.spi2_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi2", "h753"] -uses = ["spi2"] -start = true -interrupts = {"spi2.irq" = 1} -stacksize = 872 -task-slots = ["sys"] - -[tasks.spi2_driver.config.spi] -global_config = "spi2" - -[tasks.i2c_driver] -path = "../../drv/stm32h7-i2c-server" -name = "drv-stm32h7-i2c-server" -features = ["h753", "itm"] -priority = 2 -requires = {flash = 16384, ram = 2048} -uses = ["i2c2", "i2c3", "i2c4"] -start = true -task-slots = ["sys"] - -[tasks.i2c_driver.interrupts] -"i2c2.event" = 0b0000_0010 -"i2c2.error" = 0b0000_0010 -"i2c3.event" = 0b0000_0100 -"i2c3.error" = 0b0000_0100 -"i2c4.event" = 0b0000_1000 -"i2c4.error" = 0b0000_1000 - -[tasks.spd] -path = "../../task/spd" -name = "task-spd" -features = ["h753", "itm"] -priority = 2 -requires = {flash = 16384, ram = 16384} -uses = ["i2c1"] -start = true -task-slots = ["sys", "i2c_driver"] - -[tasks.spd.interrupts] -"i2c1.event" = 0b0000_0001 -"i2c1.error" = 0b0000_0001 - -[tasks.thermal] -path = "../../task/thermal" -name = "task-thermal" -features = ["itm", "h753", "gimlet"] -priority = 3 -requires = {flash = 32768, ram = 8192 } -stacksize = 4504 -start = true -task-slots = ["i2c_driver", "sensor", "gimlet_seq"] - -[tasks.power] -path = "../../task/power" -name = "task-power" -features = ["itm", "h753"] -priority = 3 -requires = {flash = 16384, ram = 4096 } -stacksize = 2048 -start = true -task-slots = ["i2c_driver", "sensor", "gimlet_seq"] - -[tasks.hiffy] -path = "../../task/hiffy" -name = "task-hiffy" -features = ["h753", "stm32h7", "itm", "i2c", "gpio", "spi", "qspi"] -priority = 3 -requires = {flash = 32768, ram = 32768 } -stacksize = 1024 -start = true -task-slots = ["sys", "hf", "i2c_driver"] - -[tasks.gimlet_seq] -path = "../../drv/gimlet-seq-server" -name = "drv-gimlet-seq-server" -features = ["h753"] -priority = 3 -requires = {flash = 65536, ram = 4096 } -stacksize = 1600 -start = true -task-slots = ["sys", "i2c_driver", {spi_driver = "spi2_driver"}, "hf"] - -[tasks.gimlet_seq.config] -fpga_image = "fpga-b.bin" -register_defs = "gimlet_regs.json" - -[tasks.hf] -path = "../../drv/gimlet-hf-server" -name = "drv-gimlet-hf-server" -features = ["h753"] -priority = 3 -requires = {flash = 16384, ram = 2048 } -stacksize = 1920 -start = true -uses = ["quadspi"] -interrupts = {"quadspi.irq" = 1} -task-slots = ["sys"] - -[tasks.sensor] -path = "../../task/sensor" -name = "task-sensor" -features = ["itm"] -priority = 3 -requires = {flash = 8192, ram = 2048 } -stacksize = 1920 # Sensor data is stored on the stack -start = true - -[tasks.udpecho] -path = "../../task/udpecho" -name = "task-udpecho" -priority = 3 -requires = {flash = 16384, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] - -[tasks.validate] -path = "../../task/validate" -name = "task-validate" -priority = 3 -requires = {flash = 8192, ram = 4096 } -stacksize = 1000 -start = true -task-slots = ["i2c_driver"] - -[tasks.idle] -path = "../../task/idle" -name = "task-idle" -priority = 5 -requires = {flash = 128, ram = 256} -stacksize = 256 -start = true - -[config] - -# -# I2C1: SPD proxy bus -# -[[config.i2c.controllers]] -controller = 1 -target = true - -# -# SMBUS_SPD_PROXY_SP3_TO_SP_SMCLK -# SMBUS_SPD_PROXY_SP3_TO_SP_SMDAT -# -[config.i2c.controllers.ports.B] -name = "spd" -description = "SPD proxy" -pins = [ { pins = [ 6, 7 ], af = 4 } ] - -# -# I2C2: Front/M.2 bus -# -[[config.i2c.controllers]] -controller = 2 - -# -# SMBUS_SP_TO_M2_SMCLK_A2_V3P3 -# SMBUS_SP_TO_M2_SMDAT_A2_V3P3 -# -[config.i2c.controllers.ports.B] -name = "m2" -description = "M.2 bus" -pins = [ { pins = [ 10, 11 ], af = 4 } ] -muxes = [ { driver = "pca9548", address = 0x73 } ] - -# -# SMBUS_SP_TO_LVL_FRONT_SMDAT -# SMBUS_SP_TO_LVL_FRONT_SMCLK -# -[config.i2c.controllers.ports.F] -name = "front" -description = "Front bus" -pins = [ { pins = [ 0, 1 ], af = 4 } ] - -# -# Shark fin muxes -# -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x70 - -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x71 - -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x72 - -# -# I2C3: Mid bus -# -[[config.i2c.controllers]] -controller = 3 - -# -# SMBUS_SP_TO_LVL_MID_SMCLK -# SMBUS_SP_TO_LVL_MID_SMDAT -# -[config.i2c.controllers.ports.H] -name = "mid" -description = "Mid bus" -pins = [ { pins = [ 7, 8 ], af = 4 } ] - -# -# I2C4: Rear bus -# -[[config.i2c.controllers]] -controller = 4 - -# -# SMBUS_SP_TO_LVL_REAR_SMCLK -# SMBUS_SP_TO_LVL_REAR_SMDAT -# -[config.i2c.controllers.ports.F] -name = "rear" -description = "Rear bus" -pins = [ { pins = [ 14, 15 ], af = 4 } ] - -[[config.i2c.devices]] -bus = "front" -address = 0x48 -device = "tmp117" -name = "Southwest" -description = "Southwest temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J194" - -[[config.i2c.devices]] -bus = "front" -address = 0x49 -device = "tmp117" -name = "South" -description = "South temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J195" - -[[config.i2c.devices]] -bus = "front" -address = 0x4a -device = "tmp117" -name = "Southeast" -description = "Southeast temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J196" - -[[config.i2c.devices]] -bus = "front" -address = 0x70 -device = "pca9545" -description = "U.2 ABCD mux" -refdes = "U336" - -[[config.i2c.devices]] -bus = "front" -address = 0x71 -device = "pca9545" -description = "U.2 EFGH mux" -refdes = "U339" - -[[config.i2c.devices]] -bus = "front" -address = 0x72 -device = "pca9545" -description = "U.2 IJ/FRUID mux" -refdes = "U337" - -[[config.i2c.devices]] -bus = "m2" -address = 0x73 -device = "pca9545" -description = "M.2 mux" -refdes = "U422" - -[[config.i2c.devices]] -bus = "m2" -mux = 1 -segment = 4 -address = 0x4c -device = "tmp451" -sensors = { temperature = 1 } -description = "T6 temperature sensor" -refdes = "U491" - -[[config.i2c.devices]] -bus = "mid" -address = 0x24 -device = "tps546b24a" -description = "A2 3.3V rail" -pmbus = { rails = [ "V3P3_SP_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U522" - -[[config.i2c.devices]] -bus = "mid" -address = 0x26 -device = "tps546b24a" -description = "A0 3.3V rail" -pmbus = { rails = [ "V3P3_SYS_A0" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U560" - -[[config.i2c.devices]] -bus = "mid" -address = 0x27 -device = "tps546b24a" -description = "A2 5V rail" -pmbus = { rails = [ "V5_SYS_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U524" - -[[config.i2c.devices]] -bus = "mid" -address = 0x29 -device = "tps546b24a" -description = "A2 1.8V rail" -pmbus = { rails = [ "V1P8_SYS_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U561" - -[[config.i2c.devices]] -bus = "mid" -address = 0x3a -device = "max5970" -description = "M.2 hot plug controller" -refdes = "U275" - -[[config.i2c.devices]] -bus = "mid" -address = 0x4c -device = "sbtsi" -name = "CPU" -description = "CPU temperature sensor" -sensors = { temperature = 1 } - -[[config.i2c.devices]] -bus = "mid" -address = 0x58 -device = "idt8a34003" -description = "Clock generator" -refdes = "U446" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5a -device = "raa229618" -description = "CPU power controller" -pmbus = { rails = [ "VDD_VCORE", "VDD_MEM_ABCD" ] } -sensors = { temperature = 2, power = 2, voltage = 2, current = 2 } -refdes = "U350" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5b -device = "raa229618" -description = "SoC power controller" -pmbus = { rails = [ "VDDCR_SOC", "VDD_MEM_EFGH" ] } -sensors = { temperature = 2, power = 2, voltage = 2, current = 2 } -refdes = "U351" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5c -device = "isl68224" -description = "DIMM/SP3 1.8V A0 power controller" -pmbus = { rails = [ "VPP_ABCD", "VPP_EFGH", "V1P8_SP3" ] } -sensors = { voltage = 3, current = 3 } -refdes = "U352" - -[[config.i2c.devices]] -bus = "rear" -address = 0x10 -device = "adm1272" -description = "Fan hot swap controller" -pmbus = { rails = [ "V54_FAN" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U419" - -[[config.i2c.devices]] -bus = "rear" -address = 0x14 -device = "adm1272" -description = "Sled hot swap controller" -pmbus = { rails = [ "V54_HS_OUTPUT" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U452" - -[[config.i2c.devices]] -bus = "rear" -address = 0x20 -device = "max31790" -description = "Fan controller" -sensors = { speed = 6 } -refdes = "U321" - -[[config.i2c.devices]] -bus = "rear" -address = 0x25 -device = "tps546b24a" -description = "T6 power controller" -pmbus = { rails = [ "V0P96_NIC_VDD_A0HP" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U565" - -[[config.i2c.devices]] -bus = "rear" -address = 0x48 -device = "tmp117" -name = "Northeast" -description = "Northeast temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J197" - -[[config.i2c.devices]] -bus = "rear" -address = 0x49 -device = "tmp117" -name = "North" -description = "North temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J198" - -[[config.i2c.devices]] -bus = "rear" -address = 0x4a -device = "tmp117" -name = "Northwest" -description = "Northwest temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J199" - -[[config.i2c.devices]] -bus = "rear" -address = 0x67 -device = "bmr491" -name = "IBC" -description = "Intermediate bus converter" -pmbus = { rails = [ "V12_SYS_A2" ] } -sensors = { temperature = 1, power = 1, voltage = 1, current = 1 } -refdes = "U431" - -################################################################################ -# DIMM slots -[[config.i2c.devices]] -bus = "mid" -address = 0x18 -device = "tse2004av" -name = "DIMM_A0" -description = "DIMM A0" -sensors = { temperature = 1 } -refdes = "M0" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x19 -device = "tse2004av" -name = "DIMM_A1" -description = "DIMM A1" -sensors = { temperature = 1 } -refdes = "M8" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1a -device = "tse2004av" -name = "DIMM_B0" -description = "DIMM B0" -sensors = { temperature = 1 } -refdes = "M1" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1b -device = "tse2004av" -name = "DIMM_B1" -description = "DIMM B1" -sensors = { temperature = 1 } -refdes = "M9" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1c -device = "tse2004av" -name = "DIMM_C0" -description = "DIMM C0" -sensors = { temperature = 1 } -refdes = "M2" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1d -device = "tse2004av" -name = "DIMM_C1" -description = "DIMM C1" -sensors = { temperature = 1 } -refdes = "M10" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1e -device = "tse2004av" -name = "DIMM_D0" -description = "DIMM D0" -sensors = { temperature = 1 } -refdes = "M3" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1f -device = "tse2004av" -name = "DIMM_D1" -description = "DIMM D1" -sensors = { temperature = 1 } -refdes = "M11" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x18 -device = "tse2004av" -name = "DIMM_E0" -description = "DIMM E0" -sensors = { temperature = 1 } -refdes = "M4" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x19 -device = "tse2004av" -name = "DIMM_E1" -description = "DIMM E1" -sensors = { temperature = 1 } -refdes = "M12" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1a -device = "tse2004av" -name = "DIMM_F0" -description = "DIMM F0" -sensors = { temperature = 1 } -refdes = "M5" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1b -device = "tse2004av" -name = "DIMM_F1" -description = "DIMM F1" -sensors = { temperature = 1 } -refdes = "M13" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1c -device = "tse2004av" -name = "DIMM_G0" -description = "DIMM G0" -sensors = { temperature = 1 } -refdes = "M6" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1d -device = "tse2004av" -name = "DIMM_G1" -description = "DIMM G1" -sensors = { temperature = 1 } -refdes = "M14" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1e -device = "tse2004av" -name = "DIMM_H0" -description = "DIMM H0" -sensors = { temperature = 1 } -refdes = "M7" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1f -device = "tse2004av" -name = "DIMM_H1" -description = "DIMM H1" -sensors = { temperature = 1 } -refdes = "M15" -removable = true - -################################################################################ - -[config.spi.spi2] -controller = 2 - -[config.spi.spi2.mux_options.port_i] -outputs = [ - {port = "I", pins = [1, 3], af = 5}, -] -input = {port = "I", pin = 2, af = 5} - -[config.spi.spi2.mux_options.port_b] -outputs = [ - {port = "B", pins = [13, 15], af = 5}, -] -input = {port = "B", pin = 14, af = 5} - -[config.spi.spi2.devices.sequencer] -mux = "port_b" -cs = [{port = "B", pin = 5}] - -[config.spi.spi2.devices.ice40] -mux = "port_b" -cs = [{port = "B", pin = 5}] - -[config.spi.spi2.devices.ksz8463] -mux = "port_i" -cs = [{port = "I", pin = 0}] - -[config.spi.spi2.devices.local_flash] -mux = "port_b" -cs = [{port = "B", pin = 12}] - -[config.spi.spi4] -controller = 4 - -[config.spi.spi4.mux_options.rot] -outputs = [ - {port = "E", pins = [2, 6], af = 5}, -] -input = {port = "E", pin = 5, af = 5} - -[config.spi.spi4.devices.rot] -mux = "rot" -cs = [{port = "E", pin = 4}] -clock_divider = "DIV16" - -[config.net] -[config.net.sockets.echo] -kind = "udp" -owner = {name = "udpecho", notification = 1} -port = 7 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } diff --git a/humility-bin/tests/cmd/extract/extract.chilly.0.toml b/humility-bin/tests/cmd/extract/extract.chilly.0.toml deleted file mode 100644 index 11958697a..000000000 --- a/humility-bin/tests/cmd/extract/extract.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 extract app.toml" - diff --git a/humility-bin/tests/cmd/extract/extract.kernel-panic.0.stderr b/humility-bin/tests/cmd/extract/extract.kernel-panic.0.stderr deleted file mode 100644 index db86d97e5..000000000 --- a/humility-bin/tests/cmd/extract/extract.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: extracting app.toml to stdout diff --git a/humility-bin/tests/cmd/extract/extract.kernel-panic.0.stdout b/humility-bin/tests/cmd/extract/extract.kernel-panic.0.stdout deleted file mode 100644 index 2e95b9e33..000000000 --- a/humility-bin/tests/cmd/extract/extract.kernel-panic.0.stdout +++ /dev/null @@ -1,236 +0,0 @@ -name = "demo-stm32h753-nucleo" -target = "thumbv7em-none-eabihf" -board = "nucleo-h753zi" -chip = "../../chips/stm32h7" -stacksize = 896 - -[kernel] -path = "." -name = "demo-stm32h7-nucleo" -requires = {flash = 23000, ram = 5120} -# -# For the kernel (and for any task that logs), we are required to enable -# either "itm" (denoting logging/panicking via ARM's Instrumentation Trace -# Macrocell) or "semihosting" (denoting logging/panicking via ARM -# semihosting). We are biased to ITM because semihosting is excruciatingly -# slow (it is breakpoint based) and has an undesirable failure mode if logging -# output is generated and debugger is not attached (namely, the target stops). -# If one does choose to change this to semihosting for purposes of -# development, be sure to also change it in every task of interest. -# -features = ["h753", "itm"] - -[supervisor] -notification = 1 - -# Flash sections are mapped into flash bank 1 (of 2). -[outputs.flash] -address = 0x08000000 -size = 1048576 -read = true -execute = true - -# RAM sections are currently mapped into DTCM, a small but fast SRAM. -[outputs.ram] -address = 0x20000000 -size = 131072 -read = true -write = true -execute = false # let's assume XN until proven otherwise - -# Network buffers are placed in sram1, which is directly accessible by the -# Ethernet MAC. -[outputs.sram1] -address = 0x30000000 -size = 0x20000 -read = true -write = true -dma = true - -[tasks.jefe] -path = "../../task/jefe" -name = "task-jefe" -priority = 0 -requires = {flash = 8192, ram = 2048} -start = true -features = ["itm"] -stacksize = 1536 - -[tasks.sys] -path = "../../drv/stm32xx-sys" -name = "drv-stm32xx-sys" -features = ["h753"] -priority = 1 -requires = {flash = 2048, ram = 1024} -uses = ["rcc", "gpios1", "gpios2", "gpios3"] -start = true - -[tasks.i2c_driver] -path = "../../drv/stm32h7-i2c-server" -name = "drv-stm32h7-i2c-server" -features = ["h753"] -priority = 2 -requires = {flash = 16384, ram = 2048} -uses = ["i2c1", "i2c2", "i2c3", "i2c4"] -start = true -task-slots = ["sys"] - -[tasks.i2c_driver.interrupts] -"i2c2.event" = 0b0000_0010 -"i2c2.error" = 0b0000_0010 - -[tasks.spi_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi1", "h753"] -uses = ["spi1"] -start = true -interrupts = {"spi1.irq" = 1} -stacksize = 880 -task-slots = ["sys"] - -[tasks.spi_driver.config.spi] -global_config = "spi1" - -[tasks.net] -path = "../../task/net" -name = "task-net" -stacksize = 3800 -priority = 2 -requires = {flash = 131072, ram = 8192, sram1 = 32768} -features = ["h753"] -sections = {eth_bulk = "sram1"} -uses = ["eth", "eth_dma", "system_flash"] -start = true -interrupts = {"eth.irq" = 0b1} -task-slots = ["sys"] - -[tasks.user_leds] -path = "../../drv/user-leds" -name = "drv-user-leds" -features = ["stm32h7"] -priority = 2 -requires = {flash = 2048, ram = 1024} -start = true -task-slots = ["sys"] - -[tasks.ping] -path = "../../task/ping" -name = "task-ping" -features = [] -priority = 4 -requires = {flash = 8192, ram = 1024} -start = true -task-slots = [{peer = "pong"}] - -[tasks.pong] -path = "../../task/pong" -name = "task-pong" -priority = 3 -requires = {flash = 1024, ram = 1024} -start = true -task-slots = ["user_leds"] - -[tasks.udpecho] -path = "../../task/udpecho" -name = "task-udpecho" -priority = 3 -requires = {flash = 32768, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] - -[tasks.hiffy] -path = "../../task/hiffy" -name = "task-hiffy" -features = ["h753", "stm32h7", "itm", "i2c", "gpio", "spi", "qspi", "hash"] -priority = 5 -requires = {flash = 32768, ram = 32768 } -stacksize = 2048 -start = true -task-slots = ["sys", "i2c_driver", "hf", "hash_driver"] - -[tasks.hf] -path = "../../drv/gimlet-hf-server" -name = "drv-gimlet-hf-server" -features = ["h753", "hash"] -priority = 4 -requires = {flash = 16384, ram = 4096 } -stacksize = 2048 -start = true -uses = ["quadspi"] -interrupts = {"quadspi.irq" = 1} -task-slots = ["sys", "hash_driver"] - -[tasks.hash_driver] -path = "../../drv/stm32h7-hash-server" -name = "drv-stm32h7-hash-server" -features = ["h753"] -priority = 3 -requires = {flash = 8192, ram=4096 } -stacksize = 2048 -start = true -uses = ["hash"] -interrupts = {"hash.irq" = 1} -task-slots = ["sys"] - -[tasks.idle] -path = "../../task/idle" -name = "task-idle" -priority = 6 -requires = {flash = 128, ram = 256} -stacksize = 256 -start = true - -[tasks.rng_driver] -features = ["h753"] -path = "../../drv/stm32h7-rng" -priority = 3 -name = "drv-stm32h7-rng" -requires = {flash = 8192, ram = 512} -stacksize = 256 -start = true -task-slots = ["sys", "user_leds"] -uses = ["rng"] - -[config] -[[config.i2c.controllers]] -controller = 2 - -[[config.i2c.controllers.ports.F.pins]] -pins = [ 0, 1 ] -af = 4 - -# -# To use the Nucleo board as an SPD initiator, uncomment the following: -# -# [[config.i2c.controllers.ports.F.muxes]] -# driver = "ltc4306" -# address = 0b1001_010 - - -[config.spi.spi1] -controller = 1 - -[config.spi.spi1.mux_options.cn7_arduino] -outputs = [ - {port = "A", pins = [3], af = 5}, - {port = "B", pins = [5], af = 5}, -] -input = {port = "A", pin = 6, af = 5} - -[config.spi.spi1.devices.pins] -mux = "cn7_arduino" -cs = [{port = "D", pin = 14}] -clock_divider = "DIV32" - -[config.net] - -[config.net.sockets.echo] -kind = "udp" -owner = {name = "udpecho", notification = 1} -port = 7 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } diff --git a/humility-bin/tests/cmd/extract/extract.kernel-panic.0.toml b/humility-bin/tests/cmd/extract/extract.kernel-panic.0.toml deleted file mode 100644 index 0e8f6da63..000000000 --- a/humility-bin/tests/cmd/extract/extract.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 extract app.toml" - diff --git a/humility-bin/tests/cmd/extract/extract.kernel-panic.1.stderr b/humility-bin/tests/cmd/extract/extract.kernel-panic.1.stderr deleted file mode 100644 index db86d97e5..000000000 --- a/humility-bin/tests/cmd/extract/extract.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: extracting app.toml to stdout diff --git a/humility-bin/tests/cmd/extract/extract.kernel-panic.1.stdout b/humility-bin/tests/cmd/extract/extract.kernel-panic.1.stdout deleted file mode 100644 index 1cf502a08..000000000 --- a/humility-bin/tests/cmd/extract/extract.kernel-panic.1.stdout +++ /dev/null @@ -1,1240 +0,0 @@ -name = "gimlet-b" -target = "thumbv7em-none-eabihf" -board = "gimlet-b" -chip = "../../chips/stm32h7" -memory = "memory-large.toml" -stacksize = 896 - -[kernel] -name = "gimlet" -requires = {flash = 32768, ram = 8192} - -[tasks.jefe] -name = "task-jefe" -priority = 0 -max-sizes = {flash = 8192, ram = 2048} -start = true -features = ["itm"] -stacksize = 1536 - -[tasks.jefe.config] -tasks-to-hold = ["thermal"] - -[tasks.jefe.config.on-state-change] -net = {bit-number = 3} -host_sp_comms = {bit-number = 1} -spd = {bit-number = 8} - -[tasks.jefe.config.allowed-callers] -set_state = ["gimlet_seq"] -set_reset_reason = ["sys"] -request_reset = ["hiffy", "control_plane_agent"] - -[tasks.net] -name = "task-net" -stacksize = 6040 -priority = 5 -features = ["mgmt", "h753", "gimlet", "vlan", "vpd-mac"] -max-sizes = {flash = 131072, ram = 32768, sram1 = 16384} -sections = {eth_bulk = "sram1"} -uses = ["eth", "eth_dma", "system_flash", "tim16"] -start = true -interrupts = {"eth.irq" = 0b1, "tim16.irq" = 0b10} -task-slots = ["sys", "i2c_driver", { spi_driver = "spi2_driver" }, "jefe"] - -[tasks.sys] -name = "drv-stm32xx-sys" -features = ["h753"] -priority = 1 -max-sizes = {flash = 2048, ram = 1024} -uses = ["rcc", "gpios1", "gpios2", "gpios3"] -start = true -task-slots = ["jefe"] - -[tasks.spi4_driver] -name = "drv-stm32h7-spi-server" -priority = 3 -max-sizes = {flash = 16384, ram = 2048} -features = ["spi4", "h753"] -uses = ["spi4"] -start = true -interrupts = {"spi4.irq" = 1} -stacksize = 872 -task-slots = ["sys"] - -[tasks.spi4_driver.config.spi] -global_config = "spi4" - -[tasks.spi2_driver] -name = "drv-stm32h7-spi-server" -priority = 3 -max-sizes = {flash = 16384, ram = 2048} -features = ["spi2", "h753"] -uses = ["spi2"] -start = true -interrupts = {"spi2.irq" = 1} -stacksize = 872 -task-slots = ["sys"] - -[tasks.spi2_driver.config.spi] -global_config = "spi2" - -[tasks.i2c_driver] -name = "drv-stm32xx-i2c-server" -features = ["h753", "itm"] -priority = 3 -max-sizes = {flash = 16384, ram = 2048} -uses = ["i2c2", "i2c3", "i2c4"] -start = true -task-slots = ["sys"] - -[tasks.i2c_driver.interrupts] -"i2c2.event" = 0b0000_0010 -"i2c2.error" = 0b0000_0010 -"i2c3.event" = 0b0000_0100 -"i2c3.error" = 0b0000_0100 -"i2c4.event" = 0b0000_1000 -"i2c4.error" = 0b0000_1000 - -[tasks.spd] -name = "task-spd" -features = ["h753", "itm"] -priority = 2 -max-sizes = {flash = 16384, ram = 16384} -uses = ["i2c1"] -start = true -task-slots = ["sys", "i2c_driver", "jefe"] - -[tasks.spd.interrupts] -"i2c1.event" = 0b0000_0001 -"i2c1.error" = 0b0000_0001 - -[tasks.thermal] -name = "task-thermal" -features = ["itm", "gimlet"] -priority = 5 -max-sizes = {flash = 32768, ram = 8192 } -stacksize = 4504 -start = true -task-slots = ["i2c_driver", "sensor", "gimlet_seq", "jefe"] - -[tasks.power] -name = "task-power" -features = ["itm", "gimlet"] -priority = 6 -max-sizes = {flash = 32768, ram = 8192 } -stacksize = 1000 -start = true -task-slots = ["i2c_driver", "sensor", "gimlet_seq"] - -[tasks.hiffy] -name = "task-hiffy" -features = ["h753", "stm32h7", "itm", "i2c", "gpio", "spi", "qspi", "hash", "update", "sprot"] -priority = 5 -max-sizes = {flash = 32768, ram = 32768 } -stacksize = 1024 -start = true -task-slots = ["sys", "hf", "i2c_driver", "hash_driver", "update_server", "sprot"] - -[tasks.gimlet_seq] -name = "drv-gimlet-seq-server" -features = ["h753"] -priority = 4 -max-sizes = {flash = 65536, ram = 4096 } -stacksize = 1600 -start = true -task-slots = ["sys", "i2c_driver", {spi_driver = "spi2_driver"}, "hf", "jefe"] - -[tasks.gimlet_seq.config] -fpga_image = "fpga-b.bin" -register_defs = "gimlet-regs-b.json" - -[tasks.hash_driver] -name = "drv-stm32h7-hash-server" -features = ["h753"] -priority = 2 -max-sizes = {flash = 16384, ram=4096 } -stacksize = 2048 -start = true -uses = ["hash"] -interrupts = {"hash.irq" = 1} -task-slots = ["sys"] - -[tasks.hf] -name = "drv-gimlet-hf-server" -features = ["h753", "hash"] -priority = 3 -max-sizes = {flash = 16384, ram = 2048 } -stacksize = 1920 -start = true -uses = ["quadspi"] -interrupts = {"quadspi.irq" = 1} -task-slots = ["sys", "hash_driver"] - -[tasks.update_server] -name = "stm32h7-update-server" -priority = 3 -max-sizes = {flash = 16384, ram = 4096} -stacksize = 2048 -start = true -uses = ["flash_controller", "bank2"] -interrupts = {"flash_controller.irq" = 0b1} - -[tasks.sensor] -name = "task-sensor" -features = ["itm"] -priority = 4 -max-sizes = {flash = 8192, ram = 8192 } -stacksize = 1024 -start = true - -[tasks.host_sp_comms] -name = "task-host-sp-comms" -features = ["stm32h753", "uart7", "baud_rate_3M", "hardware_flow_control", "vlan"] -uses = ["uart7"] -interrupts = {"uart7.irq" = 0b01} -priority = 7 -max-sizes = {flash = 32768, ram = 32768} -stacksize = 2048 -start = true -task-slots = ["sys", "gimlet_seq", "hf", "control_plane_agent", "net"] - -[tasks.udpecho] -name = "task-udpecho" -priority = 6 -max-sizes = {flash = 16384, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] -features = ["vlan"] - -[tasks.udpbroadcast] -name = "task-udpbroadcast" -priority = 6 -max-sizes = {flash = 16384, ram = 8192} -stacksize = 2048 -start = true -task-slots = ["net"] -features = ["vlan"] - -[tasks.udprpc] -name = "task-udprpc" -priority = 6 -max-sizes = {flash = 32768, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] -features = ["vlan"] - -[tasks.control_plane_agent] -name = "task-control-plane-agent" -priority = 6 -max-sizes = {flash = 131072, ram = 16384} -stacksize = 4096 -start = true -uses = [ - "usart1", - "system_flash", # TODO also used by `net`, both to read the stm32 uid -] -task-slots = [ - "jefe", - "net", - "update_server", - "sys", - "hf", - "gimlet_seq", - "validate", - "sensor", - "sprot", - "i2c_driver", -] -features = [ - "gimlet", - "usart1", - "vlan", - "baud_rate_3M", - "vpd-identity", -] -interrupts = {"usart1.irq" = 0b10} - -[tasks.sprot] -name = "drv-stm32h7-sprot-server" -priority = 4 -max-sizes = {flash = 32768, ram = 32768} -stacksize = 16384 -start = true -task-slots = ["sys", {spi_driver = "spi4_driver"}] -features = ["sink_test"] - -[tasks.validate] -name = "task-validate" -priority = 5 -max-sizes = {flash = 16384, ram = 4096 } -stacksize = 1000 -start = true -task-slots = ["i2c_driver"] - -[tasks.vpd] -name = "task-vpd" -priority = 4 -max-sizes = {flash = 8192, ram = 1024} -start = true -task-slots = ["sys", "i2c_driver"] -stacksize = 800 - -[tasks.idle] -name = "task-idle" -priority = 8 -max-sizes = {flash = 128, ram = 256} -stacksize = 256 -start = true - -[config] - -# -# I2C1: SPD proxy bus -# -[[config.i2c.controllers]] -controller = 1 -target = true - -# -# SMBUS_SPD_PROXY_SP3_TO_SP_SMCLK -# SMBUS_SPD_PROXY_SP3_TO_SP_SMDAT -# -[config.i2c.controllers.ports.B] -name = "spd" -description = "SPD proxy" -pins = [ { pins = [ 6, 7 ], af = 4 } ] - -# -# I2C2: Front/M.2 bus -# -[[config.i2c.controllers]] -controller = 2 - -# -# SMBUS_SP_TO_M2_SMCLK_A2_V3P3 -# SMBUS_SP_TO_M2_SMDAT_A2_V3P3 -# -[config.i2c.controllers.ports.B] -name = "m2" -description = "M.2 bus" -pins = [ { pins = [ 10, 11 ], af = 4 } ] -muxes = [ { driver = "pca9548", address = 0x73 } ] - -# -# SMBUS_SP_TO_LVL_FRONT_SMDAT -# SMBUS_SP_TO_LVL_FRONT_SMCLK -# -[config.i2c.controllers.ports.F] -name = "front" -description = "Front bus" -pins = [ { pins = [ 0, 1 ], af = 4 } ] - -# -# Shark fin muxes -# -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x70 - -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x71 - -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x72 - -# -# I2C3: Mid bus -# -[[config.i2c.controllers]] -controller = 3 - -# -# SMBUS_SP_TO_LVL_MID_SMCLK -# SMBUS_SP_TO_LVL_MID_SMDAT -# -[config.i2c.controllers.ports.H] -name = "mid" -description = "Mid bus" -pins = [ { pins = [ 7, 8 ], af = 4 } ] - -# -# I2C4: Rear bus -# -[[config.i2c.controllers]] -controller = 4 - -# -# SMBUS_SP_TO_LVL_REAR_SMCLK -# SMBUS_SP_TO_LVL_REAR_SMDAT -# -[config.i2c.controllers.ports.F] -name = "rear" -description = "Rear bus" -pins = [ { pins = [ 14, 15 ], af = 4 } ] - -[[config.i2c.devices]] -bus = "front" -address = 0x48 -device = "tmp117" -name = "Southwest" -description = "Southwest temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J194" - -[[config.i2c.devices]] -bus = "front" -address = 0x49 -device = "tmp117" -name = "South" -description = "South temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J195" - -[[config.i2c.devices]] -bus = "front" -address = 0x4a -device = "tmp117" -name = "Southeast" -description = "Southeast temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J196" - -[[config.i2c.devices]] -bus = "front" -address = 0x70 -device = "pca9545" -description = "U.2 ABCD mux" -refdes = "U336" - -[[config.i2c.devices]] -bus = "front" -address = 0x71 -device = "pca9545" -description = "U.2 EFGH mux" -refdes = "U339" - -[[config.i2c.devices]] -bus = "front" -address = 0x72 -device = "pca9545" -description = "U.2 IJ/FRUID mux" -refdes = "U337" - -################################################################################ -# Sharkfins -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 1 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin A VPD" -refdes = "J206" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 1 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin A hot swap controller" -power = { rails = [ "V12_U2A_A0", "V3P3_U2A_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J206" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 1 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 A NVMe Basic Management Command" -sensors = { temperature = 1 } -name = "U2_N0" -refdes = "J206" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 2 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin B VPD" -refdes = "J207" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 2 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin B hot swap controller" -power = { rails = [ "V12_U2B_A0", "V3P3_U2B_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J207" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 2 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 B NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N1" -refdes = "J207" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 3 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin C VPD" -refdes = "J208" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 3 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin C hot swap controller" -power = { rails = [ "V12_U2C_A0", "V3P3_U2C_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J208" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 3 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 C NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N2" -refdes = "J208" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 4 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin D VPD" -refdes = "J209" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 4 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin D hot swap controller" -power = { rails = [ "V12_U2D_A0", "V3P3_U2D_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J209" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 1 -segment = 4 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 D NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N3" -refdes = "J209" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 1 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin E VPD" -refdes = "J210" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 1 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin E hot swap controller" -power = { rails = [ "V12_U2E_A0", "V3P3_U2E_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J210" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 1 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 E NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N4" -refdes = "J210" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 2 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin F VPD" -refdes = "J211" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 2 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin F hot swap controller" -power = { rails = [ "V12_U2F_A0", "V3P3_U2F_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J211" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 2 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 F NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N5" -refdes = "J211" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 3 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin G VPD" -refdes = "J212" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 3 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin G hot swap controller" -power = { rails = [ "V12_U2G_A0", "V3P3_U2G_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J212" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 3 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 G NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N6" -refdes = "J212" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 4 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin H VPD" -refdes = "J213" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 4 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin H hot swap controller" -power = { rails = [ "V12_U2H_A0", "V3P3_U2H_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J213" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 2 -segment = 4 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 H NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N7" -refdes = "J213" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 1 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin I VPD" -refdes = "J214" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 1 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin I hot swap controller" -power = { rails = [ "V12_U2I_A0", "V3P3_U2I_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J214" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 1 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 I NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N8" -refdes = "J214" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 2 -address = 0b1010_000 -device = "at24csw080" -description = "U.2 Sharkfin J VPD" -refdes = "J215" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 2 -address = 0b0111_000 -device = "max5970" -description = "U.2 Sharkfin J hot swap controller" -power = { rails = [ "V12_U2J_A0", "V3P3_U2J_A0" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "J215" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 2 -address = 0b110_1010 -device = "nvme_bmc" -description = "U.2 J NVMe Basic Management Control" -sensors = { temperature = 1 } -name = "U2_N9" -refdes = "J215" -removable = true - -[[config.i2c.devices]] -bus = "front" -mux = 3 -segment = 4 -address = 0b1010_000 -device = "at24csw080" -name = "local_vpd" -description = "Gimlet VPD" -refdes = "U615" - -[[config.i2c.devices]] -bus = "m2" -address = 0x73 -device = "pca9545" -description = "M.2 mux" -refdes = "U422" - -[[config.i2c.devices]] -bus = "m2" -mux = 1 -segment = 1 -address = 0b110_1010 -device = "m2_hp_only" -description = "M.2 A NVMe Basic Management Command" -name = "M2_A" -sensors = { temperature = 1 } -removable = true - -[[config.i2c.devices]] -bus = "m2" -mux = 1 -segment = 2 -address = 0b110_1010 -device = "m2_hp_only" -description = "M.2 B NVMe Basic Management Command" -name = "M2_B" -sensors = { temperature = 1 } -removable = true - -[[config.i2c.devices]] -bus = "m2" -mux = 1 -segment = 3 -address = 0b1010_000 -device = "at24csw080" -description = "Fan VPD" -refdes = "J180" -removable = true - -[[config.i2c.devices]] -bus = "m2" -mux = 1 -segment = 4 -address = 0x4c -device = "tmp451" -name = "t6" -sensors = { temperature = 1 } -description = "T6 temperature sensor" -refdes = "U491" - -[[config.i2c.devices]] -bus = "mid" -address = 0x24 -device = "tps546b24a" -description = "A2 3.3V rail" -power = { rails = [ "V3P3_SP_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U522" - -[[config.i2c.devices]] -bus = "mid" -address = 0x26 -device = "tps546b24a" -description = "A0 3.3V rail" -power = { rails = [ "V3P3_SYS_A0" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U560" - -[[config.i2c.devices]] -bus = "mid" -address = 0x27 -device = "tps546b24a" -description = "A2 5V rail" -power = { rails = [ "V5_SYS_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U524" - -[[config.i2c.devices]] -bus = "mid" -address = 0x29 -device = "tps546b24a" -description = "A2 1.8V rail" -power = { rails = [ "V1P8_SYS_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U561" - -[[config.i2c.devices]] -bus = "mid" -address = 0x3a -device = "max5970" -name = "m2" -description = "M.2 hot plug controller" -power = { rails = [ "V3P3_M2A_A0HP", "V3P3_M2B_A0HP" ], pmbus = false } -sensors = { voltage = 2, current = 2 } -refdes = "U275" - -[[config.i2c.devices]] -bus = "mid" -address = 0x4c -device = "sbtsi" -name = "CPU" -description = "CPU temperature sensor" -sensors = { temperature = 1 } - -[[config.i2c.devices]] -bus = "mid" -address = 0x58 -device = "idt8a34003" -description = "Clock generator" -refdes = "U446" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5a -device = "raa229618" -description = "CPU power controller" -power = { rails = [ "VDD_VCORE", "VDD_MEM_ABCD" ] } -sensors = { temperature = 2, power = 2, voltage = 2, current = 2 } -refdes = "U350" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5b -device = "raa229618" -description = "SoC power controller" -power = { rails = [ "VDDCR_SOC", "VDD_MEM_EFGH" ] } -sensors = { temperature = 2, power = 2, voltage = 2, current = 2 } -refdes = "U351" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5c -device = "isl68224" -description = "DIMM/SP3 1.8V A0 power controller" -power = { rails = [ "VPP_ABCD", "VPP_EFGH", "V1P8_SP3" ] } -sensors = { voltage = 3, current = 3 } -refdes = "U352" - -[[config.i2c.devices]] -bus = "rear" -address = 0x10 -device = "adm1272" -description = "Fan hot swap controller" -power = { rails = [ "V54_FAN" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U419" - -[[config.i2c.devices]] -bus = "rear" -address = 0x14 -device = "adm1272" -description = "Sled hot swap controller" -power = { rails = [ "V54_HS_OUTPUT" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U452" - -[[config.i2c.devices]] -bus = "rear" -address = 0x20 -device = "max31790" -description = "Fan controller" -sensors = { speed = 6, names = [ - "Southeast", "Northeast", "South", "North", "Southwest", "Northwest" -] } -refdes = "U321" - -[[config.i2c.devices]] -bus = "rear" -address = 0x25 -device = "tps546b24a" -description = "T6 power controller" -power = { rails = [ "V0P96_NIC_VDD_A0HP" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U565" - -[[config.i2c.devices]] -bus = "rear" -address = 0x48 -device = "tmp117" -name = "Northeast" -description = "Northeast temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J197" - -[[config.i2c.devices]] -bus = "rear" -address = 0x49 -device = "tmp117" -name = "North" -description = "North temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J198" - -[[config.i2c.devices]] -bus = "rear" -address = 0x4a -device = "tmp117" -name = "Northwest" -description = "Northwest temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J199" - -[[config.i2c.devices]] -bus = "rear" -address = 0x67 -device = "bmr491" -name = "IBC" -description = "Intermediate bus converter" -power = { rails = [ "V12_SYS_A2" ] } -sensors = { temperature = 1, power = 1, voltage = 1, current = 1 } -refdes = "U431" - -################################################################################ -# DIMM slots -[[config.i2c.devices]] -bus = "mid" -address = 0x18 -device = "tse2004av" -name = "DIMM_A0" -description = "DIMM A0" -sensors = { temperature = 1 } -refdes = "M0" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x19 -device = "tse2004av" -name = "DIMM_A1" -description = "DIMM A1" -sensors = { temperature = 1 } -refdes = "M8" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1a -device = "tse2004av" -name = "DIMM_B0" -description = "DIMM B0" -sensors = { temperature = 1 } -refdes = "M1" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1b -device = "tse2004av" -name = "DIMM_B1" -description = "DIMM B1" -sensors = { temperature = 1 } -refdes = "M9" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1c -device = "tse2004av" -name = "DIMM_C0" -description = "DIMM C0" -sensors = { temperature = 1 } -refdes = "M2" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1d -device = "tse2004av" -name = "DIMM_C1" -description = "DIMM C1" -sensors = { temperature = 1 } -refdes = "M10" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1e -device = "tse2004av" -name = "DIMM_D0" -description = "DIMM D0" -sensors = { temperature = 1 } -refdes = "M3" -removable = true - -[[config.i2c.devices]] -bus = "mid" -address = 0x1f -device = "tse2004av" -name = "DIMM_D1" -description = "DIMM D1" -sensors = { temperature = 1 } -refdes = "M11" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x18 -device = "tse2004av" -name = "DIMM_E0" -description = "DIMM E0" -sensors = { temperature = 1 } -refdes = "M4" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x19 -device = "tse2004av" -name = "DIMM_E1" -description = "DIMM E1" -sensors = { temperature = 1 } -refdes = "M12" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1a -device = "tse2004av" -name = "DIMM_F0" -description = "DIMM F0" -sensors = { temperature = 1 } -refdes = "M5" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1b -device = "tse2004av" -name = "DIMM_F1" -description = "DIMM F1" -sensors = { temperature = 1 } -refdes = "M13" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1c -device = "tse2004av" -name = "DIMM_G0" -description = "DIMM G0" -sensors = { temperature = 1 } -refdes = "M6" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1d -device = "tse2004av" -name = "DIMM_G1" -description = "DIMM G1" -sensors = { temperature = 1 } -refdes = "M14" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1e -device = "tse2004av" -name = "DIMM_H0" -description = "DIMM H0" -sensors = { temperature = 1 } -refdes = "M7" -removable = true - -[[config.i2c.devices]] -bus = "rear" -address = 0x1f -device = "tse2004av" -name = "DIMM_H1" -description = "DIMM H1" -sensors = { temperature = 1 } -refdes = "M15" -removable = true - -################################################################################ - -[config.spi.spi2] -controller = 2 - -[config.spi.spi2.mux_options.port_i] -outputs = [ - {port = "I", pins = [1, 3], af = 5}, -] -input = {port = "I", pin = 2, af = 5} - -[config.spi.spi2.mux_options.port_b] -outputs = [ - {port = "B", pins = [13, 15], af = 5}, -] -input = {port = "B", pin = 14, af = 5} - -[config.spi.spi2.devices.sequencer] -mux = "port_b" -cs = [{port = "B", pin = 5}] - -[config.spi.spi2.devices.ice40] -mux = "port_b" -cs = [{port = "B", pin = 5}] - -[config.spi.spi2.devices.ksz8463] -mux = "port_i" -cs = [{port = "I", pin = 0}] - -[config.spi.spi2.devices.local_flash] -mux = "port_b" -cs = [{port = "B", pin = 12}] - -[config.spi.spi4] -controller = 4 - -[config.spi.spi4.mux_options.rot] -outputs = [ - {port = "E", pins = [2, 6], af = 5}, -] -input = {port = "E", pin = 5, af = 5} - -[config.spi.spi4.devices.rot] -mux = "rot" -cs = [{port = "E", pin = 4}] -clock_divider = "DIV256" - -[config.net] -vlan = { start = 0x301, count = 2 } - -[config.net.sockets.echo] -kind = "udp" -owner = {name = "udpecho", notification = 1} -port = 7 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } - -[config.net.sockets.broadcast] -kind = "udp" -owner = {name = "udpbroadcast", notification = 1} -port = 997 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } - -[config.net.sockets.rpc] -kind = "udp" -owner = {name = "udprpc", notification = 1} -port = 998 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } - -[config.net.sockets.control_plane_agent] -kind = "udp" -owner = {name = "control_plane_agent", notification = 0b01} -port = 11111 # TODO do we have a documented port for MGS traffic? -tx = { packets = 3, bytes = 2048 } -rx = { packets = 3, bytes = 2048 } - -[config.sprot] -# ROT_IRQ (af=0 for GPIO, af=15 when EXTI is implemneted) -rot_irq = { port = "E", pin = 3, af = 0} diff --git a/humility-bin/tests/cmd/extract/extract.kernel-panic.1.toml b/humility-bin/tests/cmd/extract/extract.kernel-panic.1.toml deleted file mode 100644 index a0cb1cefd..000000000 --- a/humility-bin/tests/cmd/extract/extract.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 extract app.toml" - diff --git a/humility-bin/tests/cmd/extract/extract.spoopy.0.stderr b/humility-bin/tests/cmd/extract/extract.spoopy.0.stderr deleted file mode 100644 index db86d97e5..000000000 --- a/humility-bin/tests/cmd/extract/extract.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: extracting app.toml to stdout diff --git a/humility-bin/tests/cmd/extract/extract.spoopy.0.stdout b/humility-bin/tests/cmd/extract/extract.spoopy.0.stdout deleted file mode 100644 index c623b5f61..000000000 --- a/humility-bin/tests/cmd/extract/extract.spoopy.0.stdout +++ /dev/null @@ -1,594 +0,0 @@ -name = "gimlet-b" -target = "thumbv7em-none-eabihf" -board = "gimlet-b" -chip = "../../chips/stm32h7.toml" -stacksize = 896 - -[kernel] -path = "." -name = "gimlet" -requires = {flash = 32768, ram = 8192} -# -# For the kernel (and for any task that logs), we are required to enable -# either "itm" (denoting logging/panicking via ARM's Instrumentation Trace -# Macrocell) or "semihosting" (denoting logging/panicking via ARM -# semihosting). We are biased to ITM because semihosting is excruciatingly -# slow (it is breakpoint based) and has an undesirable failure mode if logging -# output is generated and debugger is not attached (namely, the target stops). -# If one does choose to change this to semihosting for purposes of -# development, be sure to also change it in every task of interest. -# -features = ["itm"] - -[supervisor] -notification = 1 - -# Flash sections are mapped into flash bank 1 (of 2). -[outputs.flash] -address = 0x08000000 -size = 1048576 -read = true -execute = true - -# RAM sections are currently mapped into DTCM, a small but fast SRAM. -[outputs.ram] -address = 0x20000000 -size = 131072 -read = true -write = true -execute = false # let's assume XN until proven otherwise - -# Network buffers are placed in sram1, which is directly accessible by the -# Ethernet MAC. -[outputs.sram1] -address = 0x30000000 -size = 0x20000 -read = true -write = true -dma = true - -[tasks.jefe] -path = "../../task/jefe" -name = "task-jefe" -priority = 0 -requires = {flash = 8192, ram = 2048} -start = true -features = ["itm"] -stacksize = 1536 - -[tasks.net] -path = "../../task/net" -name = "task-net" -stacksize = 3800 -priority = 2 -features = ["mgmt", "h753", "gimlet"] -requires = {flash = 131072, ram = 8192, sram1 = 16384} -sections = {eth_bulk = "sram1"} -uses = ["eth", "eth_dma", "system_flash"] -start = true -interrupts = {"eth.irq" = 0b1} -task-slots = ["sys", "rcc_driver", - { spi_driver = "spi2_driver" }, - { seq = "gimlet_seq" }] - -[tasks.sys] -path = "../../drv/stm32xx-sys" -name = "drv-stm32xx-sys" -features = ["h753"] -priority = 1 -requires = {flash = 2048, ram = 1024} -uses = ["rcc", "gpios1", "gpios2", "gpios3"] -start = true - -[tasks.spi4_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi4", "h753"] -uses = ["spi4"] -start = true -interrupts = {"spi4.irq" = 1} -stacksize = 872 -task-slots = ["sys"] - -[tasks.spi4_driver.config.spi] -global_config = "spi4" - -[tasks.spi2_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi2", "h753"] -uses = ["spi2"] -start = true -interrupts = {"spi2.irq" = 1} -stacksize = 872 -task-slots = ["sys"] - -[tasks.spi2_driver.config.spi] -global_config = "spi2" - -[tasks.i2c_driver] -path = "../../drv/stm32h7-i2c-server" -name = "drv-stm32h7-i2c-server" -features = ["h753", "itm"] -priority = 2 -requires = {flash = 16384, ram = 2048} -uses = ["i2c2", "i2c3", "i2c4"] -start = true -task-slots = ["sys"] - -[tasks.i2c_driver.interrupts] -"i2c2.event" = 0b0000_0010 -"i2c2.error" = 0b0000_0010 -"i2c3.event" = 0b0000_0100 -"i2c3.error" = 0b0000_0100 -"i2c4.event" = 0b0000_1000 -"i2c4.error" = 0b0000_1000 - -[tasks.spd] -path = "../../task/spd" -name = "task-spd" -features = ["h753", "itm"] -priority = 2 -requires = {flash = 16384, ram = 16384} -uses = ["i2c1"] -start = true -task-slots = ["sys", "i2c_driver"] - -[tasks.spd.interrupts] -"i2c1.event" = 0b0000_0001 -"i2c1.error" = 0b0000_0001 - -[tasks.thermal] -path = "../../task/thermal" -name = "task-thermal" -features = ["itm", "h753"] -priority = 3 -requires = {flash = 8192, ram = 2048 } -stacksize = 1920 -start = true -task-slots = ["i2c_driver", "sensor"] - -[tasks.power] -path = "../../task/power" -name = "task-power" -features = ["itm", "h753"] -priority = 3 -requires = {flash = 16384, ram = 4096 } -stacksize = 2048 -start = true -task-slots = ["i2c_driver", "sensor", "gimlet_seq"] - -[tasks.hiffy] -path = "../../task/hiffy" -name = "task-hiffy" -features = ["h753", "stm32h7", "itm", "i2c", "gpio", "spi", "qspi"] -priority = 3 -requires = {flash = 32768, ram = 32768 } -stacksize = 1024 -start = true -task-slots = ["sys", "hf", "i2c_driver"] - -[tasks.gimlet_seq] -path = "../../drv/gimlet-seq-server" -name = "drv-gimlet-seq-server" -features = ["h753"] -priority = 3 -requires = {flash = 65536, ram = 4096 } -stacksize = 1600 -start = true -task-slots = ["sys", "i2c_driver", {spi_driver = "spi2_driver"}, "hf"] - -[tasks.gimlet_seq.config] -fpga_image = "fpga-b.bin" -register_defs = "gimlet_regs.json" - -[tasks.hf] -path = "../../drv/gimlet-hf-server" -name = "drv-gimlet-hf-server" -features = ["h753"] -priority = 3 -requires = {flash = 16384, ram = 2048 } -stacksize = 1920 -start = true -uses = ["quadspi"] -interrupts = {"quadspi.irq" = 1} -task-slots = ["sys"] - -[tasks.sensor] -path = "../../task/sensor" -name = "task-sensor" -features = ["itm"] -priority = 3 -requires = {flash = 8192, ram = 2048 } -stacksize = 1920 # Sensor data is stored on the stack -start = true - -[tasks.udpecho] -path = "../../task/udpecho" -name = "task-udpecho" -priority = 3 -requires = {flash = 16384, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] - -[tasks.idle] -path = "../../task/idle" -name = "task-idle" -priority = 5 -requires = {flash = 128, ram = 256} -stacksize = 256 -start = true - -[config] - -# -# I2C1: SPD proxy bus -# -[[config.i2c.controllers]] -controller = 1 -target = true - -# -# SMBUS_SPD_PROXY_SP3_TO_SP_SMCLK -# SMBUS_SPD_PROXY_SP3_TO_SP_SMDAT -# -[config.i2c.controllers.ports.B] -name = "spd" -description = "SPD proxy" -pins = [ { pins = [ 6, 7 ], af = 4 } ] - -# -# I2C2: Front/M.2 bus -# -[[config.i2c.controllers]] -controller = 2 - -# -# SMBUS_SP_TO_M2_SMCLK_A2_V3P3 -# SMBUS_SP_TO_M2_SMDAT_A2_V3P3 -# -[config.i2c.controllers.ports.B] -name = "m2" -description = "M.2 bus" -pins = [ { pins = [ 10, 11 ], af = 4 } ] -muxes = [ { driver = "pca9548", address = 0x73 } ] - -# -# SMBUS_SP_TO_LVL_FRONT_SMDAT -# SMBUS_SP_TO_LVL_FRONT_SMCLK -# -[config.i2c.controllers.ports.F] -name = "front" -description = "Front bus" -pins = [ { pins = [ 0, 1 ], af = 4 } ] - -# -# Shark fin muxes -# -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x70 - -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x71 - -[[config.i2c.controllers.ports.F.muxes]] -driver = "pca9548" -address = 0x72 - -# -# I2C3: Mid bus -# -[[config.i2c.controllers]] -controller = 3 - -# -# SMBUS_SP_TO_LVL_MID_SMCLK -# SMBUS_SP_TO_LVL_MID_SMDAT -# -[config.i2c.controllers.ports.H] -name = "mid" -description = "Mid bus" -pins = [ { pins = [ 7, 8 ], af = 4 } ] - -# -# I2C4: Rear bus -# -[[config.i2c.controllers]] -controller = 4 - -# -# SMBUS_SP_TO_LVL_REAR_SMCLK -# SMBUS_SP_TO_LVL_REAR_SMDAT -# -[config.i2c.controllers.ports.F] -name = "rear" -description = "Rear bus" -pins = [ { pins = [ 14, 15 ], af = 4 } ] - -[[config.i2c.devices]] -bus = "front" -address = 0x48 -device = "tmp117" -name = "Southwest" -description = "Southwest temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J194" - -[[config.i2c.devices]] -bus = "front" -address = 0x49 -device = "tmp117" -name = "South" -description = "South temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J195" - -[[config.i2c.devices]] -bus = "front" -address = 0x4a -device = "tmp117" -name = "Southeast" -description = "Southeast temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J196" - -[[config.i2c.devices]] -bus = "front" -address = 0x70 -device = "pca9545" -description = "U.2 ABCD mux" -refdes = "U336" - -[[config.i2c.devices]] -bus = "front" -address = 0x71 -device = "pca9545" -description = "U.2 EFGH mux" -refdes = "U339" - -[[config.i2c.devices]] -bus = "front" -address = 0x72 -device = "pca9545" -description = "U.2 IJ/FRUID mux" -refdes = "U337" - -[[config.i2c.devices]] -bus = "m2" -address = 0x73 -device = "pca9545" -description = "M.2 mux" -refdes = "U422" - -[[config.i2c.devices]] -bus = "m2" -mux = 1 -segment = 4 -address = 0x4c -device = "tmp451" -sensors = { temperature = 1 } -description = "T6 temperature sensor" -refdes = "U491" - -[[config.i2c.devices]] -bus = "mid" -address = 0x24 -device = "tps546b24a" -description = "A2 3.3V rail" -pmbus = { rails = [ "V3P3_SP_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U522" - -[[config.i2c.devices]] -bus = "mid" -address = 0x26 -device = "tps546b24a" -description = "A0 3.3V rail" -pmbus = { rails = [ "V3P3_SYS_A0" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U560" - -[[config.i2c.devices]] -bus = "mid" -address = 0x27 -device = "tps546b24a" -description = "A2 5V rail" -pmbus = { rails = [ "V5_SYS_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U524" - -[[config.i2c.devices]] -bus = "mid" -address = 0x29 -device = "tps546b24a" -description = "A2 1.8V rail" -pmbus = { rails = [ "V1P8_SYS_A2" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U561" - -[[config.i2c.devices]] -bus = "mid" -address = 0x3a -device = "max5970" -description = "M.2 hot plug controller" -refdes = "U275" - -[[config.i2c.devices]] -bus = "mid" -address = 0x4c -device = "sbtsi" -name = "CPU" -description = "CPU temperature sensor" -sensors = { temperature = 1 } - -[[config.i2c.devices]] -bus = "mid" -address = 0x58 -device = "idt8a34003" -description = "Clock generator" -refdes = "U446" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5a -device = "raa229618" -description = "CPU power controller" -pmbus = { rails = [ "VDD_VCORE", "VDD_MEM_ABCD" ] } -sensors = { temperature = 2, power = 2, voltage = 2, current = 2 } -refdes = "U350" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5b -device = "raa229618" -description = "SoC power controller" -pmbus = { rails = [ "VDDCR_SOC", "VDD_MEM_EFGH" ] } -sensors = { temperature = 2, power = 2, voltage = 2, current = 2 } -refdes = "U351" - -[[config.i2c.devices]] -bus = "mid" -address = 0x5c -device = "isl68224" -description = "DIMM/SP3 1.8V A0 power controller" -pmbus = { rails = [ "VPP_ABCD", "VPP_EFGH", "V1P8_SP3" ] } -sensors = { voltage = 3, current = 3 } -refdes = "U352" - -[[config.i2c.devices]] -bus = "rear" -address = 0x10 -device = "adm1272" -description = "Fan hot swap controller" -pmbus = { rails = [ "V54_FAN" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U419" - -[[config.i2c.devices]] -bus = "rear" -address = 0x14 -device = "adm1272" -description = "Sled hot swap controller" -pmbus = { rails = [ "V54_HS_OUTPUT" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U452" - -[[config.i2c.devices]] -bus = "rear" -address = 0x20 -device = "max31790" -description = "Fan controller" -sensors = { speed = 6 } -refdes = "U321" - -[[config.i2c.devices]] -bus = "rear" -address = 0x25 -device = "tps546b24a" -description = "T6 power controller" -pmbus = { rails = [ "V0P96_NIC_VDD_A0HP" ] } -sensors = { temperature = 1, voltage = 1, current = 1 } -refdes = "U565" - -[[config.i2c.devices]] -bus = "rear" -address = 0x48 -device = "tmp117" -name = "Northeast" -description = "Northeast temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J197" - -[[config.i2c.devices]] -bus = "rear" -address = 0x49 -device = "tmp117" -name = "North" -description = "North temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J198" - -[[config.i2c.devices]] -bus = "rear" -address = 0x4a -device = "tmp117" -name = "Northwest" -description = "Northwest temperature sensor" -sensors = { temperature = 1 } -removable = true -refdes = "J199" - -[[config.i2c.devices]] -bus = "rear" -address = 0x67 -device = "bmr491" -name = "IBC" -description = "Intermediate bus converter" -pmbus = { rails = [ "V12_SYS_A2" ] } -sensors = { temperature = 1, power = 1, voltage = 1, current = 1 } -refdes = "U431" - -[config.spi.spi2] -controller = 2 - -[config.spi.spi2.mux_options.port_i] -outputs = [ - {port = "I", pins = [1, 3], af = 5}, -] -input = {port = "I", pin = 2, af = 5} - -[config.spi.spi2.mux_options.port_b] -outputs = [ - {port = "B", pins = [13, 15], af = 5}, -] -input = {port = "B", pin = 14, af = 5} - -[config.spi.spi2.devices.sequencer] -mux = "port_b" -cs = [{port = "B", pin = 5}] - -[config.spi.spi2.devices.ice40] -mux = "port_b" -cs = [{port = "B", pin = 5}] - -[config.spi.spi2.devices.ksz8463] -mux = "port_i" -cs = [{port = "I", pin = 0}] - -[config.spi.spi2.devices.local_flash] -mux = "port_b" -cs = [{port = "B", pin = 12}] - -[config.spi.spi4] -controller = 4 - -[config.spi.spi4.mux_options.rot] -outputs = [ - {port = "E", pins = [2, 6], af = 5}, -] -input = {port = "E", pin = 5, af = 5} - -[config.spi.spi4.devices.rot] -mux = "rot" -cs = [{port = "E", pin = 4}] -clock_divider = "DIV16" - -[config.net] -[config.net.sockets.echo] -kind = "udp" -owner = {name = "udpecho", notification = 1} -port = 7 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } diff --git a/humility-bin/tests/cmd/extract/extract.spoopy.0.toml b/humility-bin/tests/cmd/extract/extract.spoopy.0.toml deleted file mode 100644 index fb0aa7965..000000000 --- a/humility-bin/tests/cmd/extract/extract.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 extract app.toml" - diff --git a/humility-bin/tests/cmd/extract/extract.static-tasks.0.stderr b/humility-bin/tests/cmd/extract/extract.static-tasks.0.stderr deleted file mode 100644 index db86d97e5..000000000 --- a/humility-bin/tests/cmd/extract/extract.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: extracting app.toml to stdout diff --git a/humility-bin/tests/cmd/extract/extract.static-tasks.0.stdout b/humility-bin/tests/cmd/extract/extract.static-tasks.0.stdout deleted file mode 100644 index bb89c760e..000000000 --- a/humility-bin/tests/cmd/extract/extract.static-tasks.0.stdout +++ /dev/null @@ -1,283 +0,0 @@ -name = "gimletlet" -target = "thumbv7em-none-eabihf" -board = "gimletlet-2" -chip = "../../chips/stm32h7" -stacksize = 896 - -[kernel] -path = "." -name = "gimletlet" -requires = {flash = 32768, ram = 8192} -# -# For the kernel (and for any task that logs), we are required to enable -# either "itm" (denoting logging/panicking via ARM's Instrumentation Trace -# Macrocell) or "semihosting" (denoting logging/panicking via ARM -# semihosting). We are biased to ITM because semihosting is excruciatingly -# slow (it is breakpoint based) and has an undesirable failure mode if logging -# output is generated and debugger is not attached (namely, the target stops). -# If one does choose to change this to semihosting for purposes of -# development, be sure to also change it in every task of interest. -# -features = ["itm"] - -[supervisor] -notification = 1 - -# Flash sections are mapped into flash bank 1 (of 2). -[outputs.flash] -address = 0x08000000 -size = 1048576 -read = true -execute = true - -# RAM sections are currently mapped into DTCM, a small but fast SRAM. -[outputs.ram] -address = 0x20000000 -size = 131072 -read = true -write = true -execute = false # let's assume XN until proven otherwise - -# Network buffers are placed in sram1, which is directly accessible by the -# Ethernet MAC. -[outputs.sram1] -address = 0x30000000 -size = 0x20000 -read = true -write = true -dma = true - -[tasks.jefe] -path = "../../task/jefe" -name = "task-jefe" -priority = 0 -requires = {flash = 8192, ram = 2048} -start = true -features = ["itm"] -stacksize = 1536 - -[tasks.sys] -path = "../../drv/stm32xx-sys" -name = "drv-stm32xx-sys" -features = ["h753"] -priority = 1 -requires = {flash = 2048, ram = 1024} -uses = ["rcc", "gpios1", "gpios2", "gpios3"] -start = true - -[tasks.i2c_driver] -path = "../../drv/stm32h7-i2c-server" -name = "drv-stm32h7-i2c-server" -features = ["h753", "itm"] -priority = 2 -requires = {flash = 16384, ram = 2048} -uses = ["i2c2", "i2c3", "i2c4"] -start = true -task-slots = ["sys"] - -[tasks.i2c_driver.interrupts] -"i2c2.event" = 0b0000_0010 -"i2c2.error" = 0b0000_0010 -"i2c3.event" = 0b0000_0100 -"i2c3.error" = 0b0000_0100 -"i2c4.event" = 0b0000_1000 -"i2c4.error" = 0b0000_1000 - -[tasks.spi_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi4", "h753"] -uses = ["spi4"] -start = true -interrupts = {"spi4.irq" = 1} -stacksize = 880 -task-slots = ["sys"] - -[tasks.spi_driver.config.spi] -global_config = "spi4" - -[tasks.user_leds] -path = "../../drv/user-leds" -name = "drv-user-leds" -features = ["stm32h7"] -priority = 2 -requires = {flash = 2048, ram = 1024} -start = true -task-slots = ["sys"] - -[tasks.pong] -path = "../../task/pong" -name = "task-pong" -priority = 3 -requires = {flash = 1024, ram = 1024} -start = true -task-slots = ["user_leds"] - -[tasks.uartecho] -path = "../../task/uartecho" -name = "task-uartecho" -features = ["stm32h743", "usart2"] -uses = ["usart2"] -interrupts = {"usart2.irq" = 1} -priority = 3 -requires = {flash = 8192, ram = 4096} -stacksize = 2048 -start = true -task-slots = ["sys"] - -[tasks.hiffy] -path = "../../task/hiffy" -name = "task-hiffy" -features = ["h753", "stm32h7", "itm", "i2c", "gpio", "spi", "qspi", "rng", "update"] -priority = 4 -requires = {flash = 32768, ram = 32768} -stacksize = 2048 -start = true -task-slots = ["hf", "sys", "i2c_driver", "user_leds", "rng_driver", "update_server"] - -[tasks.hf] -path = "../../drv/gimlet-hf-server" -name = "drv-gimlet-hf-server" -features = ["h753"] -priority = 3 -requires = {flash = 16384, ram = 2048} -stacksize = 1920 -start = true -uses = ["quadspi"] -interrupts = {"quadspi.irq" = 1} -task-slots = ["sys"] - -[tasks.net] -path = "../../task/net" -name = "task-net" -stacksize = 4320 -priority = 3 -features = ["h753", "h7-vlan", "gimletlet-nic"] -requires = {flash = 65536, ram = 16384, sram1 = 16384} -sections = {eth_bulk = "sram1"} -uses = ["eth", "eth_dma", "system_flash"] -start = true -interrupts = {"eth.irq" = 0b1} -task-slots = ["sys", "spi_driver" ] - -[tasks.udpecho] -path = "../../task/udpecho" -name = "task-udpecho" -priority = 4 -requires = {flash = 8192, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] -features = ["vlan"] - -[tasks.validate] -path = "../../task/validate" -name = "task-validate" -priority = 3 -requires = {flash = 32768, ram = 4096} -stacksize = 1024 -start = true -task-slots = ["i2c_driver"] - -[tasks.idle] -path = "../../task/idle" -name = "task-idle" -priority = 5 -requires = {flash = 128, ram = 256} -stacksize = 256 -start = true - -[tasks.rng_driver] -features = ["h753"] -path = "../../drv/stm32h7-rng" -name = "drv-stm32h7-rng" -priority = 3 -requires = {flash = 8192, ram = 512} -uses = ["rng"] -start = true -stacksize = 256 -task-slots = ["sys", "user_leds"] - -[tasks.update_server] -path = "../../drv/stm32h7-update-server" -name = "stm32h7-update-server" -priority = 3 -requires = {flash = 8192, ram = 4096} -stacksize = 2048 -start = true -uses = ["flash_controller", "bank2"] - -[config] -[[config.i2c.controllers]] -controller = 2 - -[[config.i2c.controllers.ports.F.pins]] -pins = [ 0, 1 ] -af = 4 - -[[config.i2c.controllers]] -controller = 3 - -# -# Note that I2C3 on Gimletlet is a bit unusual in that its SCL and SDA are on -# two different ports (port A and port C, respectively); we therefore have two -# pin structures for I2C3, but for purposes of the abstraction that i2c -# exports to consumers, we adhere to the convention outlined in the -# definition of `PortIndex` and name the logical port C after the GPIO pin that -# corresponds to SDA. -# -[[config.i2c.controllers.ports.C.pins]] -gpio_port = "A" -pins = [ 8 ] -af = 4 - -[[config.i2c.controllers.ports.C.pins]] -gpio_port = "C" -pins = [ 9 ] -af = 4 - -[[config.i2c.controllers]] -controller = 4 - -[[config.i2c.controllers.ports.F.pins]] -pins = [ 14, 15 ] -af = 4 - -[config.spi.spi3] -controller = 3 - -[config.spi.spi3.mux_options.port_c] -outputs = [ - {port = "C", pins = [10, 12], af = 6}, -] -input = {port = "C", pin = 11, af = 6} - -[config.spi.spi3.devices.spi3_header] -mux = "port_c" -cs = [{port = "A", pin = 15}] - - -[config.spi.spi4] -controller = 4 - -[config.spi.spi4.mux_options.port_e] -outputs = [ - {port = "E", pins = [12, 14], af = 5}, -] -input = {port = "E", pin = 13, af = 5} - -[config.spi.spi4.devices.spi4_header] -mux = "port_e" -cs = [{port = "E", pin = 11}] - -[config.net] -vlan = { start = 0x301, count = 2 } - -[config.net.sockets.echo] -kind = "udp" -owner = {name = "udpecho", notification = 1} -port = 7 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } diff --git a/humility-bin/tests/cmd/extract/extract.static-tasks.0.toml b/humility-bin/tests/cmd/extract/extract.static-tasks.0.toml deleted file mode 100644 index 13035ecd1..000000000 --- a/humility-bin/tests/cmd/extract/extract.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 extract app.toml" - diff --git a/humility-bin/tests/cmd/extract/extract.static-tasks.1.stderr b/humility-bin/tests/cmd/extract/extract.static-tasks.1.stderr deleted file mode 100644 index db86d97e5..000000000 --- a/humility-bin/tests/cmd/extract/extract.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: extracting app.toml to stdout diff --git a/humility-bin/tests/cmd/extract/extract.static-tasks.1.stdout b/humility-bin/tests/cmd/extract/extract.static-tasks.1.stdout deleted file mode 100644 index c45effe00..000000000 --- a/humility-bin/tests/cmd/extract/extract.static-tasks.1.stdout +++ /dev/null @@ -1,280 +0,0 @@ -name = "gimletlet" -target = "thumbv7em-none-eabihf" -board = "gimletlet-2" -chip = "../../chips/stm32h7" -stacksize = 896 - -[kernel] -path = "." -name = "gimletlet" -requires = {flash = 32768, ram = 8192} -# -# For the kernel (and for any task that logs), we are required to enable -# either "itm" (denoting logging/panicking via ARM's Instrumentation Trace -# Macrocell) or "semihosting" (denoting logging/panicking via ARM -# semihosting). We are biased to ITM because semihosting is excruciatingly -# slow (it is breakpoint based) and has an undesirable failure mode if logging -# output is generated and debugger is not attached (namely, the target stops). -# If one does choose to change this to semihosting for purposes of -# development, be sure to also change it in every task of interest. -# -features = ["itm"] - -# Flash sections are mapped into flash bank 1 (of 2). -[outputs.flash] -address = 0x08000000 -size = 1048576 -read = true -execute = true - -# RAM sections are currently mapped into DTCM, a small but fast SRAM. -[outputs.ram] -address = 0x20000000 -size = 131072 -read = true -write = true -execute = false # let's assume XN until proven otherwise - -# Network buffers are placed in sram1, which is directly accessible by the -# Ethernet MAC. -[outputs.sram1] -address = 0x30000000 -size = 0x20000 -read = true -write = true -dma = true - -[tasks.jefe] -path = "../../task/jefe" -name = "task-jefe" -priority = 0 -requires = {flash = 8192, ram = 2048} -start = true -features = ["itm"] -stacksize = 1536 - -[tasks.sys] -path = "../../drv/stm32xx-sys" -name = "drv-stm32xx-sys" -features = ["h753"] -priority = 1 -requires = {flash = 2048, ram = 1024} -uses = ["rcc", "gpios1", "gpios2", "gpios3"] -start = true - -[tasks.i2c_driver] -path = "../../drv/stm32h7-i2c-server" -name = "drv-stm32h7-i2c-server" -features = ["h753", "itm"] -priority = 2 -requires = {flash = 16384, ram = 2048} -uses = ["i2c2", "i2c3", "i2c4"] -start = true -task-slots = ["sys"] - -[tasks.i2c_driver.interrupts] -"i2c2.event" = 0b0000_0010 -"i2c2.error" = 0b0000_0010 -"i2c3.event" = 0b0000_0100 -"i2c3.error" = 0b0000_0100 -"i2c4.event" = 0b0000_1000 -"i2c4.error" = 0b0000_1000 - -[tasks.spi_driver] -path = "../../drv/stm32h7-spi-server" -name = "drv-stm32h7-spi-server" -priority = 2 -requires = {flash = 16384, ram = 2048} -features = ["spi4", "h753"] -uses = ["spi4"] -start = true -interrupts = {"spi4.irq" = 1} -stacksize = 880 -task-slots = ["sys"] - -[tasks.spi_driver.config.spi] -global_config = "spi4" - -[tasks.user_leds] -path = "../../drv/user-leds" -name = "drv-user-leds" -features = ["stm32h7"] -priority = 2 -requires = {flash = 2048, ram = 1024} -start = true -task-slots = ["sys"] - -[tasks.pong] -path = "../../task/pong" -name = "task-pong" -priority = 3 -requires = {flash = 1024, ram = 1024} -start = true -task-slots = ["user_leds"] - -[tasks.uartecho] -path = "../../task/uartecho" -name = "task-uartecho" -features = ["stm32h743", "usart2"] -uses = ["usart2"] -interrupts = {"usart2.irq" = 1} -priority = 3 -requires = {flash = 8192, ram = 4096} -stacksize = 2048 -start = true -task-slots = ["sys"] - -[tasks.hiffy] -path = "../../task/hiffy" -name = "task-hiffy" -features = ["h753", "stm32h7", "itm", "i2c", "gpio", "spi", "qspi", "rng", "update"] -priority = 4 -requires = {flash = 32768, ram = 32768} -stacksize = 2048 -start = true -task-slots = ["hf", "sys", "i2c_driver", "user_leds", "rng_driver", "update_server"] - -[tasks.hf] -path = "../../drv/gimlet-hf-server" -name = "drv-gimlet-hf-server" -features = ["h753"] -priority = 3 -requires = {flash = 16384, ram = 2048} -stacksize = 1920 -start = true -uses = ["quadspi"] -interrupts = {"quadspi.irq" = 1} -task-slots = ["sys"] - -[tasks.net] -path = "../../task/net" -name = "task-net" -stacksize = 4320 -priority = 3 -features = ["h753", "h7-vlan", "gimletlet-nic"] -requires = {flash = 65536, ram = 16384, sram1 = 16384} -sections = {eth_bulk = "sram1"} -uses = ["eth", "eth_dma", "system_flash"] -start = true -interrupts = {"eth.irq" = 0b1} -task-slots = ["sys", "spi_driver" ] - -[tasks.udpecho] -path = "../../task/udpecho" -name = "task-udpecho" -priority = 4 -requires = {flash = 8192, ram = 8192} -stacksize = 4096 -start = true -task-slots = ["net"] -features = ["vlan"] - -[tasks.validate] -path = "../../task/validate" -name = "task-validate" -priority = 3 -requires = {flash = 32768, ram = 4096} -stacksize = 1024 -start = true -task-slots = ["i2c_driver"] - -[tasks.idle] -path = "../../task/idle" -name = "task-idle" -priority = 5 -requires = {flash = 128, ram = 256} -stacksize = 256 -start = true - -[tasks.rng_driver] -features = ["h753"] -path = "../../drv/stm32h7-rng" -name = "drv-stm32h7-rng" -priority = 3 -requires = {flash = 8192, ram = 512} -uses = ["rng"] -start = true -stacksize = 256 -task-slots = ["sys", "user_leds"] - -[tasks.update_server] -path = "../../drv/stm32h7-update-server" -name = "stm32h7-update-server" -priority = 3 -requires = {flash = 8192, ram = 4096} -stacksize = 2048 -start = true -uses = ["flash_controller", "bank2"] - -[config] -[[config.i2c.controllers]] -controller = 2 - -[[config.i2c.controllers.ports.F.pins]] -pins = [ 0, 1 ] -af = 4 - -[[config.i2c.controllers]] -controller = 3 - -# -# Note that I2C3 on Gimletlet is a bit unusual in that its SCL and SDA are on -# two different ports (port A and port C, respectively); we therefore have two -# pin structures for I2C3, but for purposes of the abstraction that i2c -# exports to consumers, we adhere to the convention outlined in the -# definition of `PortIndex` and name the logical port C after the GPIO pin that -# corresponds to SDA. -# -[[config.i2c.controllers.ports.C.pins]] -gpio_port = "A" -pins = [ 8 ] -af = 4 - -[[config.i2c.controllers.ports.C.pins]] -gpio_port = "C" -pins = [ 9 ] -af = 4 - -[[config.i2c.controllers]] -controller = 4 - -[[config.i2c.controllers.ports.F.pins]] -pins = [ 14, 15 ] -af = 4 - -[config.spi.spi3] -controller = 3 - -[config.spi.spi3.mux_options.port_c] -outputs = [ - {port = "C", pins = [10, 12], af = 6}, -] -input = {port = "C", pin = 11, af = 6} - -[config.spi.spi3.devices.spi3_header] -mux = "port_c" -cs = [{port = "A", pin = 15}] - - -[config.spi.spi4] -controller = 4 - -[config.spi.spi4.mux_options.port_e] -outputs = [ - {port = "E", pins = [12, 14], af = 5}, -] -input = {port = "E", pin = 13, af = 5} - -[config.spi.spi4.devices.spi4_header] -mux = "port_e" -cs = [{port = "E", pin = 11}] - -[config.net] -vlan = { start = 0x301, count = 2 } - -[config.net.sockets.echo] -kind = "udp" -owner = {name = "udpecho", notification = 1} -port = 7 -tx = { packets = 3, bytes = 1024 } -rx = { packets = 3, bytes = 1024 } diff --git a/humility-bin/tests/cmd/extract/extract.static-tasks.1.toml b/humility-bin/tests/cmd/extract/extract.static-tasks.1.toml deleted file mode 100644 index dd0b6bb02..000000000 --- a/humility-bin/tests/cmd/extract/extract.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 extract app.toml" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.stderr deleted file mode 100644 index 394c11cb6..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: WARNING: couldn't find type [u8; crate::SHA256_SZ] for HostFlash.hash diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.stdout deleted file mode 100644 index 25c414b75..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.stdout +++ /dev/null @@ -1,254 +0,0 @@ -INTERFACE TASK -Net net - | - +--> Net.recv_packet - | socket SocketName - | UdpMetadata - | NetError - | - +--> Net.send_packet - | socket SocketName - | metadata UdpMetadata - | () - | NetError - | - +--> Net.smi_read - | phy u8 - | register u8 - | u16 - | NetError - | - +--> Net.smi_write - phy u8 - register u8 - value u16 - () - NetError - -INTERFACE TASK -Sys sys - | - +--> Sys.enable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.disable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.enter_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.leave_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.gpio_configure_raw - | port Port - | pins u16 - | packed_attributes u16 - | () - | GpioError - | - +--> Sys.gpio_set_reset - | port Port - | set_pins u16 - | reset_pins u16 - | () - | GpioError - | - +--> Sys.gpio_read_input - | port Port - | u16 - | GpioError - | - +--> Sys.gpio_toggle - port Port - pins u16 - () - GpioError - -INTERFACE TASK -Spi spi4_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Spi spi2_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Thermal thermal - | - +--> Thermal.set_mode_manual - | initial_pwm u8 - | () - | ThermalError - | - +--> Thermal.set_mode_auto - | initial_pwm u8 - | () - | ThermalError - | - +--> Thermal.set_fan_pwm - index u8 - pwm u8 - () - ThermalError - -INTERFACE TASK -Sequencer gimlet_seq - | - +--> Sequencer.get_state - | PowerState - | SeqError - | - +--> Sequencer.set_state - | state PowerState - | () - | SeqError - | - +--> Sequencer.fans_on - | () - | SeqError - | - +--> Sequencer.fans_off - | () - | SeqError - | - +--> Sequencer.is_clock_config_loaded - u8 - SeqError - -INTERFACE TASK -HostFlash hf - | - +--> HostFlash.read_id - | [u8; 20] - | HfError - | - +--> HostFlash.read_status - | u8 - | HfError - | - +--> HostFlash.bulk_erase - | () - | HfError - | - +--> HostFlash.page_program - | address u32 - | () - | HfError - | - +--> HostFlash.read - | address u32 - | () - | HfError - | - +--> HostFlash.sector_erase - | address u32 - | () - | HfError - | - +--> HostFlash.get_mux - | HfMuxState - | HfError - | - +--> HostFlash.set_mux - | state HfMuxState - | () - | HfError - | - +--> HostFlash.get_dev - | HfDevSelect - | HfError - | - +--> HostFlash.set_dev - | dev HfDevSelect - | () - | HfError - | - +--> HostFlash.hash - address u32 - len u32 - -INTERFACE TASK -Sensor sensor - | - +--> Sensor.get - | id SensorId - | f32 - | SensorError - | - +--> Sensor.post - | id SensorId - | value f32 - | () - | SensorError - | - +--> Sensor.nodata - id SensorId - nodata NoData - () - SensorError - -INTERFACE TASK -Validate validate - | - +--> Validate.validate_i2c - index usize - ValidateOk - ValidateError - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.toml deleted file mode 100644 index 58095640e..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 hiffy --list" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.control_plane_agent.overflow.0.stderr index 9966855b4..d32a13891 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.control_plane_agent.overflow.0.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: couldn't find type Option<(Result, u64)> for Sensor.get_raw_reading humility: WARNING: couldn't find type Option<(NoData, u64)> for Sensor.get_last_nodata humility: WARNING: SprotError matches more than one enum: attest_data::messages::SprotError as GOFF 0x00039350 (object 21), drv_sprot_api::error::SprotError as GOFF 0x00044a4a (object 21) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.cosmo.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.cosmo.stderr index f170cdb94..39dc7e7c2 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.cosmo.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.cosmo.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: couldn't find type [u32; 3] for Sys.read_uid humility: WARNING: couldn't find type [u8; 64] for Sequencer.read_fpga_regs humility: WARNING: couldn't find type Option<(Result, u64)> for Sensor.get_raw_reading diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.counters.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.counters.0.stderr index d4b01f484..7ed762a65 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.counters.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.counters.0.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x000270b5 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004f4b1 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x00002867 (object 2), task_net_api::SendError as GOFF 0x000270d9 (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x000073b7 (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x0001035a (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.duplicate_HostFlash_hash_REPLY.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.duplicate_HostFlash_hash_REPLY.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.extern-regions.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.extern-regions.stderr index 9fa3db4a4..e1113e7c7 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.extern-regions.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.extern-regions.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00027800 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004e864 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x00000c86 (object 2), task_net_api::SendError as GOFF 0x000277d6 (object 2) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stderr index f9ddfc68f..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stderr @@ -1,2 +0,0 @@ -humility: attached to dump -humility hiffy failed: target does not appear booted and PC 0x1ff0a6e0 is unknown; is system executing boot ROM or other program? diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stdout index e69de29bb..6fd8cb603 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stdout +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.stdout @@ -0,0 +1,341 @@ +INTERFACE TASK +Jefe jefe + | + +--> Jefe.get_state + | u32 + | + +--> Jefe.set_state + | state u32 + | () + | + +--> Jefe.request_reset + | () + | + +--> Jefe.get_reset_reason + | ResetReason + | + +--> Jefe.set_reset_reason + reason ResetReason + () + +INTERFACE TASK +Net net + | + +--> Net.recv_packet + | socket SocketName + | large_payload_behavior LargePayloadBehavior + | UdpMetadata + | RecvError + | + +--> Net.send_packet + | socket SocketName + | metadata UdpMetadata + | () + | SendError + | + +--> Net.smi_read + | phy u8 + | register u8 + | u16 + | + +--> Net.smi_write + | phy u8 + | register u8 + | value u16 + | () + | + +--> Net.read_phy_reg + | port u8 + | page u16 + | reg u8 + | u16 + | PhyError + | + +--> Net.write_phy_reg + | port u8 + | page u16 + | reg u8 + | value u16 + | () + | PhyError + | + +--> Net.read_ksz8463_mac_count + | usize + | KszError + | + +--> Net.read_ksz8463_mac + | i u16 + | KszMacTableEntry + | KszError + | + +--> Net.read_ksz8463_reg + | reg u16 + | u16 + | KszError + | + +--> Net.get_mac_address + | MacAddress + | + +--> Net.management_link_status + | ManagementLinkStatus + | MgmtError + | + +--> Net.management_counters + ManagementCounters + MgmtError + +INTERFACE TASK +Sys sys + | + +--> Sys.enable_clock_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.disable_clock_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.enter_reset_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.leave_reset_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.gpio_configure_raw + | port Port + | pins u16 + | packed_attributes u16 + | () + | GpioError + | + +--> Sys.gpio_set_reset + | port Port + | set_pins u16 + | reset_pins u16 + | () + | GpioError + | + +--> Sys.gpio_read_input + | port Port + | u16 + | GpioError + | + +--> Sys.gpio_toggle + port Port + pins u16 + () + GpioError + +INTERFACE TASK +Spi spi4_driver + | + +--> Spi.read + | device_index u8 + | () + | SpiError + | + +--> Spi.write + | device_index u8 + | () + | SpiError + | + +--> Spi.exchange + | device_index u8 + | () + | SpiError + | + +--> Spi.lock + | device_index u8 + | cs_state CsState + | () + | SpiError + | + +--> Spi.release + () + SpiError + +INTERFACE TASK +Spi spi2_driver + | + +--> Spi.read + | device_index u8 + | () + | SpiError + | + +--> Spi.write + | device_index u8 + | () + | SpiError + | + +--> Spi.exchange + | device_index u8 + | () + | SpiError + | + +--> Spi.lock + | device_index u8 + | cs_state CsState + | () + | SpiError + | + +--> Spi.release + () + SpiError + +INTERFACE TASK +Thermal thermal + | + +--> Thermal.set_mode_manual + | initial_pwm u8 + | () + | ThermalError + | + +--> Thermal.set_mode_auto + | initial_pwm u8 + | () + | ThermalError + | + +--> Thermal.set_fan_pwm + | index u8 + | pwm u8 + | () + | ThermalError + | + +--> Thermal.disable_watchdog + | () + | ThermalError + | + +--> Thermal.enable_watchdog + timeout_s u8 + () + ThermalError + +INTERFACE TASK +Sequencer gimlet_seq + | + +--> Sequencer.get_state + | PowerState + | SeqError + | + +--> Sequencer.set_state + | state PowerState + | () + | SeqError + | + +--> Sequencer.fans_on + | () + | SeqError + | + +--> Sequencer.fans_off + () + SeqError + +INTERFACE TASK +Hash hash_driver + | + +--> Hash.init_sha256 + | () + | HashError + | + +--> Hash.update + | len u32 + | () + | HashError + | + +--> Hash.finalize_sha256 + | [u8; crate::SHA256_SZ] + | HashError + | + +--> Hash.digest_sha256 + len u32 + [u8; crate::SHA256_SZ] + HashError + +INTERFACE TASK +HostFlash hf + | + +--> HostFlash.read_id + | [u8; 20] + | HfError + | + +--> HostFlash.read_status + | u8 + | HfError + | + +--> HostFlash.bulk_erase + | () + | HfError + | + +--> HostFlash.page_program + | address u32 + | () + | HfError + | + +--> HostFlash.read + | address u32 + | () + | HfError + | + +--> HostFlash.sector_erase + | address u32 + | () + | HfError + | + +--> HostFlash.get_mux + | HfMuxState + | HfError + | + +--> HostFlash.set_mux + | state HfMuxState + | () + | HfError + | + +--> HostFlash.get_dev + | HfDevSelect + | HfError + | + +--> HostFlash.set_dev + | dev HfDevSelect + | () + | HfError + | + +--> HostFlash.hash + address u32 + len u32 + [u8; crate::SHA256_SZ] + HfError + +INTERFACE TASK +Sensor sensor + | + +--> Sensor.get + | id SensorId + | f32 + | SensorError + | + +--> Sensor.post + | id SensorId + | value f32 + | () + | SensorError + | + +--> Sensor.nodata + id SensorId + nodata NoData + () + SensorError + +INTERFACE TASK +Validate validate + | + +--> Validate.validate_i2c + index usize + ValidateOk + ValidateError + diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.toml index 24b451925..65eb89f12 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.toml +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.flash-ram-mismatch.0.toml @@ -7,5 +7,3 @@ fs.base = "../cores" bin.name = "humility" args = "-d hubris.core.flash-ram-mismatch.0 hiffy --list" - -status.code = 1 diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr index 906802d74..2a9abeb72 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr @@ -1,4 +1,3 @@ -humility: attached to archive humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00027997 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004fddf (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x0000efba (object 2), task_net_api::SendError as GOFF 0x0002796d (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x0000786b (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x00010532 (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-rot-c-image-b.zip.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-rot-c-image-b.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-rot-c-image-b.zip.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet-rot-c-image-b.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet.stderr index f170cdb94..39dc7e7c2 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.gimlet.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: couldn't find type [u32; 3] for Sys.read_uid humility: WARNING: couldn't find type [u8; 64] for Sequencer.read_fpga_regs humility: WARNING: couldn't find type Option<(Result, u64)> for Sensor.get_raw_reading diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.0.stderr index ca299685b..2e1eb5e89 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.0.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00026dd1 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004ebe0 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x00002867 (object 2), task_net_api::SendError as GOFF 0x00026df5 (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x000073b7 (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x000102bf (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.1.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.1.stderr index ca299685b..2e1eb5e89 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.1.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.1.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00026dd1 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004ebe0 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x00002867 (object 2), task_net_api::SendError as GOFF 0x00026df5 (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x000073b7 (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x000102bf (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.2.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.2.stderr index ca299685b..2e1eb5e89 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.2.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.2.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00026dd1 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004ebe0 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x00002867 (object 2), task_net_api::SendError as GOFF 0x00026df5 (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x000073b7 (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x000102bf (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.3.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.3.stderr index 7a7d368f6..fb914ae25 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.3.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.3.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility: WARNING: couldn't find type Option<(Result, u64)> for Sensor.get_raw_reading humility: WARNING: couldn't find type Option<(NoData, u64)> for Sensor.get_last_nodata diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.4.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.4.stderr index 7a7d368f6..fb914ae25 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.4.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.host-panic.4.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility: WARNING: couldn't find type Option<(Result, u64)> for Sensor.get_raw_reading humility: WARNING: couldn't find type Option<(NoData, u64)> for Sensor.get_last_nodata diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.idol-returns-an-enum.stderr index f9611e149..c7ad94fa6 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.idol-returns-an-enum.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x0002774a (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004e881 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x0000ec57 (object 2), task_net_api::SendError as GOFF 0x00027720 (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x000078eb (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x000103f2 (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.igor.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.igor.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.igor.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.igor.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.in_bootloader.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.in_bootloader.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.in_bootloader.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.inheritance.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.inheritance.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.inheritance.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.inheritance.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.ipc-counts.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.ipc-counts.0.stderr index 62d94f0d1..5e608ab99 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.ipc-counts.0.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.ipc-counts.0.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00026d91 (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004fd23 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x00002867 (object 2), task_net_api::SendError as GOFF 0x00026d67 (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x0000747b (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x00010cf6 (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.stdout deleted file mode 100644 index 70b7a84d7..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.stdout +++ /dev/null @@ -1,203 +0,0 @@ -INTERFACE TASK -Sys sys - | - +--> Sys.enable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.disable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.enter_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.leave_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.gpio_configure_raw - | port Port - | pins u16 - | packed_attributes u16 - | () - | GpioError - | - +--> Sys.gpio_set_reset - | port Port - | set_pins u16 - | reset_pins u16 - | () - | GpioError - | - +--> Sys.gpio_read_input - | port Port - | u16 - | GpioError - | - +--> Sys.gpio_toggle - port Port - pins u16 - () - GpioError - -INTERFACE TASK -Spi spi_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Net net - | - +--> Net.recv_packet - | socket SocketName - | UdpMetadata - | NetError - | - +--> Net.send_packet - | socket SocketName - | metadata UdpMetadata - | () - | NetError - | - +--> Net.smi_read - | phy u8 - | register u8 - | u16 - | NetError - | - +--> Net.smi_write - phy u8 - register u8 - value u16 - () - NetError - -INTERFACE TASK -UserLeds user_leds - | - +--> UserLeds.led_on - | index usize - | () - | LedError - | - +--> UserLeds.led_off - | index usize - | () - | LedError - | - +--> UserLeds.led_toggle - index usize - () - LedError - -INTERFACE TASK -HostFlash hf - | - +--> HostFlash.read_id - | [u8; 20] - | HfError - | - +--> HostFlash.read_status - | u8 - | HfError - | - +--> HostFlash.bulk_erase - | () - | HfError - | - +--> HostFlash.page_program - | address u32 - | () - | HfError - | - +--> HostFlash.read - | address u32 - | () - | HfError - | - +--> HostFlash.sector_erase - | address u32 - | () - | HfError - | - +--> HostFlash.get_mux - | HfMuxState - | HfError - | - +--> HostFlash.set_mux - | state HfMuxState - | () - | HfError - | - +--> HostFlash.get_dev - | HfDevSelect - | HfError - | - +--> HostFlash.set_dev - | dev HfDevSelect - | () - | HfError - | - +--> HostFlash.hash - address u32 - len u32 - [u8; crate::SHA256_SZ] - HfError - -INTERFACE TASK -Hash hash_driver - | - +--> Hash.init_sha256 - | () - | HashError - | - +--> Hash.update - | len u32 - | () - | HashError - | - +--> Hash.finalize_sha256 - | [u8; crate::SHA256_SZ] - | HashError - | - +--> Hash.digest_sha256 - len u32 - [u8; crate::SHA256_SZ] - HashError - -INTERFACE TASK -Rng rng_driver - | - +--> Rng.fill - usize - RngError - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.toml deleted file mode 100644 index e394ebd82..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 hiffy --list" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.stdout deleted file mode 100644 index 34d65ad03..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.stdout +++ /dev/null @@ -1,561 +0,0 @@ -INTERFACE TASK -Jefe jefe - | - +--> Jefe.get_state - | u32 - | - +--> Jefe.set_state - | state u32 - | () - | - +--> Jefe.request_reset - | () - | - +--> Jefe.get_reset_reason - | ResetReason - | - +--> Jefe.set_reset_reason - reason ResetReason - () - -INTERFACE TASK -Net net - | - +--> Net.recv_packet - | socket SocketName - | large_payload_behavior LargePayloadBehavior - | UdpMetadata - | RecvError - | - +--> Net.send_packet - | socket SocketName - | metadata UdpMetadata - | () - | SendError - | - +--> Net.smi_read - | phy u8 - | register u8 - | u16 - | - +--> Net.smi_write - | phy u8 - | register u8 - | value u16 - | () - | - +--> Net.read_phy_reg - | port u8 - | page u16 - | reg u8 - | u16 - | PhyError - | - +--> Net.write_phy_reg - | port u8 - | page u16 - | reg u8 - | value u16 - | () - | PhyError - | - +--> Net.read_ksz8463_mac_count - | usize - | KszError - | - +--> Net.read_ksz8463_mac - | i u16 - | KszMacTableEntry - | KszError - | - +--> Net.read_ksz8463_reg - | reg u16 - | u16 - | KszError - | - +--> Net.get_mac_address - | MacAddress - | - +--> Net.get_spare_mac_addresses - | MacAddressBlock - | - +--> Net.management_link_status - | ManagementLinkStatus - | MgmtError - | - +--> Net.management_counters - ManagementCounters - MgmtError - -INTERFACE TASK -Sys sys - | - +--> Sys.enable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.disable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.enter_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.leave_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.gpio_configure_raw - | port Port - | pins u16 - | packed_attributes u16 - | () - | GpioError - | - +--> Sys.gpio_set_reset - | port Port - | set_pins u16 - | reset_pins u16 - | () - | GpioError - | - +--> Sys.gpio_read_input - | port Port - | u16 - | GpioError - | - +--> Sys.gpio_toggle - port Port - pins u16 - () - GpioError - -INTERFACE TASK -Spi spi4_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Spi spi2_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Thermal thermal - | - +--> Thermal.set_mode_manual - | initial_pwm u8 - | () - | ThermalError - | - +--> Thermal.set_mode_auto - | () - | ThermalError - | - +--> Thermal.get_mode - | ThermalMode - | ThermalError - | - +--> Thermal.get_auto_state - | ThermalAutoState - | ThermalError - | - +--> Thermal.set_fan_pwm - | index u8 - | pwm u8 - | () - | ThermalError - | - +--> Thermal.disable_watchdog - | () - | ThermalError - | - +--> Thermal.enable_watchdog - | timeout_s u8 - | () - | ThermalError - | - +--> Thermal.set_pid - | z f32 - | p f32 - | i f32 - | d f32 - | () - | ThermalError - | - +--> Thermal.get_margin - | f32 - | ThermalError - | - +--> Thermal.set_margin - | margin f32 - | () - | ThermalError - | - +--> Thermal.update_dynamic_input - | index usize - | time u64 - | model ThermalProperties - | temperature Celsius - | () - | ThermalError - | - +--> Thermal.remove_dynamic_input - | index usize - | () - | ThermalError - | - +--> Thermal.get_runtime - u64 - ThermalError - -INTERFACE TASK -Sequencer gimlet_seq - | - +--> Sequencer.get_state - | PowerState - | SeqError - | - +--> Sequencer.set_state - | state PowerState - | () - | SeqError - | - +--> Sequencer.fans_on - | () - | SeqError - | - +--> Sequencer.fans_off - () - SeqError - -INTERFACE TASK -Hash hash_driver - | - +--> Hash.init_sha256 - | () - | HashError - | - +--> Hash.update - | len u32 - | () - | HashError - | - +--> Hash.finalize_sha256 - | [u8; crate::SHA256_SZ] - | HashError - | - +--> Hash.digest_sha256 - len u32 - [u8; crate::SHA256_SZ] - HashError - -INTERFACE TASK -HostFlash hf - | - +--> HostFlash.read_id - | [u8; 20] - | HfError - | - +--> HostFlash.capacity - | usize - | HfError - | - +--> HostFlash.read_status - | u8 - | HfError - | - +--> HostFlash.bulk_erase - | () - | HfError - | - +--> HostFlash.page_program - | address u32 - | () - | HfError - | - +--> HostFlash.read - | address u32 - | () - | HfError - | - +--> HostFlash.sector_erase - | address u32 - | () - | HfError - | - +--> HostFlash.get_mux - | HfMuxState - | HfError - | - +--> HostFlash.set_mux - | state HfMuxState - | () - | HfError - | - +--> HostFlash.get_dev - | HfDevSelect - | HfError - | - +--> HostFlash.set_dev - | dev HfDevSelect - | () - | HfError - | - +--> HostFlash.hash - address u32 - len u32 - [u8; crate::SHA256_SZ] - HfError - -INTERFACE TASK -Update update_server - | - +--> Update.block_size - | usize - | UpdateError - | - +--> Update.prep_image_update - | image_type UpdateTarget - | () - | UpdateError - | - +--> Update.write_one_block - | block_num usize - | () - | UpdateError - | - +--> Update.abort_update - | () - | UpdateError - | - +--> Update.finish_image_update - | () - | UpdateError - | - +--> Update.current_version - ImageVersion - -INTERFACE TASK -Sensor sensor - | - +--> Sensor.get - | id SensorId - | f32 - | SensorError - | - +--> Sensor.get_reading - | id SensorId - | Reading - | SensorError - | - +--> Sensor.post - | id SensorId - | value f32 - | timestamp u64 - | () - | SensorError - | - +--> Sensor.nodata - | id SensorId - | nodata NoData - | timestamp u64 - | () - | SensorError - | - +--> Sensor.get_nerrors - id SensorId - u32 - SensorError - -INTERFACE TASK -HostSpComms host_sp_comms - | - +--> HostSpComms.set_status - | status u64 - | () - | HostSpCommsError - | - +--> HostSpComms.get_status - Status - HostSpCommsError - -INTERFACE TASK -ControlPlaneAgent control_plane_agent - | - +--> ControlPlaneAgent.fetch_host_phase2_data - | image_hash [u8; 32] - | offset u64 - | notification_bit u8 - | () - | ControlPlaneAgentError - | - +--> ControlPlaneAgent.get_host_phase2_data - | image_hash [u8; 32] - | offset u64 - | usize - | ControlPlaneAgentError - | - +--> ControlPlaneAgent.get_startup_options - | HostStartupOptions - | ControlPlaneAgentError - | - +--> ControlPlaneAgent.set_startup_options - | startup_options u64 - | () - | ControlPlaneAgentError - | - +--> ControlPlaneAgent.identity - | Identity - | - +--> ControlPlaneAgent.get_uart_client - | UartClient - | - +--> ControlPlaneAgent.set_humility_uart_client - | attach bool - | () - | ControlPlaneAgentError - | - +--> ControlPlaneAgent.uart_read - | usize - | ControlPlaneAgentError - | - +--> ControlPlaneAgent.uart_write - usize - ControlPlaneAgentError - -INTERFACE TASK -SpRot sprot - | - +--> SpRot.send_recv - | msgtype MsgType - | Received - | SprotError - | - +--> SpRot.send_recv_retries - | msgtype MsgType - | attempts u16 - | Received - | SprotError - | - +--> SpRot.status - | Status - | SprotError - | - +--> SpRot.pulse_cs - | delay u16 - | PulseStatus - | SprotError - | - +--> SpRot.rot_sink - | count u16 - | size u16 - | SinkStatus - | SprotError - | - +--> SpRot.block_size - | usize - | SprotError - | - +--> SpRot.prep_image_update - | image_type UpdateTarget - | () - | SprotError - | - +--> SpRot.write_one_block - | block_num u32 - | () - | SprotError - | - +--> SpRot.abort_update - | () - | SprotError - | - +--> SpRot.finish_image_update - | () - | SprotError - | - +--> SpRot.current_version - ImageVersion - SprotError - -INTERFACE TASK -Validate validate - | - +--> Validate.validate_i2c - index usize - ValidateOk - ValidateError - -INTERFACE TASK -Vpd vpd - | - +--> Vpd.read_tmp117_eeprom - | index u8 - | [u8; 6] - | VpdError - | - +--> Vpd.read - | index u8 - | offset u16 - | [u8; 16] - | VpdError - | - +--> Vpd.write - index u8 - offset u16 - contents u8 - () - VpdError - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.toml deleted file mode 100644 index 08fd21dd8..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 hiffy --list" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-compiler.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-compiler.stderr index 10512b11e..b7f7dfedf 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-compiler.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-compiler.stderr @@ -1,2 +1 @@ -humility: attached to dump humility: WARNING: couldn't find type [u32; 3] for Sys.read_uid diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-ringbuf.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-sensors.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-sensors.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-sensors.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.new-sensors.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.nightly-2022-11-01.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.nightly-2022-11-01.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stderr index 32b7e6272..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stderr @@ -1,2 +0,0 @@ -humility: attached to dump -humility hiffy failed: kernel has panicked on boot: "panicked at 'assertion failed: `(left == right)`/n left: `1`,/n right: `2`', app/gimlet/src/main.rs:118:5" diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stdout index e69de29bb..34d65ad03 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stdout +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.stdout @@ -0,0 +1,561 @@ +INTERFACE TASK +Jefe jefe + | + +--> Jefe.get_state + | u32 + | + +--> Jefe.set_state + | state u32 + | () + | + +--> Jefe.request_reset + | () + | + +--> Jefe.get_reset_reason + | ResetReason + | + +--> Jefe.set_reset_reason + reason ResetReason + () + +INTERFACE TASK +Net net + | + +--> Net.recv_packet + | socket SocketName + | large_payload_behavior LargePayloadBehavior + | UdpMetadata + | RecvError + | + +--> Net.send_packet + | socket SocketName + | metadata UdpMetadata + | () + | SendError + | + +--> Net.smi_read + | phy u8 + | register u8 + | u16 + | + +--> Net.smi_write + | phy u8 + | register u8 + | value u16 + | () + | + +--> Net.read_phy_reg + | port u8 + | page u16 + | reg u8 + | u16 + | PhyError + | + +--> Net.write_phy_reg + | port u8 + | page u16 + | reg u8 + | value u16 + | () + | PhyError + | + +--> Net.read_ksz8463_mac_count + | usize + | KszError + | + +--> Net.read_ksz8463_mac + | i u16 + | KszMacTableEntry + | KszError + | + +--> Net.read_ksz8463_reg + | reg u16 + | u16 + | KszError + | + +--> Net.get_mac_address + | MacAddress + | + +--> Net.get_spare_mac_addresses + | MacAddressBlock + | + +--> Net.management_link_status + | ManagementLinkStatus + | MgmtError + | + +--> Net.management_counters + ManagementCounters + MgmtError + +INTERFACE TASK +Sys sys + | + +--> Sys.enable_clock_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.disable_clock_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.enter_reset_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.leave_reset_raw + | peripheral u32 + | () + | RccError + | + +--> Sys.gpio_configure_raw + | port Port + | pins u16 + | packed_attributes u16 + | () + | GpioError + | + +--> Sys.gpio_set_reset + | port Port + | set_pins u16 + | reset_pins u16 + | () + | GpioError + | + +--> Sys.gpio_read_input + | port Port + | u16 + | GpioError + | + +--> Sys.gpio_toggle + port Port + pins u16 + () + GpioError + +INTERFACE TASK +Spi spi4_driver + | + +--> Spi.read + | device_index u8 + | () + | SpiError + | + +--> Spi.write + | device_index u8 + | () + | SpiError + | + +--> Spi.exchange + | device_index u8 + | () + | SpiError + | + +--> Spi.lock + | device_index u8 + | cs_state CsState + | () + | SpiError + | + +--> Spi.release + () + SpiError + +INTERFACE TASK +Spi spi2_driver + | + +--> Spi.read + | device_index u8 + | () + | SpiError + | + +--> Spi.write + | device_index u8 + | () + | SpiError + | + +--> Spi.exchange + | device_index u8 + | () + | SpiError + | + +--> Spi.lock + | device_index u8 + | cs_state CsState + | () + | SpiError + | + +--> Spi.release + () + SpiError + +INTERFACE TASK +Thermal thermal + | + +--> Thermal.set_mode_manual + | initial_pwm u8 + | () + | ThermalError + | + +--> Thermal.set_mode_auto + | () + | ThermalError + | + +--> Thermal.get_mode + | ThermalMode + | ThermalError + | + +--> Thermal.get_auto_state + | ThermalAutoState + | ThermalError + | + +--> Thermal.set_fan_pwm + | index u8 + | pwm u8 + | () + | ThermalError + | + +--> Thermal.disable_watchdog + | () + | ThermalError + | + +--> Thermal.enable_watchdog + | timeout_s u8 + | () + | ThermalError + | + +--> Thermal.set_pid + | z f32 + | p f32 + | i f32 + | d f32 + | () + | ThermalError + | + +--> Thermal.get_margin + | f32 + | ThermalError + | + +--> Thermal.set_margin + | margin f32 + | () + | ThermalError + | + +--> Thermal.update_dynamic_input + | index usize + | time u64 + | model ThermalProperties + | temperature Celsius + | () + | ThermalError + | + +--> Thermal.remove_dynamic_input + | index usize + | () + | ThermalError + | + +--> Thermal.get_runtime + u64 + ThermalError + +INTERFACE TASK +Sequencer gimlet_seq + | + +--> Sequencer.get_state + | PowerState + | SeqError + | + +--> Sequencer.set_state + | state PowerState + | () + | SeqError + | + +--> Sequencer.fans_on + | () + | SeqError + | + +--> Sequencer.fans_off + () + SeqError + +INTERFACE TASK +Hash hash_driver + | + +--> Hash.init_sha256 + | () + | HashError + | + +--> Hash.update + | len u32 + | () + | HashError + | + +--> Hash.finalize_sha256 + | [u8; crate::SHA256_SZ] + | HashError + | + +--> Hash.digest_sha256 + len u32 + [u8; crate::SHA256_SZ] + HashError + +INTERFACE TASK +HostFlash hf + | + +--> HostFlash.read_id + | [u8; 20] + | HfError + | + +--> HostFlash.capacity + | usize + | HfError + | + +--> HostFlash.read_status + | u8 + | HfError + | + +--> HostFlash.bulk_erase + | () + | HfError + | + +--> HostFlash.page_program + | address u32 + | () + | HfError + | + +--> HostFlash.read + | address u32 + | () + | HfError + | + +--> HostFlash.sector_erase + | address u32 + | () + | HfError + | + +--> HostFlash.get_mux + | HfMuxState + | HfError + | + +--> HostFlash.set_mux + | state HfMuxState + | () + | HfError + | + +--> HostFlash.get_dev + | HfDevSelect + | HfError + | + +--> HostFlash.set_dev + | dev HfDevSelect + | () + | HfError + | + +--> HostFlash.hash + address u32 + len u32 + [u8; crate::SHA256_SZ] + HfError + +INTERFACE TASK +Update update_server + | + +--> Update.block_size + | usize + | UpdateError + | + +--> Update.prep_image_update + | image_type UpdateTarget + | () + | UpdateError + | + +--> Update.write_one_block + | block_num usize + | () + | UpdateError + | + +--> Update.abort_update + | () + | UpdateError + | + +--> Update.finish_image_update + | () + | UpdateError + | + +--> Update.current_version + ImageVersion + +INTERFACE TASK +Sensor sensor + | + +--> Sensor.get + | id SensorId + | f32 + | SensorError + | + +--> Sensor.get_reading + | id SensorId + | Reading + | SensorError + | + +--> Sensor.post + | id SensorId + | value f32 + | timestamp u64 + | () + | SensorError + | + +--> Sensor.nodata + | id SensorId + | nodata NoData + | timestamp u64 + | () + | SensorError + | + +--> Sensor.get_nerrors + id SensorId + u32 + SensorError + +INTERFACE TASK +HostSpComms host_sp_comms + | + +--> HostSpComms.set_status + | status u64 + | () + | HostSpCommsError + | + +--> HostSpComms.get_status + Status + HostSpCommsError + +INTERFACE TASK +ControlPlaneAgent control_plane_agent + | + +--> ControlPlaneAgent.fetch_host_phase2_data + | image_hash [u8; 32] + | offset u64 + | notification_bit u8 + | () + | ControlPlaneAgentError + | + +--> ControlPlaneAgent.get_host_phase2_data + | image_hash [u8; 32] + | offset u64 + | usize + | ControlPlaneAgentError + | + +--> ControlPlaneAgent.get_startup_options + | HostStartupOptions + | ControlPlaneAgentError + | + +--> ControlPlaneAgent.set_startup_options + | startup_options u64 + | () + | ControlPlaneAgentError + | + +--> ControlPlaneAgent.identity + | Identity + | + +--> ControlPlaneAgent.get_uart_client + | UartClient + | + +--> ControlPlaneAgent.set_humility_uart_client + | attach bool + | () + | ControlPlaneAgentError + | + +--> ControlPlaneAgent.uart_read + | usize + | ControlPlaneAgentError + | + +--> ControlPlaneAgent.uart_write + usize + ControlPlaneAgentError + +INTERFACE TASK +SpRot sprot + | + +--> SpRot.send_recv + | msgtype MsgType + | Received + | SprotError + | + +--> SpRot.send_recv_retries + | msgtype MsgType + | attempts u16 + | Received + | SprotError + | + +--> SpRot.status + | Status + | SprotError + | + +--> SpRot.pulse_cs + | delay u16 + | PulseStatus + | SprotError + | + +--> SpRot.rot_sink + | count u16 + | size u16 + | SinkStatus + | SprotError + | + +--> SpRot.block_size + | usize + | SprotError + | + +--> SpRot.prep_image_update + | image_type UpdateTarget + | () + | SprotError + | + +--> SpRot.write_one_block + | block_num u32 + | () + | SprotError + | + +--> SpRot.abort_update + | () + | SprotError + | + +--> SpRot.finish_image_update + | () + | SprotError + | + +--> SpRot.current_version + ImageVersion + SprotError + +INTERFACE TASK +Validate validate + | + +--> Validate.validate_i2c + index usize + ValidateOk + ValidateError + +INTERFACE TASK +Vpd vpd + | + +--> Vpd.read_tmp117_eeprom + | index u8 + | [u8; 6] + | VpdError + | + +--> Vpd.read + | index u8 + | offset u16 + | [u8; 16] + | VpdError + | + +--> Vpd.write + index u8 + offset u16 + contents u8 + () + VpdError + diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.toml index 6d358224a..70171678e 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.toml +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.panic-on-boot.toml @@ -7,5 +7,3 @@ fs.base = "../cores" bin.name = "humility" args = "-d hubris.core.panic-on-boot hiffy --list" - -status.code = 1 diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.sidecar-b-image-default.zip.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.sidecar-b-image-default.zip.stderr index cd30496d1..baafb36e7 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.sidecar-b-image-default.zip.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.sidecar-b-image-default.zip.stderr @@ -1,4 +1,3 @@ -humility: attached to archive humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x000289c4 (object 5), smoltcp::socket::udp::RecvError as GOFF 0x000557f3 (object 5) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x0000f3aa (object 5), task_net_api::SendError as GOFF 0x000289e8 (object 5) humility: WARNING: PortStatus matches more than one structure: drv_monorail_api::PortStatus as GOFF 0x0004dd0f (object 11), gateway_messages::sp_to_mgs::monorail_port_status::PortStatus as GOFF 0x00067872 (object 11) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.stderr deleted file mode 100644 index 394c11cb6..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: WARNING: couldn't find type [u8; crate::SHA256_SZ] for HostFlash.hash diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.stdout deleted file mode 100644 index b8a4dd885..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.stdout +++ /dev/null @@ -1,236 +0,0 @@ -INTERFACE TASK -Net net - | - +--> Net.recv_packet - | socket SocketName - | UdpMetadata - | NetError - | - +--> Net.send_packet - | socket SocketName - | metadata UdpMetadata - | () - | NetError - | - +--> Net.smi_read - | phy u8 - | register u8 - | u16 - | NetError - | - +--> Net.smi_write - phy u8 - register u8 - value u16 - () - NetError - -INTERFACE TASK -Sys sys - | - +--> Sys.enable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.disable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.enter_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.leave_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.gpio_configure_raw - | port Port - | pins u16 - | packed_attributes u16 - | () - | GpioError - | - +--> Sys.gpio_set_reset - | port Port - | set_pins u16 - | reset_pins u16 - | () - | GpioError - | - +--> Sys.gpio_read_input - | port Port - | u16 - | GpioError - | - +--> Sys.gpio_toggle - port Port - pins u16 - () - GpioError - -INTERFACE TASK -Spi spi4_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Spi spi2_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -Thermal thermal - | - +--> Thermal.set_fan_pwm - index u8 - pwm u8 - () - ThermalError - -INTERFACE TASK -Sequencer gimlet_seq - | - +--> Sequencer.get_state - | PowerState - | SeqError - | - +--> Sequencer.set_state - | state PowerState - | () - | SeqError - | - +--> Sequencer.fans_on - | () - | SeqError - | - +--> Sequencer.fans_off - | () - | SeqError - | - +--> Sequencer.is_clock_config_loaded - u8 - SeqError - -INTERFACE TASK -HostFlash hf - | - +--> HostFlash.read_id - | [u8; 20] - | HfError - | - +--> HostFlash.read_status - | u8 - | HfError - | - +--> HostFlash.bulk_erase - | () - | HfError - | - +--> HostFlash.page_program - | address u32 - | () - | HfError - | - +--> HostFlash.read - | address u32 - | () - | HfError - | - +--> HostFlash.sector_erase - | address u32 - | () - | HfError - | - +--> HostFlash.get_mux - | HfMuxState - | HfError - | - +--> HostFlash.set_mux - | state HfMuxState - | () - | HfError - | - +--> HostFlash.get_dev - | HfDevSelect - | HfError - | - +--> HostFlash.set_dev - | dev HfDevSelect - | () - | HfError - | - +--> HostFlash.hash - address u32 - len u32 - -INTERFACE TASK -Sensor sensor - | - +--> Sensor.get - | id SensorId - | f32 - | SensorError - | - +--> Sensor.post - | id SensorId - | value f32 - | () - | SensorError - | - +--> Sensor.nodata - id SensorId - nodata NoData - () - SensorError - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.toml deleted file mode 100644 index ed738631f..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 hiffy --list" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.sprot_status.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.sprot_status.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.sprot_status.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.sprot_status.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.stderr deleted file mode 100644 index 394c11cb6..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: WARNING: couldn't find type [u8; crate::SHA256_SZ] for HostFlash.hash diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.stdout deleted file mode 100644 index f7a4d0fa9..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.stdout +++ /dev/null @@ -1,208 +0,0 @@ -INTERFACE TASK -Sys sys - | - +--> Sys.enable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.disable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.enter_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.leave_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.gpio_configure_raw - | port Port - | pins u16 - | packed_attributes u16 - | () - | GpioError - | - +--> Sys.gpio_set_reset - | port Port - | set_pins u16 - | reset_pins u16 - | () - | GpioError - | - +--> Sys.gpio_read_input - | port Port - | u16 - | GpioError - | - +--> Sys.gpio_toggle - port Port - pins u16 - () - GpioError - -INTERFACE TASK -Spi spi_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -UserLeds user_leds - | - +--> UserLeds.led_on - | index usize - | () - | LedError - | - +--> UserLeds.led_off - | index usize - | () - | LedError - | - +--> UserLeds.led_toggle - index usize - () - LedError - -INTERFACE TASK -HostFlash hf - | - +--> HostFlash.read_id - | [u8; 20] - | HfError - | - +--> HostFlash.read_status - | u8 - | HfError - | - +--> HostFlash.bulk_erase - | () - | HfError - | - +--> HostFlash.page_program - | address u32 - | () - | HfError - | - +--> HostFlash.read - | address u32 - | () - | HfError - | - +--> HostFlash.sector_erase - | address u32 - | () - | HfError - | - +--> HostFlash.get_mux - | HfMuxState - | HfError - | - +--> HostFlash.set_mux - | state HfMuxState - | () - | HfError - | - +--> HostFlash.get_dev - | HfDevSelect - | HfError - | - +--> HostFlash.set_dev - | dev HfDevSelect - | () - | HfError - | - +--> HostFlash.hash - address u32 - len u32 - -INTERFACE TASK -Net net - | - +--> Net.recv_packet - | socket SocketName - | UdpMetadata - | NetError - | - +--> Net.send_packet - | socket SocketName - | metadata UdpMetadata - | () - | NetError - | - +--> Net.smi_read - | phy u8 - | register u8 - | u16 - | NetError - | - +--> Net.smi_write - phy u8 - register u8 - value u16 - () - NetError - -INTERFACE TASK -Validate validate - | - +--> Validate.validate_i2c - index usize - ValidateOk - ValidateError - -INTERFACE TASK -Rng rng_driver - | - +--> Rng.fill - usize - RngError - -INTERFACE TASK -Update update_server - | - +--> Update.block_size - | usize - | UpdateError - | - +--> Update.prep_image_update - | () - | UpdateError - | - +--> Update.write_one_block - | block_num usize - | () - | UpdateError - | - +--> Update.finish_image_update - () - UpdateError - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.toml deleted file mode 100644 index f15c461b4..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 hiffy --list" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.stderr deleted file mode 100644 index 394c11cb6..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: WARNING: couldn't find type [u8; crate::SHA256_SZ] for HostFlash.hash diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.stdout b/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.stdout deleted file mode 100644 index f7a4d0fa9..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.stdout +++ /dev/null @@ -1,208 +0,0 @@ -INTERFACE TASK -Sys sys - | - +--> Sys.enable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.disable_clock_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.enter_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.leave_reset_raw - | peripheral u32 - | () - | RccError - | - +--> Sys.gpio_configure_raw - | port Port - | pins u16 - | packed_attributes u16 - | () - | GpioError - | - +--> Sys.gpio_set_reset - | port Port - | set_pins u16 - | reset_pins u16 - | () - | GpioError - | - +--> Sys.gpio_read_input - | port Port - | u16 - | GpioError - | - +--> Sys.gpio_toggle - port Port - pins u16 - () - GpioError - -INTERFACE TASK -Spi spi_driver - | - +--> Spi.read - | device_index u8 - | () - | SpiError - | - +--> Spi.write - | device_index u8 - | () - | SpiError - | - +--> Spi.exchange - | device_index u8 - | () - | SpiError - | - +--> Spi.lock - | device_index u8 - | cs_state CsState - | () - | SpiError - | - +--> Spi.release - () - SpiError - -INTERFACE TASK -UserLeds user_leds - | - +--> UserLeds.led_on - | index usize - | () - | LedError - | - +--> UserLeds.led_off - | index usize - | () - | LedError - | - +--> UserLeds.led_toggle - index usize - () - LedError - -INTERFACE TASK -HostFlash hf - | - +--> HostFlash.read_id - | [u8; 20] - | HfError - | - +--> HostFlash.read_status - | u8 - | HfError - | - +--> HostFlash.bulk_erase - | () - | HfError - | - +--> HostFlash.page_program - | address u32 - | () - | HfError - | - +--> HostFlash.read - | address u32 - | () - | HfError - | - +--> HostFlash.sector_erase - | address u32 - | () - | HfError - | - +--> HostFlash.get_mux - | HfMuxState - | HfError - | - +--> HostFlash.set_mux - | state HfMuxState - | () - | HfError - | - +--> HostFlash.get_dev - | HfDevSelect - | HfError - | - +--> HostFlash.set_dev - | dev HfDevSelect - | () - | HfError - | - +--> HostFlash.hash - address u32 - len u32 - -INTERFACE TASK -Net net - | - +--> Net.recv_packet - | socket SocketName - | UdpMetadata - | NetError - | - +--> Net.send_packet - | socket SocketName - | metadata UdpMetadata - | () - | NetError - | - +--> Net.smi_read - | phy u8 - | register u8 - | u16 - | NetError - | - +--> Net.smi_write - phy u8 - register u8 - value u16 - () - NetError - -INTERFACE TASK -Validate validate - | - +--> Validate.validate_i2c - index usize - ValidateOk - ValidateError - -INTERFACE TASK -Rng rng_driver - | - +--> Rng.fill - usize - RngError - -INTERFACE TASK -Update update_server - | - +--> Update.block_size - | usize - | UpdateError - | - +--> Update.prep_image_update - | () - | UpdateError - | - +--> Update.write_one_block - | block_num usize - | () - | UpdateError - | - +--> Update.finish_image_update - () - UpdateError - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.toml b/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.toml deleted file mode 100644 index 2a6ab2fc5..000000000 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 hiffy --list" - diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.net.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.net.stderr index b74becda6..fbb4839b0 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.net.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.net.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility: WARNING: DumpArea matches more than one structure: task_jefe::dump::Trace::DumpArea as GOFF 0x00003dd0 (object 1), humpty::DumpArea as GOFF 0x0000ea1b (object 1) humility: WARNING: DumpArea matches more than one structure: task_jefe::dump::Trace::DumpArea as GOFF 0x00003dd0 (object 1), humpty::DumpArea as GOFF 0x0000ea1b (object 1) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.power.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.power.stderr index 4fc7b1201..5e0fcd651 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.power.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.task.power.stderr @@ -1,4 +1,3 @@ -humility: attached to dump humility: WARNING: RecvError matches more than one enum: task_net_api::RecvError as GOFF 0x00026f6a (object 2), smoltcp::socket::udp::RecvError as GOFF 0x0004ff44 (object 2) humility: WARNING: SendError matches more than one enum: smoltcp::socket::udp::SendError as GOFF 0x0000eac7 (object 2), task_net_api::SendError as GOFF 0x00026f8e (object 2) humility: WARNING: SpiError matches more than one enum: drv_spi_api::SpiError as GOFF 0x0000747b (object 4), gateway_messages::sp_to_mgs::SpiError as GOFF 0x00010cf6 (object 4) diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.u16-ringbuf.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.u16-ringbuf.stderr index 7a7d368f6..fb914ae25 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.u16-ringbuf.stderr @@ -1,3 +1,2 @@ -humility: attached to dump humility: WARNING: couldn't find type Option<(Result, u64)> for Sensor.get_raw_reading humility: WARNING: couldn't find type Option<(NoData, u64)> for Sensor.get_last_nodata diff --git a/humility-bin/tests/cmd/hiffy-list/hiffy-list.v6.stderr b/humility-bin/tests/cmd/hiffy-list/hiffy-list.v6.stderr index 10512b11e..b7f7dfedf 100644 --- a/humility-bin/tests/cmd/hiffy-list/hiffy-list.v6.stderr +++ b/humility-bin/tests/cmd/hiffy-list/hiffy-list.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility: WARNING: couldn't find type [u32; 3] for Sys.read_uid diff --git a/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.stderr b/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.stderr deleted file mode 100644 index ca2a9d884..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility host failed: Could not find host boot variables under any known name; is this a Gimlet image? diff --git a/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.stdout b/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.toml b/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.toml deleted file mode 100644 index 50fe45310..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.chilly.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 host last-panic" - -status.code = 1 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.stderr b/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.stderr deleted file mode 100644 index ca2a9d884..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility host failed: Could not find host boot variables under any known name; is this a Gimlet image? diff --git a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.stdout b/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.toml b/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.toml deleted file mode 100644 index 85663b4ad..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 host last-panic" - -status.code = 1 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.stderr b/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.stderr deleted file mode 100644 index a43dc84a2..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: panic information is empty diff --git a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.stdout b/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.toml b/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.toml deleted file mode 100644 index d889b9a54..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 host last-panic" - diff --git a/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.stderr b/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.stderr deleted file mode 100644 index ca2a9d884..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility host failed: Could not find host boot variables under any known name; is this a Gimlet image? diff --git a/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.stdout b/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.toml b/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.toml deleted file mode 100644 index 63e4c7924..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.spoopy.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 host last-panic" - -status.code = 1 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.stderr b/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.stderr deleted file mode 100644 index ca2a9d884..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility host failed: Could not find host boot variables under any known name; is this a Gimlet image? diff --git a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.stdout b/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.toml b/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.toml deleted file mode 100644 index 6fab41148..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 host last-panic" - -status.code = 1 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.stderr b/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.stderr deleted file mode 100644 index ca2a9d884..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility host failed: Could not find host boot variables under any known name; is this a Gimlet image? diff --git a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.stdout b/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.toml b/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.toml deleted file mode 100644 index 6c7ca49ad..000000000 --- a/humility-bin/tests/cmd/host-panic/host-panic.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 host last-panic" - -status.code = 1 diff --git a/humility-bin/tests/cmd/manifest/manifest.chilly.0.stderr b/humility-bin/tests/cmd/manifest/manifest.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.chilly.0.stdout b/humility-bin/tests/cmd/manifest/manifest.chilly.0.stdout deleted file mode 100644 index a9b33b30a..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.chilly.0.stdout +++ /dev/null @@ -1,161 +0,0 @@ - version => hubris build archive v1.0.0 - git rev => c73c0bcb925caf3de837f3c0ab8d4681667f38b7-dirty - image id => [23, 5f, 28, 85, 24, e8, b3, 70] - board => gimlet-b - name => gimlet-b - image => - target => thumbv7em-none-eabihf - features => itm - total size => 329K - kernel size => 25K - tasks => 16 - ID OBJ TASK SIZE FEATURES - 0 8 thermal 12.8K itm, h753, gimlet - 1 11 gimlet_seq 49.9K h753 - 2 2 net 95.2K mgmt, h753, gimlet - 3 10 hiffy 43.8K h753, stm32h7, itm, i2c, gpio, spi, qspi - 4 4 spi4_driver 11.3K spi4, h753 - 5 5 spi2_driver 11.7K spi2, h753 - 6 6 i2c_driver 11.9K h753, itm - 7 7 spd 19.4K h753, itm - 8 9 power 11.8K itm, h753 - 9 12 hf 8.7K h753 - 10 14 udpecho 7.0K - 11 1 jefe 7.1K itm - 12 13 sensor 4.2K itm - 13 15 validate 7.9K - 14 3 sys 1.6K h753 - 15 16 idle 0.1K - i2c buses => 4 controllers, 5 buses - C PORT MODE NAME DESCRIPTION - 1 B trgt spd SPD proxy - 2 B init m2 M.2 bus - 2 F init front Front bus - 3 H init mid Mid bus - 4 F init rear Rear bus - i2c devices => 42 devices - ID C P MUX ADDR DEVICE DESCRIPTION - 0 2 F - 0x48 tmp117 Southwest temperature sensor - 1 2 F - 0x49 tmp117 South temperature sensor - 2 2 F - 0x4a tmp117 Southeast temperature sensor - 3 2 F - 0x70 pca9545 U.2 ABCD mux - 4 2 F - 0x71 pca9545 U.2 EFGH mux - 5 2 F - 0x72 pca9545 U.2 IJ/FRUID mux - 6 2 B - 0x73 pca9545 M.2 mux - 7 2 B 1:4 0x4c tmp451 T6 temperature sensor - 8 3 H - 0x24 tps546b24a A2 3.3V rail - 9 3 H - 0x26 tps546b24a A0 3.3V rail - 10 3 H - 0x27 tps546b24a A2 5V rail - 11 3 H - 0x29 tps546b24a A2 1.8V rail - 12 3 H - 0x3a max5970 M.2 hot plug controller - 13 3 H - 0x4c sbtsi CPU temperature sensor - 14 3 H - 0x58 idt8a34003 Clock generator - 15 3 H - 0x5a raa229618 CPU power controller - 16 3 H - 0x5b raa229618 SoC power controller - 17 3 H - 0x5c isl68224 DIMM/SP3 1.8V A0 power controller - 18 4 F - 0x10 adm1272 Fan hot swap controller - 19 4 F - 0x14 adm1272 Sled hot swap controller - 20 4 F - 0x20 max31790 Fan controller - 21 4 F - 0x25 tps546b24a T6 power controller - 22 4 F - 0x48 tmp117 Northeast temperature sensor - 23 4 F - 0x49 tmp117 North temperature sensor - 24 4 F - 0x4a tmp117 Northwest temperature sensor - 25 4 F - 0x67 bmr491 Intermediate bus converter - 26 3 H - 0x18 tse2004av DIMM A0 - 27 3 H - 0x19 tse2004av DIMM A1 - 28 3 H - 0x1a tse2004av DIMM B0 - 29 3 H - 0x1b tse2004av DIMM B1 - 30 3 H - 0x1c tse2004av DIMM C0 - 31 3 H - 0x1d tse2004av DIMM C1 - 32 3 H - 0x1e tse2004av DIMM D0 - 33 3 H - 0x1f tse2004av DIMM D1 - 34 4 F - 0x18 tse2004av DIMM E0 - 35 4 F - 0x19 tse2004av DIMM E1 - 36 4 F - 0x1a tse2004av DIMM F0 - 37 4 F - 0x1b tse2004av DIMM F1 - 38 4 F - 0x1c tse2004av DIMM G0 - 39 4 F - 0x1d tse2004av DIMM G1 - 40 4 F - 0x1e tse2004av DIMM H0 - 41 4 F - 0x1f tse2004av DIMM H1 - sensors => 77 sensors - ID NAME DEVICE KIND - 0 Southwest i2c id=0 temp - 1 South i2c id=1 temp - 2 Southeast i2c id=2 temp - 3 tmp451 i2c id=7 temp - 4 V3P3_SP_A2 i2c id=8 temp - 5 V3P3_SP_A2 i2c id=8 current - 6 V3P3_SP_A2 i2c id=8 voltage - 7 V3P3_SYS_A0 i2c id=9 temp - 8 V3P3_SYS_A0 i2c id=9 current - 9 V3P3_SYS_A0 i2c id=9 voltage - 10 V5_SYS_A2 i2c id=10 temp - 11 V5_SYS_A2 i2c id=10 current - 12 V5_SYS_A2 i2c id=10 voltage - 13 V1P8_SYS_A2 i2c id=11 temp - 14 V1P8_SYS_A2 i2c id=11 current - 15 V1P8_SYS_A2 i2c id=11 voltage - 16 CPU i2c id=13 temp - 17 VDD_VCORE i2c id=15 temp - 18 VDD_MEM_ABCD i2c id=15 temp - 19 VDD_VCORE i2c id=15 power - 20 VDD_MEM_ABCD i2c id=15 power - 21 VDD_VCORE i2c id=15 current - 22 VDD_MEM_ABCD i2c id=15 current - 23 VDD_VCORE i2c id=15 voltage - 24 VDD_MEM_ABCD i2c id=15 voltage - 25 VDDCR_SOC i2c id=16 temp - 26 VDD_MEM_EFGH i2c id=16 temp - 27 VDDCR_SOC i2c id=16 power - 28 VDD_MEM_EFGH i2c id=16 power - 29 VDDCR_SOC i2c id=16 current - 30 VDD_MEM_EFGH i2c id=16 current - 31 VDDCR_SOC i2c id=16 voltage - 32 VDD_MEM_EFGH i2c id=16 voltage - 33 VPP_ABCD i2c id=17 current - 34 VPP_EFGH i2c id=17 current - 35 V1P8_SP3 i2c id=17 current - 36 VPP_ABCD i2c id=17 voltage - 37 VPP_EFGH i2c id=17 voltage - 38 V1P8_SP3 i2c id=17 voltage - 39 V54_FAN i2c id=18 temp - 40 V54_FAN i2c id=18 current - 41 V54_FAN i2c id=18 voltage - 42 V54_HS_OUTPUT i2c id=19 temp - 43 V54_HS_OUTPUT i2c id=19 current - 44 V54_HS_OUTPUT i2c id=19 voltage - 45 max31790 i2c id=20 speed - 46 max31790#1 i2c id=20 speed - 47 max31790#2 i2c id=20 speed - 48 max31790#3 i2c id=20 speed - 49 max31790#4 i2c id=20 speed - 50 max31790#5 i2c id=20 speed - 51 V0P96_NIC_VDD_A0HP i2c id=21 temp - 52 V0P96_NIC_VDD_A0HP i2c id=21 current - 53 V0P96_NIC_VDD_A0HP i2c id=21 voltage - 54 Northeast i2c id=22 temp - 55 North i2c id=23 temp - 56 Northwest i2c id=24 temp - 57 V12_SYS_A2 i2c id=25 temp - 58 V12_SYS_A2 i2c id=25 power - 59 V12_SYS_A2 i2c id=25 current - 60 V12_SYS_A2 i2c id=25 voltage - 61 DIMM_A0 i2c id=26 temp - 62 DIMM_A1 i2c id=27 temp - 63 DIMM_B0 i2c id=28 temp - 64 DIMM_B1 i2c id=29 temp - 65 DIMM_C0 i2c id=30 temp - 66 DIMM_C1 i2c id=31 temp - 67 DIMM_D0 i2c id=32 temp - 68 DIMM_D1 i2c id=33 temp - 69 DIMM_E0 i2c id=34 temp - 70 DIMM_E1 i2c id=35 temp - 71 DIMM_F0 i2c id=36 temp - 72 DIMM_F1 i2c id=37 temp - 73 DIMM_G0 i2c id=38 temp - 74 DIMM_G1 i2c id=39 temp - 75 DIMM_H0 i2c id=40 temp - 76 DIMM_H1 i2c id=41 temp - sockets => 1 socket - NAME KIND PORT RXSIZE OWNER - echo udp 7 1024 udpecho diff --git a/humility-bin/tests/cmd/manifest/manifest.chilly.0.toml b/humility-bin/tests/cmd/manifest/manifest.chilly.0.toml deleted file mode 100644 index 4af2e2f98..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 manifest" - diff --git a/humility-bin/tests/cmd/manifest/manifest.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/manifest/manifest.control_plane_agent.overflow.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.control_plane_agent.overflow.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.cosmo.stderr b/humility-bin/tests/cmd/manifest/manifest.cosmo.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.cosmo.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.cosmo.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.counters.0.stderr b/humility-bin/tests/cmd/manifest/manifest.counters.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.counters.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.counters.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/manifest/manifest.duplicate_HostFlash_hash_REPLY.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.duplicate_HostFlash_hash_REPLY.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.extern-regions.stderr b/humility-bin/tests/cmd/manifest/manifest.extern-regions.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.extern-regions.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.extern-regions.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/manifest/manifest.flash-ram-mismatch.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.flash-ram-mismatch.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.gimlet-c-dev-image-default-v1.0.2.zip.stderr b/humility-bin/tests/cmd/manifest/manifest.gimlet-c-dev-image-default-v1.0.2.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.gimlet-c-dev-image-default-v1.0.2.zip.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.gimlet-c-dev-image-default-v1.0.2.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/manifest/manifest.gimlet-rot-c-image-b.zip.stderr b/humility-bin/tests/cmd/manifest/manifest.gimlet-rot-c-image-b.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.gimlet-rot-c-image-b.zip.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.gimlet-rot-c-image-b.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/manifest/manifest.gimlet.stderr b/humility-bin/tests/cmd/manifest/manifest.gimlet.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.gimlet.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.gimlet.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.host-panic.0.stderr b/humility-bin/tests/cmd/manifest/manifest.host-panic.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.host-panic.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.host-panic.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.host-panic.1.stderr b/humility-bin/tests/cmd/manifest/manifest.host-panic.1.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.host-panic.1.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.host-panic.1.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.host-panic.2.stderr b/humility-bin/tests/cmd/manifest/manifest.host-panic.2.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.host-panic.2.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.host-panic.2.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.host-panic.3.stderr b/humility-bin/tests/cmd/manifest/manifest.host-panic.3.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.host-panic.3.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.host-panic.3.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.host-panic.4.stderr b/humility-bin/tests/cmd/manifest/manifest.host-panic.4.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.host-panic.4.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.host-panic.4.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/manifest/manifest.idol-returns-an-enum.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.idol-returns-an-enum.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.igor.0.stderr b/humility-bin/tests/cmd/manifest/manifest.igor.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.igor.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.igor.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.in_bootloader.0.stderr b/humility-bin/tests/cmd/manifest/manifest.in_bootloader.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.in_bootloader.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.inheritance.0.stderr b/humility-bin/tests/cmd/manifest/manifest.inheritance.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.inheritance.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.inheritance.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.ipc-counts.0.stderr b/humility-bin/tests/cmd/manifest/manifest.ipc-counts.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.ipc-counts.0.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.ipc-counts.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.stderr b/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.stdout b/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.stdout deleted file mode 100644 index 89ef5fab9..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.stdout +++ /dev/null @@ -1,32 +0,0 @@ - version => hubris build archive v1.0.0 - git rev => afde6cb06575dd37eef474df646917db34ec9ac1-dirty - image id => [cf, eb, 61, 2b, a0, 4e, bb, be] - board => nucleo-h753zi - name => demo-stm32h753-nucleo - image => - target => thumbv7em-none-eabihf - features => h753, itm - total size => 342K - kernel size => 25K - tasks => 14 - ID OBJ TASK SIZE FEATURES - 0 13 idle 0.1K - 1 8 pong 1.0K - 2 1 jefe 8.1K itm - 3 9 udpecho 32.1K - 4 10 hiffy 56.1K h753, stm32h7, itm, i2c, gpio, spi, qspi, hash - 5 3 i2c_driver 16.3K h753 - 6 4 spi_driver 16.1K spi1, h753 - 7 5 net 142.3K h753 - 8 11 hf 16.1K h753, hash - 9 7 ping 8.1K - 10 12 hash_driver 8.1K h753 - 11 14 rng_driver 8.1K h753 - 12 2 sys 2.0K h753 - 13 6 user_leds 2.0K stm32h7 - i2c buses => 1 controller, 1 bus - C PORT MODE NAME DESCRIPTION - 2 F init - - - sockets => 1 socket - NAME KIND PORT RXSIZE OWNER - echo udp 7 1024 udpecho diff --git a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.toml b/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.toml deleted file mode 100644 index 47c3a61f1..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 manifest" - diff --git a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.stderr b/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.stdout b/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.stdout deleted file mode 100644 index 40e0f45b9..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.stdout +++ /dev/null @@ -1,262 +0,0 @@ - version => hubris build archive v5 - git rev => 14802833125a249cbbbf01768a3ebb6b6c03e885-dirty - image id => [64, dc, 4, 49, 54, 2, 18, f6] - board => gimlet-b - name => gimlet-b-lab - image => - target => thumbv7em-none-eabihf - features => - total size => 803K - kernel size => 36K - tasks => 24 - ID OBJ TASK SIZE FEATURES - 0 8 thermal 32.8K itm, gimlet - 1 11 gimlet_seq 64.1K h753, stay-in-a2 - 2 2 net 162.8K mgmt, h753, gimlet, vlan, vpd-mac - 3 20 control_plane_agent 134.2K gimlet, usart1, vlan, baud_rate_3M, vpd-identity - 4 9 power 33.7K itm, gimlet - 5 10 hiffy 56.6K h753, stm32h7, itm, i2c, gpio, spi, qspi, hash, update, sprot - 6 16 host_sp_comms 52.1K stm32h753, uart7, baud_rate_3M, hardware_flow_control, vlan - 7 21 sprot 32.1K sink_test - 8 4 spi4_driver 16.1K spi4, h753 - 9 5 spi2_driver 16.1K spi2, h753 - 10 6 i2c_driver 16.1K h753, itm - 11 7 spd 24.1K h753, itm - 12 12 hash_driver 16.1K h753 - 13 13 hf 16.1K h753, hash - 14 14 update_server 16.1K - 15 19 udprpc 16.1K vlan - 16 22 validate 16.1K - 17 1 jefe 8.1K itm - 18 15 sensor 11.5K itm - 19 17 udpecho 8.1K vlan - 20 18 udpbroadcast 8.1K vlan - 21 23 vpd 8.1K - 22 3 sys 2.0K h753 - 23 24 idle 0.1K - i2c buses => 4 controllers, 5 buses - C PORT MODE NAME DESCRIPTION - 1 B trgt spd SPD proxy - 2 B init m2 M.2 bus - 2 F init front Front bus - 3 H init mid Mid bus - 4 F init rear Rear bus - i2c devices => 76 devices - ID C P MUX ADDR DEVICE DESCRIPTION - 0 2 F - 0x48 tmp117 Southwest temperature sensor - 1 2 F - 0x49 tmp117 South temperature sensor - 2 2 F - 0x4a tmp117 Southeast temperature sensor - 3 2 F - 0x70 pca9545 U.2 ABCD mux - 4 2 F - 0x71 pca9545 U.2 EFGH mux - 5 2 F - 0x72 pca9545 U.2 IJ/FRUID mux - 6 2 F 1:1 0x50 at24csw080 U.2 Sharkfin A VPD - 7 2 F 1:1 0x38 max5970 U.2 Sharkfin A hot swap controller - 8 2 F 1:1 0x6a nvme_bmc U.2 A NVMe Basic Management Command - 9 2 F 1:2 0x50 at24csw080 U.2 Sharkfin B VPD - 10 2 F 1:2 0x38 max5970 U.2 Sharkfin B hot swap controller - 11 2 F 1:2 0x6a nvme_bmc U.2 B NVMe Basic Management Control - 12 2 F 1:3 0x50 at24csw080 U.2 Sharkfin C VPD - 13 2 F 1:3 0x38 max5970 U.2 Sharkfin C hot swap controller - 14 2 F 1:3 0x6a nvme_bmc U.2 C NVMe Basic Management Control - 15 2 F 1:4 0x50 at24csw080 U.2 Sharkfin D VPD - 16 2 F 1:4 0x38 max5970 U.2 Sharkfin D hot swap controller - 17 2 F 1:4 0x6a nvme_bmc U.2 D NVMe Basic Management Control - 18 2 F 2:1 0x50 at24csw080 U.2 Sharkfin E VPD - 19 2 F 2:1 0x38 max5970 U.2 Sharkfin E hot swap controller - 20 2 F 2:1 0x6a nvme_bmc U.2 E NVMe Basic Management Control - 21 2 F 2:2 0x50 at24csw080 U.2 Sharkfin F VPD - 22 2 F 2:2 0x38 max5970 U.2 Sharkfin F hot swap controller - 23 2 F 2:2 0x6a nvme_bmc U.2 F NVMe Basic Management Control - 24 2 F 2:3 0x50 at24csw080 U.2 Sharkfin G VPD - 25 2 F 2:3 0x38 max5970 U.2 Sharkfin G hot swap controller - 26 2 F 2:3 0x6a nvme_bmc U.2 G NVMe Basic Management Control - 27 2 F 2:4 0x50 at24csw080 U.2 Sharkfin H VPD - 28 2 F 2:4 0x38 max5970 U.2 Sharkfin H hot swap controller - 29 2 F 2:4 0x6a nvme_bmc U.2 H NVMe Basic Management Control - 30 2 F 3:1 0x50 at24csw080 U.2 Sharkfin I VPD - 31 2 F 3:1 0x38 max5970 U.2 Sharkfin I hot swap controller - 32 2 F 3:1 0x6a nvme_bmc U.2 I NVMe Basic Management Control - 33 2 F 3:2 0x50 at24csw080 U.2 Sharkfin J VPD - 34 2 F 3:2 0x38 max5970 U.2 Sharkfin J hot swap controller - 35 2 F 3:2 0x6a nvme_bmc U.2 J NVMe Basic Management Control - 36 2 F 3:4 0x50 at24csw080 Gimlet VPD - 37 2 B - 0x73 pca9545 M.2 mux - 38 2 B 1:1 0x6a m2_hp_only M.2 A NVMe Basic Management Command - 39 2 B 1:2 0x6a m2_hp_only M.2 B NVMe Basic Management Command - 40 2 B 1:3 0x50 at24csw080 Fan VPD - 41 2 B 1:4 0x4c tmp451 T6 temperature sensor - 42 3 H - 0x24 tps546b24a A2 3.3V rail - 43 3 H - 0x26 tps546b24a A0 3.3V rail - 44 3 H - 0x27 tps546b24a A2 5V rail - 45 3 H - 0x29 tps546b24a A2 1.8V rail - 46 3 H - 0x3a max5970 M.2 hot plug controller - 47 3 H - 0x4c sbtsi CPU temperature sensor - 48 3 H - 0x58 idt8a34003 Clock generator - 49 3 H - 0x5a raa229618 CPU power controller - 50 3 H - 0x5b raa229618 SoC power controller - 51 3 H - 0x5c isl68224 DIMM/SP3 1.8V A0 power controller - 52 4 F - 0x10 adm1272 Fan hot swap controller - 53 4 F - 0x14 adm1272 Sled hot swap controller - 54 4 F - 0x20 max31790 Fan controller - 55 4 F - 0x25 tps546b24a T6 power controller - 56 4 F - 0x48 tmp117 Northeast temperature sensor - 57 4 F - 0x49 tmp117 North temperature sensor - 58 4 F - 0x4a tmp117 Northwest temperature sensor - 59 4 F - 0x67 bmr491 Intermediate bus converter - 60 3 H - 0x18 tse2004av DIMM A0 - 61 3 H - 0x19 tse2004av DIMM A1 - 62 3 H - 0x1a tse2004av DIMM B0 - 63 3 H - 0x1b tse2004av DIMM B1 - 64 3 H - 0x1c tse2004av DIMM C0 - 65 3 H - 0x1d tse2004av DIMM C1 - 66 3 H - 0x1e tse2004av DIMM D0 - 67 3 H - 0x1f tse2004av DIMM D1 - 68 4 F - 0x18 tse2004av DIMM E0 - 69 4 F - 0x19 tse2004av DIMM E1 - 70 4 F - 0x1a tse2004av DIMM F0 - 71 4 F - 0x1b tse2004av DIMM F1 - 72 4 F - 0x1c tse2004av DIMM G0 - 73 4 F - 0x1d tse2004av DIMM G1 - 74 4 F - 0x1e tse2004av DIMM H0 - 75 4 F - 0x1f tse2004av DIMM H1 - sensors => 133 sensors - ID NAME DEVICE KIND - 0 Southwest i2c id=0 temp - 1 South i2c id=1 temp - 2 Southeast i2c id=2 temp - 3 V12_U2A_A0 i2c id=7 current - 4 V3P3_U2A_A0 i2c id=7 current - 5 V12_U2A_A0 i2c id=7 voltage - 6 V3P3_U2A_A0 i2c id=7 voltage - 7 U2_N0 i2c id=8 temp - 8 V12_U2B_A0 i2c id=10 current - 9 V3P3_U2B_A0 i2c id=10 current - 10 V12_U2B_A0 i2c id=10 voltage - 11 V3P3_U2B_A0 i2c id=10 voltage - 12 U2_N1 i2c id=11 temp - 13 V12_U2C_A0 i2c id=13 current - 14 V3P3_U2C_A0 i2c id=13 current - 15 V12_U2C_A0 i2c id=13 voltage - 16 V3P3_U2C_A0 i2c id=13 voltage - 17 U2_N2 i2c id=14 temp - 18 V12_U2D_A0 i2c id=16 current - 19 V3P3_U2D_A0 i2c id=16 current - 20 V12_U2D_A0 i2c id=16 voltage - 21 V3P3_U2D_A0 i2c id=16 voltage - 22 U2_N3 i2c id=17 temp - 23 V12_U2E_A0 i2c id=19 current - 24 V3P3_U2E_A0 i2c id=19 current - 25 V12_U2E_A0 i2c id=19 voltage - 26 V3P3_U2E_A0 i2c id=19 voltage - 27 U2_N4 i2c id=20 temp - 28 V12_U2F_A0 i2c id=22 current - 29 V3P3_U2F_A0 i2c id=22 current - 30 V12_U2F_A0 i2c id=22 voltage - 31 V3P3_U2F_A0 i2c id=22 voltage - 32 U2_N5 i2c id=23 temp - 33 V12_U2G_A0 i2c id=25 current - 34 V3P3_U2G_A0 i2c id=25 current - 35 V12_U2G_A0 i2c id=25 voltage - 36 V3P3_U2G_A0 i2c id=25 voltage - 37 U2_N6 i2c id=26 temp - 38 V12_U2H_A0 i2c id=28 current - 39 V3P3_U2H_A0 i2c id=28 current - 40 V12_U2H_A0 i2c id=28 voltage - 41 V3P3_U2H_A0 i2c id=28 voltage - 42 U2_N7 i2c id=29 temp - 43 V12_U2I_A0 i2c id=31 current - 44 V3P3_U2I_A0 i2c id=31 current - 45 V12_U2I_A0 i2c id=31 voltage - 46 V3P3_U2I_A0 i2c id=31 voltage - 47 U2_N8 i2c id=32 temp - 48 V12_U2J_A0 i2c id=34 current - 49 V3P3_U2J_A0 i2c id=34 current - 50 V12_U2J_A0 i2c id=34 voltage - 51 V3P3_U2J_A0 i2c id=34 voltage - 52 U2_N9 i2c id=35 temp - 53 M2_A i2c id=38 temp - 54 M2_B i2c id=39 temp - 55 t6 i2c id=41 temp - 56 V3P3_SP_A2 i2c id=42 temp - 57 V3P3_SP_A2 i2c id=42 current - 58 V3P3_SP_A2 i2c id=42 voltage - 59 V3P3_SYS_A0 i2c id=43 temp - 60 V3P3_SYS_A0 i2c id=43 current - 61 V3P3_SYS_A0 i2c id=43 voltage - 62 V5_SYS_A2 i2c id=44 temp - 63 V5_SYS_A2 i2c id=44 current - 64 V5_SYS_A2 i2c id=44 voltage - 65 V1P8_SYS_A2 i2c id=45 temp - 66 V1P8_SYS_A2 i2c id=45 current - 67 V1P8_SYS_A2 i2c id=45 voltage - 68 V3P3_M2A_A0HP i2c id=46 current - 69 V3P3_M2B_A0HP i2c id=46 current - 70 V3P3_M2A_A0HP i2c id=46 voltage - 71 V3P3_M2B_A0HP i2c id=46 voltage - 72 CPU i2c id=47 temp - 73 VDD_VCORE i2c id=49 temp - 74 VDD_MEM_ABCD i2c id=49 temp - 75 VDD_VCORE i2c id=49 power - 76 VDD_MEM_ABCD i2c id=49 power - 77 VDD_VCORE i2c id=49 current - 78 VDD_MEM_ABCD i2c id=49 current - 79 VDD_VCORE i2c id=49 voltage - 80 VDD_MEM_ABCD i2c id=49 voltage - 81 VDDCR_SOC i2c id=50 temp - 82 VDD_MEM_EFGH i2c id=50 temp - 83 VDDCR_SOC i2c id=50 power - 84 VDD_MEM_EFGH i2c id=50 power - 85 VDDCR_SOC i2c id=50 current - 86 VDD_MEM_EFGH i2c id=50 current - 87 VDDCR_SOC i2c id=50 voltage - 88 VDD_MEM_EFGH i2c id=50 voltage - 89 VPP_ABCD i2c id=51 current - 90 VPP_EFGH i2c id=51 current - 91 V1P8_SP3 i2c id=51 current - 92 VPP_ABCD i2c id=51 voltage - 93 VPP_EFGH i2c id=51 voltage - 94 V1P8_SP3 i2c id=51 voltage - 95 V54_FAN i2c id=52 temp - 96 V54_FAN i2c id=52 current - 97 V54_FAN i2c id=52 voltage - 98 V54_HS_OUTPUT i2c id=53 temp - 99 V54_HS_OUTPUT i2c id=53 current - 100 V54_HS_OUTPUT i2c id=53 voltage - 101 Southeast i2c id=54 speed - 102 Northeast i2c id=54 speed - 103 South i2c id=54 speed - 104 North i2c id=54 speed - 105 Southwest i2c id=54 speed - 106 Northwest i2c id=54 speed - 107 V0P96_NIC_VDD_A0HP i2c id=55 temp - 108 V0P96_NIC_VDD_A0HP i2c id=55 current - 109 V0P96_NIC_VDD_A0HP i2c id=55 voltage - 110 Northeast i2c id=56 temp - 111 North i2c id=57 temp - 112 Northwest i2c id=58 temp - 113 V12_SYS_A2 i2c id=59 temp - 114 V12_SYS_A2 i2c id=59 power - 115 V12_SYS_A2 i2c id=59 current - 116 V12_SYS_A2 i2c id=59 voltage - 117 DIMM_A0 i2c id=60 temp - 118 DIMM_A1 i2c id=61 temp - 119 DIMM_B0 i2c id=62 temp - 120 DIMM_B1 i2c id=63 temp - 121 DIMM_C0 i2c id=64 temp - 122 DIMM_C1 i2c id=65 temp - 123 DIMM_D0 i2c id=66 temp - 124 DIMM_D1 i2c id=67 temp - 125 DIMM_E0 i2c id=68 temp - 126 DIMM_E1 i2c id=69 temp - 127 DIMM_F0 i2c id=70 temp - 128 DIMM_F1 i2c id=71 temp - 129 DIMM_G0 i2c id=72 temp - 130 DIMM_G1 i2c id=73 temp - 131 DIMM_H0 i2c id=74 temp - 132 DIMM_H1 i2c id=75 temp - sockets => 4 sockets - NAME KIND PORT RXSIZE OWNER - echo udp 7 1024 udpecho - broadcast udp 997 1024 udpbroadcast - rpc udp 998 1024 udprpc - control_plane_agent udp 11111 2048 control_plane_agent diff --git a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.toml b/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.toml deleted file mode 100644 index 9366d4828..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 manifest" - diff --git a/humility-bin/tests/cmd/manifest/manifest.new-compiler.stderr b/humility-bin/tests/cmd/manifest/manifest.new-compiler.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.new-compiler.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.new-compiler.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.new-ringbuf.stderr b/humility-bin/tests/cmd/manifest/manifest.new-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.new-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.new-sensors.stderr b/humility-bin/tests/cmd/manifest/manifest.new-sensors.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.new-sensors.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.new-sensors.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/manifest/manifest.nightly-2022-11-01.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.nightly-2022-11-01.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.panic-on-boot.stderr b/humility-bin/tests/cmd/manifest/manifest.panic-on-boot.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.panic-on-boot.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.sidecar-b-image-default.zip.stderr b/humility-bin/tests/cmd/manifest/manifest.sidecar-b-image-default.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.sidecar-b-image-default.zip.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.sidecar-b-image-default.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/manifest/manifest.spoopy.0.stderr b/humility-bin/tests/cmd/manifest/manifest.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.spoopy.0.stdout b/humility-bin/tests/cmd/manifest/manifest.spoopy.0.stdout deleted file mode 100644 index d9a27670a..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.spoopy.0.stdout +++ /dev/null @@ -1,128 +0,0 @@ - version => hubris build archive v1.0.0 - git rev => 78634eb88cf40894810aaf4f210d0ec35a4626bc - image id => [61, 8b, 7e, 90, cf, 8c, a9, 51] - board => gimlet-b - name => gimlet-b - image => - target => thumbv7em-none-eabihf - features => itm - total size => 314K - kernel size => 25K - tasks => 15 - ID OBJ TASK SIZE FEATURES - 0 10 hiffy 43.8K h753, stm32h7, itm, i2c, gpio, spi, qspi - 1 11 gimlet_seq 48.0K h753 - 2 2 net 95.3K mgmt, h753, gimlet - 3 4 spi4_driver 11.3K spi4, h753 - 4 5 spi2_driver 11.7K spi2, h753 - 5 6 i2c_driver 11.7K h753, itm - 6 7 spd 19.4K h753, itm - 7 9 power 12.0K itm, h753 - 8 12 hf 8.7K h753 - 9 14 udpecho 7.0K - 10 1 jefe 7.1K itm - 11 8 thermal 7.6K itm, h753 - 12 13 sensor 4.2K itm - 13 3 sys 1.6K h753 - 14 15 idle 0.1K - i2c buses => 4 controllers, 5 buses - C PORT MODE NAME DESCRIPTION - 1 B trgt spd SPD proxy - 2 B init m2 M.2 bus - 2 F init front Front bus - 3 H init mid Mid bus - 4 F init rear Rear bus - i2c devices => 26 devices - ID C P MUX ADDR DEVICE DESCRIPTION - 0 2 F - 0x48 tmp117 Southwest temperature sensor - 1 2 F - 0x49 tmp117 South temperature sensor - 2 2 F - 0x4a tmp117 Southeast temperature sensor - 3 2 F - 0x70 pca9545 U.2 ABCD mux - 4 2 F - 0x71 pca9545 U.2 EFGH mux - 5 2 F - 0x72 pca9545 U.2 IJ/FRUID mux - 6 2 B - 0x73 pca9545 M.2 mux - 7 2 B 1:4 0x4c tmp451 T6 temperature sensor - 8 3 H - 0x24 tps546b24a A2 3.3V rail - 9 3 H - 0x26 tps546b24a A0 3.3V rail - 10 3 H - 0x27 tps546b24a A2 5V rail - 11 3 H - 0x29 tps546b24a A2 1.8V rail - 12 3 H - 0x3a max5970 M.2 hot plug controller - 13 3 H - 0x4c sbtsi CPU temperature sensor - 14 3 H - 0x58 idt8a34003 Clock generator - 15 3 H - 0x5a raa229618 CPU power controller - 16 3 H - 0x5b raa229618 SoC power controller - 17 3 H - 0x5c isl68224 DIMM/SP3 1.8V A0 power controller - 18 4 F - 0x10 adm1272 Fan hot swap controller - 19 4 F - 0x14 adm1272 Sled hot swap controller - 20 4 F - 0x20 max31790 Fan controller - 21 4 F - 0x25 tps546b24a T6 power controller - 22 4 F - 0x48 tmp117 Northeast temperature sensor - 23 4 F - 0x49 tmp117 North temperature sensor - 24 4 F - 0x4a tmp117 Northwest temperature sensor - 25 4 F - 0x67 bmr491 Intermediate bus converter - sensors => 61 sensors - ID NAME DEVICE KIND - 0 Southwest i2c id=0 temp - 1 South i2c id=1 temp - 2 Southeast i2c id=2 temp - 3 tmp451 i2c id=7 temp - 4 V3P3_SP_A2 i2c id=8 temp - 5 V3P3_SP_A2 i2c id=8 current - 6 V3P3_SP_A2 i2c id=8 voltage - 7 V3P3_SYS_A0 i2c id=9 temp - 8 V3P3_SYS_A0 i2c id=9 current - 9 V3P3_SYS_A0 i2c id=9 voltage - 10 V5_SYS_A2 i2c id=10 temp - 11 V5_SYS_A2 i2c id=10 current - 12 V5_SYS_A2 i2c id=10 voltage - 13 V1P8_SYS_A2 i2c id=11 temp - 14 V1P8_SYS_A2 i2c id=11 current - 15 V1P8_SYS_A2 i2c id=11 voltage - 16 CPU i2c id=13 temp - 17 VDD_VCORE i2c id=15 temp - 18 VDD_MEM_ABCD i2c id=15 temp - 19 VDD_VCORE i2c id=15 power - 20 VDD_MEM_ABCD i2c id=15 power - 21 VDD_VCORE i2c id=15 current - 22 VDD_MEM_ABCD i2c id=15 current - 23 VDD_VCORE i2c id=15 voltage - 24 VDD_MEM_ABCD i2c id=15 voltage - 25 VDDCR_SOC i2c id=16 temp - 26 VDD_MEM_EFGH i2c id=16 temp - 27 VDDCR_SOC i2c id=16 power - 28 VDD_MEM_EFGH i2c id=16 power - 29 VDDCR_SOC i2c id=16 current - 30 VDD_MEM_EFGH i2c id=16 current - 31 VDDCR_SOC i2c id=16 voltage - 32 VDD_MEM_EFGH i2c id=16 voltage - 33 VPP_ABCD i2c id=17 current - 34 VPP_EFGH i2c id=17 current - 35 V1P8_SP3 i2c id=17 current - 36 VPP_ABCD i2c id=17 voltage - 37 VPP_EFGH i2c id=17 voltage - 38 V1P8_SP3 i2c id=17 voltage - 39 V54_FAN i2c id=18 temp - 40 V54_FAN i2c id=18 current - 41 V54_FAN i2c id=18 voltage - 42 V54_HS_OUTPUT i2c id=19 temp - 43 V54_HS_OUTPUT i2c id=19 current - 44 V54_HS_OUTPUT i2c id=19 voltage - 45 max31790 i2c id=20 speed - 46 max31790#1 i2c id=20 speed - 47 max31790#2 i2c id=20 speed - 48 max31790#3 i2c id=20 speed - 49 max31790#4 i2c id=20 speed - 50 max31790#5 i2c id=20 speed - 51 V0P96_NIC_VDD_A0HP i2c id=21 temp - 52 V0P96_NIC_VDD_A0HP i2c id=21 current - 53 V0P96_NIC_VDD_A0HP i2c id=21 voltage - 54 Northeast i2c id=22 temp - 55 North i2c id=23 temp - 56 Northwest i2c id=24 temp - 57 V12_SYS_A2 i2c id=25 temp - 58 V12_SYS_A2 i2c id=25 power - 59 V12_SYS_A2 i2c id=25 current - 60 V12_SYS_A2 i2c id=25 voltage - sockets => 1 socket - NAME KIND PORT RXSIZE OWNER - echo udp 7 1024 udpecho diff --git a/humility-bin/tests/cmd/manifest/manifest.spoopy.0.toml b/humility-bin/tests/cmd/manifest/manifest.spoopy.0.toml deleted file mode 100644 index e7ca2dac5..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 manifest" - diff --git a/humility-bin/tests/cmd/manifest/manifest.sprot_status.stderr b/humility-bin/tests/cmd/manifest/manifest.sprot_status.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.sprot_status.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.sprot_status.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.stderr b/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.stdout b/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.stdout deleted file mode 100644 index 2882da256..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.stdout +++ /dev/null @@ -1,35 +0,0 @@ - version => hubris build archive v1.0.0 - git rev => ec6b365a0d45b586a39c9b8752c96e8799a7460e - image id => [77, 5, 19, 24, 86, db, 10, 94] - board => gimletlet-2 - name => gimletlet - image => - target => thumbv7em-none-eabihf - features => itm - total size => 299K - kernel size => 35K - tasks => 15 - ID OBJ TASK SIZE FEATURES - 0 8 hiffy 56.1K h753, stm32h7, itm, i2c, gpio, spi, qspi, rng, update - 1 10 net 81.5K h753, h7-vlan, gimletlet-nic - 2 12 validate 32.1K - 3 3 i2c_driver 16.3K h753, itm - 4 4 spi_driver 16.1K spi4, h753 - 5 9 hf 16.1K h753 - 6 1 jefe 8.1K itm - 7 7 uartecho 8.1K stm32h743, usart2 - 8 11 udpecho 8.1K vlan - 9 14 rng_driver 8.1K h753 - 10 15 update_server 8.1K - 11 2 sys 2.0K h753 - 12 5 user_leds 2.0K stm32h7 - 13 6 pong 1.0K - 14 13 idle 0.1K - i2c buses => 3 controllers, 3 buses - C PORT MODE NAME DESCRIPTION - 2 F init - - - 3 C init - - - 4 F init - - - sockets => 1 socket - NAME KIND PORT RXSIZE OWNER - echo udp 7 1024 udpecho diff --git a/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.toml b/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.toml deleted file mode 100644 index a60d88c94..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 manifest" - diff --git a/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.stderr b/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.stdout b/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.stdout deleted file mode 100644 index 6dbf8b33f..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.stdout +++ /dev/null @@ -1,35 +0,0 @@ - version => hubris build archive v1.0.0 - git rev => a50098e068bdf85892d533ee7ab1cd189bd9142e - image id => [74, 56, 93, ac, 4, 54, fb, 84] - board => gimletlet-2 - name => gimletlet - image => - target => thumbv7em-none-eabihf - features => itm - total size => 286K - kernel size => 22K - tasks => 15 - ID OBJ TASK SIZE FEATURES - 0 8 hiffy 56.1K h753, stm32h7, itm, i2c, gpio, spi, qspi, rng, update - 1 10 net 81.5K h753, h7-vlan, gimletlet-nic - 2 12 validate 32.1K - 3 3 i2c_driver 16.3K h753, itm - 4 4 spi_driver 16.1K spi4, h753 - 5 9 hf 16.1K h753 - 6 1 jefe 8.1K itm - 7 7 uartecho 8.1K stm32h743, usart2 - 8 11 udpecho 8.1K vlan - 9 14 rng_driver 8.1K h753 - 10 15 update_server 8.1K - 11 2 sys 2.0K h753 - 12 5 user_leds 2.0K stm32h7 - 13 6 pong 1.0K - 14 13 idle 0.1K - i2c buses => 3 controllers, 3 buses - C PORT MODE NAME DESCRIPTION - 2 F init - - - 3 C init - - - 4 F init - - - sockets => 1 socket - NAME KIND PORT RXSIZE OWNER - echo udp 7 1024 udpecho diff --git a/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.toml b/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.toml deleted file mode 100644 index 229fc8af8..000000000 --- a/humility-bin/tests/cmd/manifest/manifest.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 manifest" - diff --git a/humility-bin/tests/cmd/manifest/manifest.task.net.stderr b/humility-bin/tests/cmd/manifest/manifest.task.net.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.task.net.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.task.net.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.task.power.stderr b/humility-bin/tests/cmd/manifest/manifest.task.power.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.task.power.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.task.power.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.u16-ringbuf.stderr b/humility-bin/tests/cmd/manifest/manifest.u16-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.u16-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/manifest/manifest.v6.stderr b/humility-bin/tests/cmd/manifest/manifest.v6.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/manifest/manifest.v6.stderr +++ b/humility-bin/tests/cmd/manifest/manifest.v6.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.chilly.0.stderr b/humility-bin/tests/cmd/map/map.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/map/map.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.chilly.0.stdout b/humility-bin/tests/cmd/map/map.chilly.0.stdout deleted file mode 100644 index da51e123b..000000000 --- a/humility-bin/tests/cmd/map/map.chilly.0.stdout +++ /dev/null @@ -1,53 +0,0 @@ -DESC LOW HIGH SIZE ATTR ID TASK -- 0x08000000 - 0x08000297 664 r----- - kernel -- 0x08000298 - 0x080044af 16KiB r-x--- - kernel -- 0x080044b0 - 0x08005803 4KiB r----- - kernel -0x080056b8 0x08008000 - 0x0800ffff 32KiB r-x--- 7 thermal -0x08005718 0x08010000 - 0x0801ffff 64KiB r-x--- 10 gimlet_seq -0x080055e8 0x08020000 - 0x0803ffff 128KiB r-x--- 1 net -0x080056f8 0x08040000 - 0x08047fff 32KiB r-x--- 9 hiffy -0x08005638 0x08048000 - 0x0804bfff 16KiB r-x--- 3 spi4_driver -0x08005658 0x0804c000 - 0x0804ffff 16KiB r-x--- 4 spi2_driver -0x08005678 0x08050000 - 0x08053fff 16KiB r-x--- 5 i2c_driver -0x08005698 0x08054000 - 0x08057fff 16KiB r-x--- 6 spd -0x080056d8 0x08058000 - 0x0805bfff 16KiB r-x--- 8 power -0x08005738 0x0805c000 - 0x0805ffff 16KiB r-x--- 11 hf -0x08005778 0x08060000 - 0x08063fff 16KiB r-x--- 13 udpecho -0x080055c8 0x08064000 - 0x08065fff 8KiB r-x--- 0 jefe -0x08005758 0x08066000 - 0x08067fff 8KiB r-x--- 12 sensor -0x08005798 0x08068000 - 0x08069fff 8KiB r-x--- 14 validate -0x08005618 0x0806a000 - 0x0806a7ff 2KiB r-x--- 2 sys -0x080057b8 0x0806a800 - 0x0806a87f 128 r-x--- 15 idle -0x080055b8 0x1ff00000 - 0x1ff1ffff 128KiB rw-d-- 1 [system_flash] net -- 0x20000000 - 0x200003ff 1KiB rw---- - kernel -- 0x20000400 - 0x20001fff 7KiB rw---- - kernel -0x080055f8 0x20002000 - 0x20003fff 8KiB rw---- 1 net -0x080056a8 0x20004000 - 0x20007fff 16KiB rw---- 6 spd -0x08005708 0x20008000 - 0x2000ffff 32KiB rw---- 9 hiffy -0x080056c8 0x20010000 - 0x20011fff 8KiB rw---- 7 thermal -0x08005788 0x20012000 - 0x20013fff 8KiB rw---- 13 udpecho -0x080056e8 0x20014000 - 0x20014fff 4KiB rw---- 8 power -0x08005728 0x20015000 - 0x20015fff 4KiB rw---- 10 gimlet_seq -0x080057a8 0x20016000 - 0x20016fff 4KiB rw---- 14 validate -0x080055d8 0x20017000 - 0x200177ff 2KiB rw---- 0 jefe -0x08005648 0x20017800 - 0x20017fff 2KiB rw---- 3 spi4_driver -0x08005668 0x20018000 - 0x200187ff 2KiB rw---- 4 spi2_driver -0x08005688 0x20018800 - 0x20018fff 2KiB rw---- 5 i2c_driver -0x08005748 0x20019000 - 0x200197ff 2KiB rw---- 11 hf -0x08005768 0x20019800 - 0x20019fff 2KiB rw---- 12 sensor -0x08005628 0x2001a000 - 0x2001a3ff 1KiB rw---- 2 sys -0x080057c8 0x2001a400 - 0x2001a4ff 256 rw---- 15 idle -0x08005608 0x30000000 - 0x30003fff 16KiB rw--m- 1 net -0x08005528 0x40003800 - 0x40003bff 1KiB rw-d-- 4 [spi2] spi2_driver -0x08005548 0x40005400 - 0x400057ff 1KiB rw-d-- 6 [i2c1] spd -0x08005558 0x40005800 - 0x40005bff 1KiB rw-d-- 5 [i2c2] i2c_driver -0x08005568 0x40005c00 - 0x40005fff 1KiB rw-d-- 5 [i2c3] i2c_driver -0x08005538 0x40013400 - 0x400137ff 1KiB rw-d-- 3 [spi4] spi4_driver -0x08005598 0x40028000 - 0x40028fff 4KiB rw-d-- 1 [eth] net -0x080055a8 0x40029000 - 0x400293ff 1KiB rw-d-- 1 [eth_dma] net -0x08005588 0x52005000 - 0x52005fff 4KiB rw-d-- 11 [quadspi] hf -0x08005578 0x58001c00 - 0x58001fff 1KiB rw-d-- 5 [i2c4] i2c_driver -0x080054f8 0x58020000 - 0x58021fff 8KiB rw-d-- 2 [gpios1] sys -0x08005508 0x58022000 - 0x580227ff 2KiB rw-d-- 2 [gpios2] sys -0x08005518 0x58022800 - 0x58022bff 1KiB rw-d-- 2 [gpios3] sys -0x080054e8 0x58024400 - 0x580247ff 1KiB rw-d-- 2 [rcc] sys diff --git a/humility-bin/tests/cmd/map/map.chilly.0.toml b/humility-bin/tests/cmd/map/map.chilly.0.toml deleted file mode 100644 index bf5793139..000000000 --- a/humility-bin/tests/cmd/map/map.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 map" - diff --git a/humility-bin/tests/cmd/map/map.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/map/map.control_plane_agent.overflow.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/map/map.control_plane_agent.overflow.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.cosmo.stderr b/humility-bin/tests/cmd/map/map.cosmo.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.cosmo.stderr +++ b/humility-bin/tests/cmd/map/map.cosmo.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.counters.0.stderr b/humility-bin/tests/cmd/map/map.counters.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.counters.0.stderr +++ b/humility-bin/tests/cmd/map/map.counters.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/map/map.duplicate_HostFlash_hash_REPLY.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/map/map.duplicate_HostFlash_hash_REPLY.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.extern-regions.stderr b/humility-bin/tests/cmd/map/map.extern-regions.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.extern-regions.stderr +++ b/humility-bin/tests/cmd/map/map.extern-regions.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/map/map.flash-ram-mismatch.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/map/map.flash-ram-mismatch.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.gimlet.stderr b/humility-bin/tests/cmd/map/map.gimlet.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.gimlet.stderr +++ b/humility-bin/tests/cmd/map/map.gimlet.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.host-panic.0.stderr b/humility-bin/tests/cmd/map/map.host-panic.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.host-panic.0.stderr +++ b/humility-bin/tests/cmd/map/map.host-panic.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.host-panic.1.stderr b/humility-bin/tests/cmd/map/map.host-panic.1.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.host-panic.1.stderr +++ b/humility-bin/tests/cmd/map/map.host-panic.1.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.host-panic.2.stderr b/humility-bin/tests/cmd/map/map.host-panic.2.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.host-panic.2.stderr +++ b/humility-bin/tests/cmd/map/map.host-panic.2.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.host-panic.3.stderr b/humility-bin/tests/cmd/map/map.host-panic.3.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.host-panic.3.stderr +++ b/humility-bin/tests/cmd/map/map.host-panic.3.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.host-panic.4.stderr b/humility-bin/tests/cmd/map/map.host-panic.4.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.host-panic.4.stderr +++ b/humility-bin/tests/cmd/map/map.host-panic.4.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/map/map.idol-returns-an-enum.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/map/map.idol-returns-an-enum.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.igor.0.stderr b/humility-bin/tests/cmd/map/map.igor.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.igor.0.stderr +++ b/humility-bin/tests/cmd/map/map.igor.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.in_bootloader.0.stderr b/humility-bin/tests/cmd/map/map.in_bootloader.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/map/map.in_bootloader.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.inheritance.0.stderr b/humility-bin/tests/cmd/map/map.inheritance.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.inheritance.0.stderr +++ b/humility-bin/tests/cmd/map/map.inheritance.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.ipc-counts.0.stderr b/humility-bin/tests/cmd/map/map.ipc-counts.0.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.ipc-counts.0.stderr +++ b/humility-bin/tests/cmd/map/map.ipc-counts.0.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.kernel-panic.0.stderr b/humility-bin/tests/cmd/map/map.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/map/map.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.kernel-panic.0.stdout b/humility-bin/tests/cmd/map/map.kernel-panic.0.stdout deleted file mode 100644 index 3eeff7282..000000000 --- a/humility-bin/tests/cmd/map/map.kernel-panic.0.stdout +++ /dev/null @@ -1,51 +0,0 @@ -DESC LOW HIGH SIZE ATTR ID TASK -- 0x08000000 - 0x08000297 664 r----- - kernel -- 0x08000298 - 0x0800441f 16KiB r-x--- - kernel -- 0x08004420 - 0x08005603 4KiB r----- - kernel -- 0x08005604 - 0x080059d7 980 r----- - kernel -0x08005598 0x08005a00 - 0x08005a7f 128 r-x--- 12 idle -0x080054f8 0x08005c00 - 0x08005fff 1KiB r-x--- 7 pong -0x08005408 0x08006000 - 0x08007fff 8KiB r-x--- 0 jefe -0x08005518 0x08008000 - 0x0800ffff 32KiB r-x--- 8 udpecho -0x08005538 0x08010000 - 0x08017fff 32KiB r-x--- 9 hiffy -0x08005448 0x08018000 - 0x0801bfff 16KiB r-x--- 2 i2c_driver -0x08005468 0x0801c000 - 0x0801ffff 16KiB r-x--- 3 spi_driver -0x08005488 0x08020000 - 0x0803ffff 128KiB r-x--- 4 net -0x08005558 0x08040000 - 0x08043fff 16KiB r-x--- 10 hf -0x080054d8 0x08044000 - 0x08045fff 8KiB r-x--- 6 ping -0x08005578 0x08046000 - 0x08047fff 8KiB r-x--- 11 hash_driver -0x080055b8 0x08048000 - 0x08049fff 8KiB r-x--- 13 rng_driver -0x08005428 0x0804a000 - 0x0804a7ff 2KiB r-x--- 1 sys -0x080054b8 0x0804a800 - 0x0804afff 2KiB r-x--- 5 user_leds -0x080053e8 0x1ff00000 - 0x1ff1ffff 128KiB rw-d-- 4 [system_flash] net -- 0x20000000 - 0x200003ff 1KiB rw---- - kernel -- 0x20000400 - 0x200013ff 4KiB rw---- - kernel -0x08005438 0x20001400 - 0x200017ff 1KiB rw---- 1 sys -0x08005418 0x20001800 - 0x20001fff 2KiB rw---- 0 jefe -0x08005498 0x20002000 - 0x20003fff 8KiB rw---- 4 net -0x08005528 0x20004000 - 0x20005fff 8KiB rw---- 8 udpecho -0x08005568 0x20006000 - 0x20006fff 4KiB rw---- 10 hf -0x08005588 0x20007000 - 0x20007fff 4KiB rw---- 11 hash_driver -0x08005548 0x20008000 - 0x2000ffff 32KiB rw---- 9 hiffy -0x08005458 0x20010000 - 0x200107ff 2KiB rw---- 2 i2c_driver -0x08005478 0x20010800 - 0x20010fff 2KiB rw---- 3 spi_driver -0x080054c8 0x20011000 - 0x200113ff 1KiB rw---- 5 user_leds -0x080054e8 0x20011400 - 0x200117ff 1KiB rw---- 6 ping -0x08005508 0x20011800 - 0x20011bff 1KiB rw---- 7 pong -0x080055c8 0x20011c00 - 0x20011dff 512 rw---- 13 rng_driver -0x080055a8 0x20011e00 - 0x20011eff 256 rw---- 12 idle -0x080054a8 0x30000000 - 0x30007fff 32KiB rw--m- 4 net -0x08005368 0x40005400 - 0x400057ff 1KiB rw-d-- 2 [i2c1] i2c_driver -0x08005378 0x40005800 - 0x40005bff 1KiB rw-d-- 2 [i2c2] i2c_driver -0x08005388 0x40005c00 - 0x40005fff 1KiB rw-d-- 2 [i2c3] i2c_driver -0x08005358 0x40013000 - 0x400133ff 1KiB rw-d-- 3 [spi1] spi_driver -0x080053b8 0x40028000 - 0x40028fff 4KiB rw-d-- 4 [eth] net -0x080053c8 0x40029000 - 0x400293ff 1KiB rw-d-- 4 [eth_dma] net -0x080053d8 0x48021400 - 0x480223ff 4KiB rw-d-- 11 [hash] hash_driver -0x080053f8 0x48021800 - 0x480227ff 4KiB rw-d-- 13 [rng] rng_driver -0x080053a8 0x52005000 - 0x52005fff 4KiB rw-d-- 10 [quadspi] hf -0x08005398 0x58001c00 - 0x58001fff 1KiB rw-d-- 2 [i2c4] i2c_driver -0x08005328 0x58020000 - 0x58021fff 8KiB rw-d-- 1 [gpios1] sys -0x08005338 0x58022000 - 0x580227ff 2KiB rw-d-- 1 [gpios2] sys -0x08005348 0x58022800 - 0x58022bff 1KiB rw-d-- 1 [gpios3] sys -0x08005318 0x58024400 - 0x580247ff 1KiB rw-d-- 1 [rcc] sys diff --git a/humility-bin/tests/cmd/map/map.kernel-panic.0.toml b/humility-bin/tests/cmd/map/map.kernel-panic.0.toml deleted file mode 100644 index 8230ab847..000000000 --- a/humility-bin/tests/cmd/map/map.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 map" - diff --git a/humility-bin/tests/cmd/map/map.kernel-panic.1.stderr b/humility-bin/tests/cmd/map/map.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/map/map.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.kernel-panic.1.stdout b/humility-bin/tests/cmd/map/map.kernel-panic.1.stdout deleted file mode 100644 index eda336928..000000000 --- a/humility-bin/tests/cmd/map/map.kernel-panic.1.stdout +++ /dev/null @@ -1,77 +0,0 @@ -DESC LOW HIGH SIZE ATTR ID TASK -- 0x08000000 - 0x080002e7 744 r----- - kernel -- 0x080002e8 - 0x08003e07 14KiB r-x--- - kernel -- 0x08003e08 - 0x0800528f 5KiB r----- - kernel -- 0x08005294 - 0x08007fff 11KiB rw---- - kernel -0x080050f8 0x08008000 - 0x0800ffff 32KiB r-x--- 7 thermal -0x08005140 0x08010000 - 0x0801ffff 64KiB r-x--- 10 gimlet_seq -0x0800505c 0x08020000 - 0x0803ffff 128KiB r-x--- 1 net -0x08005218 0x08040000 - 0x0805ffff 128KiB r-x--- 19 control_plane_agent -0x08005110 0x08060000 - 0x08067fff 32KiB r-x--- 8 power -0x08005128 0x08068000 - 0x0806ffff 32KiB r-x--- 9 hiffy -0x080051b8 0x08070000 - 0x08077fff 32KiB r-x--- 15 host_sp_comms -0x08005230 0x08078000 - 0x0807ffff 32KiB r-x--- 20 sprot -0x08005098 0x08080000 - 0x08083fff 16KiB r-x--- 3 spi4_driver -0x080050b0 0x08084000 - 0x08087fff 16KiB r-x--- 4 spi2_driver -0x080050c8 0x08088000 - 0x0808bfff 16KiB r-x--- 5 i2c_driver -0x080050e0 0x0808c000 - 0x0808ffff 16KiB r-x--- 6 spd -0x08005158 0x08090000 - 0x08093fff 16KiB r-x--- 11 hash_driver -0x08005170 0x08094000 - 0x08097fff 16KiB r-x--- 12 hf -0x08005188 0x08098000 - 0x0809bfff 16KiB r-x--- 13 update_server -0x08005200 0x0809c000 - 0x0809ffff 16KiB r-x--- 18 udprpc -0x08005248 0x080a0000 - 0x080a3fff 16KiB r-x--- 21 validate -0x08005044 0x080a4000 - 0x080a5fff 8KiB r-x--- 0 jefe -0x080051a0 0x080a6000 - 0x080a7fff 8KiB r-x--- 14 sensor -0x080051d0 0x080a8000 - 0x080a9fff 8KiB r-x--- 16 udpecho -0x080051e8 0x080aa000 - 0x080abfff 8KiB r-x--- 17 udpbroadcast -0x08005260 0x080ac000 - 0x080adfff 8KiB r-x--- 22 vpd -0x08005080 0x080ae000 - 0x080ae7ff 2KiB r-x--- 2 sys -0x08005278 0x080ae800 - 0x080ae87f 128 r-x--- 23 idle -0x08004f54 0x08100000 - 0x081fffff 1024KiB rw-d-- 13 [bank2] update_server -0x08005014 0x1ff00000 - 0x1ff1ffff 128KiB rw-d-- 1 [system_flash] net, control_plane_agent -- 0x24000000 - 0x240003ff 1KiB rw---- - kernel -- 0x24000400 - 0x24000403 4 rw---- - kernel -- 0x24000408 - 0x24001fff 6KiB rw---- - kernel -0x08005104 0x24002000 - 0x24003fff 8KiB rw---- 7 thermal -0x080050ec 0x24004000 - 0x24007fff 16KiB rw---- 6 spd -0x08005068 0x24008000 - 0x2400ffff 32KiB rw---- 1 net -0x08005134 0x24010000 - 0x24017fff 32KiB rw---- 9 hiffy -0x080051c4 0x24018000 - 0x2401ffff 32KiB rw---- 15 host_sp_comms -0x0800523c 0x24020000 - 0x24027fff 32KiB rw---- 20 sprot -0x08005224 0x24028000 - 0x2402bfff 16KiB rw---- 19 control_plane_agent -0x080051ac 0x2402c000 - 0x2402dfff 8KiB rw---- 14 sensor -0x080051dc 0x2402e000 - 0x2402ffff 8KiB rw---- 16 udpecho -0x0800520c 0x24030000 - 0x24031fff 8KiB rw---- 18 udprpc -0x0800511c 0x24032000 - 0x24032fff 4KiB rw---- 8 power -0x0800514c 0x24033000 - 0x24033fff 4KiB rw---- 10 gimlet_seq -0x08005164 0x24034000 - 0x24034fff 4KiB rw---- 11 hash_driver -0x08005194 0x24035000 - 0x24035fff 4KiB rw---- 13 update_server -0x080051f4 0x24036000 - 0x24036fff 4KiB rw---- 17 udpbroadcast -0x08005254 0x24037000 - 0x24037fff 4KiB rw---- 21 validate -0x08005050 0x24038000 - 0x240387ff 2KiB rw---- 0 jefe -0x080050a4 0x24038800 - 0x24038fff 2KiB rw---- 3 spi4_driver -0x080050bc 0x24039000 - 0x240397ff 2KiB rw---- 4 spi2_driver -0x080050d4 0x24039800 - 0x24039fff 2KiB rw---- 5 i2c_driver -0x0800517c 0x2403a000 - 0x2403a7ff 2KiB rw---- 12 hf -0x0800508c 0x2403a800 - 0x2403abff 1KiB rw---- 2 sys -0x0800526c 0x2403ac00 - 0x2403afff 1KiB rw---- 22 vpd -0x08005284 0x2403b000 - 0x2403b0ff 256 rw---- 23 idle -0x08005074 0x30000000 - 0x30003fff 16KiB rw--m- 1 net -0x08004ffc 0x40003800 - 0x40003bff 1KiB rw-d-- 4 [spi2] spi2_driver -0x08004fb4 0x40005400 - 0x400057ff 1KiB rw-d-- 6 [i2c1] spd -0x08004fc0 0x40005800 - 0x40005bff 1KiB rw-d-- 5 [i2c2] i2c_driver -0x08004fcc 0x40005c00 - 0x40005fff 1KiB rw-d-- 5 [i2c3] i2c_driver -0x0800502c 0x40007800 - 0x40007bff 1KiB rw-d-- 15 [uart7] host_sp_comms -0x08005038 0x40011000 - 0x400113ff 1KiB rw-d-- 19 [usart1] control_plane_agent -0x08005008 0x40013400 - 0x400137ff 1KiB rw-d-- 3 [spi4] spi4_driver -0x08005020 0x40014400 - 0x400147ff 1KiB rw-d-- 1 [tim16] net -0x08004f60 0x40028000 - 0x40028fff 4KiB rw-d-- 1 [eth] net -0x08004f6c 0x40029000 - 0x400293ff 1KiB rw-d-- 1 [eth_dma] net -0x08004fa8 0x48021400 - 0x480223ff 4KiB rw-d-- 11 [hash] hash_driver -0x08004f78 0x52002000 - 0x52003fff 8KiB rw-d-- 13 [flash_controller] update_server -0x08004fe4 0x52005000 - 0x52005fff 4KiB rw-d-- 12 [quadspi] hf -0x08004fd8 0x58001c00 - 0x58001fff 1KiB rw-d-- 5 [i2c4] i2c_driver -0x08004f84 0x58020000 - 0x58021fff 8KiB rw-d-- 2 [gpios1] sys -0x08004f90 0x58022000 - 0x580227ff 2KiB rw-d-- 2 [gpios2] sys -0x08004f9c 0x58022800 - 0x58022bff 1KiB rw-d-- 2 [gpios3] sys -0x08004ff0 0x58024400 - 0x580247ff 1KiB rw-d-- 2 [rcc] sys diff --git a/humility-bin/tests/cmd/map/map.kernel-panic.1.toml b/humility-bin/tests/cmd/map/map.kernel-panic.1.toml deleted file mode 100644 index a3b49261a..000000000 --- a/humility-bin/tests/cmd/map/map.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 map" - diff --git a/humility-bin/tests/cmd/map/map.new-compiler.stderr b/humility-bin/tests/cmd/map/map.new-compiler.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.new-compiler.stderr +++ b/humility-bin/tests/cmd/map/map.new-compiler.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.new-ringbuf.stderr b/humility-bin/tests/cmd/map/map.new-ringbuf.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/map/map.new-ringbuf.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.new-sensors.stderr b/humility-bin/tests/cmd/map/map.new-sensors.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.new-sensors.stderr +++ b/humility-bin/tests/cmd/map/map.new-sensors.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/map/map.nightly-2022-11-01.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/map/map.nightly-2022-11-01.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.panic-on-boot.stderr b/humility-bin/tests/cmd/map/map.panic-on-boot.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/map/map.panic-on-boot.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.spoopy.0.stderr b/humility-bin/tests/cmd/map/map.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/map/map.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.spoopy.0.stdout b/humility-bin/tests/cmd/map/map.spoopy.0.stdout deleted file mode 100644 index 81864c819..000000000 --- a/humility-bin/tests/cmd/map/map.spoopy.0.stdout +++ /dev/null @@ -1,51 +0,0 @@ -DESC LOW HIGH SIZE ATTR ID TASK -- 0x08000000 - 0x08000297 664 r----- - kernel -- 0x08000298 - 0x080044af 16KiB r-x--- - kernel -- 0x080044b0 - 0x080057cb 4KiB r----- - kernel -0x080056e0 0x08008000 - 0x0800ffff 32KiB r-x--- 9 hiffy -0x08005700 0x08010000 - 0x0801ffff 64KiB r-x--- 10 gimlet_seq -0x080055d0 0x08020000 - 0x0803ffff 128KiB r-x--- 1 net -0x08005620 0x08040000 - 0x08043fff 16KiB r-x--- 3 spi4_driver -0x08005640 0x08044000 - 0x08047fff 16KiB r-x--- 4 spi2_driver -0x08005660 0x08048000 - 0x0804bfff 16KiB r-x--- 5 i2c_driver -0x08005680 0x0804c000 - 0x0804ffff 16KiB r-x--- 6 spd -0x080056c0 0x08050000 - 0x08053fff 16KiB r-x--- 8 power -0x08005720 0x08054000 - 0x08057fff 16KiB r-x--- 11 hf -0x08005760 0x08058000 - 0x0805bfff 16KiB r-x--- 13 udpecho -0x080055b0 0x0805c000 - 0x0805dfff 8KiB r-x--- 0 jefe -0x080056a0 0x0805e000 - 0x0805ffff 8KiB r-x--- 7 thermal -0x08005740 0x08060000 - 0x08061fff 8KiB r-x--- 12 sensor -0x08005600 0x08062000 - 0x080627ff 2KiB r-x--- 2 sys -0x08005780 0x08062800 - 0x0806287f 128 r-x--- 14 idle -0x080055a0 0x1ff00000 - 0x1ff1ffff 128KiB rw-d-- 1 [system_flash] net -- 0x20000000 - 0x200003ff 1KiB rw---- - kernel -- 0x20000400 - 0x20001fff 7KiB rw---- - kernel -0x080055e0 0x20002000 - 0x20003fff 8KiB rw---- 1 net -0x08005690 0x20004000 - 0x20007fff 16KiB rw---- 6 spd -0x080056f0 0x20008000 - 0x2000ffff 32KiB rw---- 9 hiffy -0x08005770 0x20010000 - 0x20011fff 8KiB rw---- 13 udpecho -0x080056d0 0x20012000 - 0x20012fff 4KiB rw---- 8 power -0x08005710 0x20013000 - 0x20013fff 4KiB rw---- 10 gimlet_seq -0x080055c0 0x20014000 - 0x200147ff 2KiB rw---- 0 jefe -0x08005630 0x20014800 - 0x20014fff 2KiB rw---- 3 spi4_driver -0x08005650 0x20015000 - 0x200157ff 2KiB rw---- 4 spi2_driver -0x08005670 0x20015800 - 0x20015fff 2KiB rw---- 5 i2c_driver -0x080056b0 0x20016000 - 0x200167ff 2KiB rw---- 7 thermal -0x08005730 0x20016800 - 0x20016fff 2KiB rw---- 11 hf -0x08005750 0x20017000 - 0x200177ff 2KiB rw---- 12 sensor -0x08005610 0x20017800 - 0x20017bff 1KiB rw---- 2 sys -0x08005790 0x20017c00 - 0x20017cff 256 rw---- 14 idle -0x080055f0 0x30000000 - 0x30003fff 16KiB rw--m- 1 net -0x08005510 0x40003800 - 0x40003bff 1KiB rw-d-- 4 [spi2] spi2_driver -0x08005530 0x40005400 - 0x400057ff 1KiB rw-d-- 6 [i2c1] spd -0x08005540 0x40005800 - 0x40005bff 1KiB rw-d-- 5 [i2c2] i2c_driver -0x08005550 0x40005c00 - 0x40005fff 1KiB rw-d-- 5 [i2c3] i2c_driver -0x08005520 0x40013400 - 0x400137ff 1KiB rw-d-- 3 [spi4] spi4_driver -0x08005580 0x40028000 - 0x40028fff 4KiB rw-d-- 1 [eth] net -0x08005590 0x40029000 - 0x400293ff 1KiB rw-d-- 1 [eth_dma] net -0x08005570 0x52005000 - 0x52005fff 4KiB rw-d-- 11 [quadspi] hf -0x08005560 0x58001c00 - 0x58001fff 1KiB rw-d-- 5 [i2c4] i2c_driver -0x080054e0 0x58020000 - 0x58021fff 8KiB rw-d-- 2 [gpios1] sys -0x080054f0 0x58022000 - 0x580227ff 2KiB rw-d-- 2 [gpios2] sys -0x08005500 0x58022800 - 0x58022bff 1KiB rw-d-- 2 [gpios3] sys -0x080054d0 0x58024400 - 0x580247ff 1KiB rw-d-- 2 [rcc] sys diff --git a/humility-bin/tests/cmd/map/map.spoopy.0.toml b/humility-bin/tests/cmd/map/map.spoopy.0.toml deleted file mode 100644 index 884d9b90a..000000000 --- a/humility-bin/tests/cmd/map/map.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 map" - diff --git a/humility-bin/tests/cmd/map/map.sprot_status.stderr b/humility-bin/tests/cmd/map/map.sprot_status.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.sprot_status.stderr +++ b/humility-bin/tests/cmd/map/map.sprot_status.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.static-tasks.0.stderr b/humility-bin/tests/cmd/map/map.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/map/map.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.static-tasks.0.stdout b/humility-bin/tests/cmd/map/map.static-tasks.0.stdout deleted file mode 100644 index 2d8e9b884..000000000 --- a/humility-bin/tests/cmd/map/map.static-tasks.0.stdout +++ /dev/null @@ -1,55 +0,0 @@ -DESC LOW HIGH SIZE ATTR ID TASK -- 0x08000000 - 0x08000297 664 r----- - kernel -- 0x08000298 - 0x08003d5b 14KiB r-x--- - kernel -- 0x08003d5c - 0x08004c07 3KiB r----- - kernel -- 0x08004c0c - 0x08007fff 12KiB rw---- - kernel -0x08004b10 0x08008000 - 0x0800ffff 32KiB r-x--- 7 hiffy -0x08004b40 0x08010000 - 0x0801ffff 64KiB r-x--- 9 net -0x08004b7c 0x08020000 - 0x08027fff 32KiB r-x--- 11 validate -0x08004a98 0x08028000 - 0x0802bfff 16KiB r-x--- 2 i2c_driver -0x08004ab0 0x0802c000 - 0x0802ffff 16KiB r-x--- 3 spi_driver -0x08004b28 0x08030000 - 0x08033fff 16KiB r-x--- 8 hf -0x08004a68 0x08034000 - 0x08035fff 8KiB r-x--- 0 jefe -0x08004af8 0x08036000 - 0x08037fff 8KiB r-x--- 6 uartecho -0x08004b64 0x08038000 - 0x08039fff 8KiB r-x--- 10 udpecho -0x08004bac 0x0803a000 - 0x0803bfff 8KiB r-x--- 13 rng_driver -0x08004bc4 0x0803c000 - 0x0803dfff 8KiB r-x--- 14 update_server -0x08004a80 0x0803e000 - 0x0803e7ff 2KiB r-x--- 1 sys -0x08004ac8 0x0803e800 - 0x0803efff 2KiB r-x--- 4 user_leds -0x08004ae0 0x0803f000 - 0x0803f3ff 1KiB r-x--- 5 pong -0x08004b94 0x0803f400 - 0x0803f47f 128 r-x--- 12 idle -0x08004a5c 0x08100000 - 0x081fffff 1024KiB rw-d-- 14 [bank2] update_server -0x08004a38 0x1ff00000 - 0x1ff1ffff 128KiB rw-d-- 9 [system_flash] net -- 0x20000000 - 0x200003ff 1KiB rw---- - kernel -- 0x20000400 - 0x20000403 4 rw---- - kernel -- 0x20000408 - 0x20001fff 6KiB rw---- - kernel -0x08004b70 0x20002000 - 0x20003fff 8KiB rw---- 10 udpecho -0x08004b4c 0x20004000 - 0x20007fff 16KiB rw---- 9 net -0x08004b1c 0x20008000 - 0x2000ffff 32KiB rw---- 7 hiffy -0x08004b04 0x20010000 - 0x20010fff 4KiB rw---- 6 uartecho -0x08004b88 0x20011000 - 0x20011fff 4KiB rw---- 11 validate -0x08004bd0 0x20012000 - 0x20012fff 4KiB rw---- 14 update_server -0x08004a74 0x20013000 - 0x200137ff 2KiB rw---- 0 jefe -0x08004aa4 0x20013800 - 0x20013fff 2KiB rw---- 2 i2c_driver -0x08004abc 0x20014000 - 0x200147ff 2KiB rw---- 3 spi_driver -0x08004b34 0x20014800 - 0x20014fff 2KiB rw---- 8 hf -0x08004a8c 0x20015000 - 0x200153ff 1KiB rw---- 1 sys -0x08004ad4 0x20015400 - 0x200157ff 1KiB rw---- 4 user_leds -0x08004aec 0x20015800 - 0x20015bff 1KiB rw---- 5 pong -0x08004bb8 0x20015c00 - 0x20015dff 512 rw---- 13 rng_driver -0x08004ba0 0x20015e00 - 0x20015eff 256 rw---- 12 idle -0x08004b58 0x30000000 - 0x30003fff 16KiB rw--m- 9 net -0x080049e4 0x40004400 - 0x400047ff 1KiB rw-d-- 6 [usart2] uartecho -0x080049f0 0x40005800 - 0x40005bff 1KiB rw-d-- 2 [i2c2] i2c_driver -0x080049fc 0x40005c00 - 0x40005fff 1KiB rw-d-- 2 [i2c3] i2c_driver -0x080049d8 0x40013400 - 0x400137ff 1KiB rw-d-- 3 [spi4] spi_driver -0x08004a20 0x40028000 - 0x40028fff 4KiB rw-d-- 9 [eth] net -0x08004a2c 0x40029000 - 0x400293ff 1KiB rw-d-- 9 [eth_dma] net -0x08004a44 0x48021800 - 0x480227ff 4KiB rw-d-- 13 [rng] rng_driver -0x08004a50 0x52002000 - 0x52003fff 8KiB rw-d-- 14 [flash_controller] update_server -0x08004a14 0x52005000 - 0x52005fff 4KiB rw-d-- 8 [quadspi] hf -0x08004a08 0x58001c00 - 0x58001fff 1KiB rw-d-- 2 [i2c4] i2c_driver -0x080049b4 0x58020000 - 0x58021fff 8KiB rw-d-- 1 [gpios1] sys -0x080049c0 0x58022000 - 0x580227ff 2KiB rw-d-- 1 [gpios2] sys -0x080049cc 0x58022800 - 0x58022bff 1KiB rw-d-- 1 [gpios3] sys -0x080049a8 0x58024400 - 0x580247ff 1KiB rw-d-- 1 [rcc] sys diff --git a/humility-bin/tests/cmd/map/map.static-tasks.0.toml b/humility-bin/tests/cmd/map/map.static-tasks.0.toml deleted file mode 100644 index 0dfdfe115..000000000 --- a/humility-bin/tests/cmd/map/map.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 map" - diff --git a/humility-bin/tests/cmd/map/map.static-tasks.1.stderr b/humility-bin/tests/cmd/map/map.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/map/map.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/map/map.static-tasks.1.stdout b/humility-bin/tests/cmd/map/map.static-tasks.1.stdout deleted file mode 100644 index 723d8022e..000000000 --- a/humility-bin/tests/cmd/map/map.static-tasks.1.stdout +++ /dev/null @@ -1,55 +0,0 @@ -DESC LOW HIGH SIZE ATTR ID TASK -- 0x08000000 - 0x08000297 664 r----- - kernel -- 0x08000298 - 0x08003d5f 14KiB r-x--- - kernel -- 0x08003d60 - 0x08004c17 3KiB r----- - kernel -- 0x08004c1c - 0x08004c1f 4 rw---- - kernel -0x08004b20 0x08008000 - 0x0800ffff 32KiB r-x--- 7 hiffy -0x08004b50 0x08010000 - 0x0801ffff 64KiB r-x--- 9 net -0x08004b8c 0x08020000 - 0x08027fff 32KiB r-x--- 11 validate -0x08004aa8 0x08028000 - 0x0802bfff 16KiB r-x--- 2 i2c_driver -0x08004ac0 0x0802c000 - 0x0802ffff 16KiB r-x--- 3 spi_driver -0x08004b38 0x08030000 - 0x08033fff 16KiB r-x--- 8 hf -0x08004a78 0x08034000 - 0x08035fff 8KiB r-x--- 0 jefe -0x08004b08 0x08036000 - 0x08037fff 8KiB r-x--- 6 uartecho -0x08004b74 0x08038000 - 0x08039fff 8KiB r-x--- 10 udpecho -0x08004bbc 0x0803a000 - 0x0803bfff 8KiB r-x--- 13 rng_driver -0x08004bd4 0x0803c000 - 0x0803dfff 8KiB r-x--- 14 update_server -0x08004a90 0x0803e000 - 0x0803e7ff 2KiB r-x--- 1 sys -0x08004ad8 0x0803e800 - 0x0803efff 2KiB r-x--- 4 user_leds -0x08004af0 0x0803f000 - 0x0803f3ff 1KiB r-x--- 5 pong -0x08004ba4 0x0803f400 - 0x0803f47f 128 r-x--- 12 idle -0x08004a6c 0x08100000 - 0x081fffff 1024KiB rw-d-- 14 [bank2] update_server -0x08004a48 0x1ff00000 - 0x1ff1ffff 128KiB rw-d-- 9 [system_flash] net -- 0x20000000 - 0x200003ff 1KiB rw---- - kernel -- 0x20000400 - 0x20000403 4 rw---- - kernel -- 0x20000408 - 0x20001fff 6KiB rw---- - kernel -0x08004b80 0x20002000 - 0x20003fff 8KiB rw---- 10 udpecho -0x08004b5c 0x20004000 - 0x20007fff 16KiB rw---- 9 net -0x08004b2c 0x20008000 - 0x2000ffff 32KiB rw---- 7 hiffy -0x08004b14 0x20010000 - 0x20010fff 4KiB rw---- 6 uartecho -0x08004b98 0x20011000 - 0x20011fff 4KiB rw---- 11 validate -0x08004be0 0x20012000 - 0x20012fff 4KiB rw---- 14 update_server -0x08004a84 0x20013000 - 0x200137ff 2KiB rw---- 0 jefe -0x08004ab4 0x20013800 - 0x20013fff 2KiB rw---- 2 i2c_driver -0x08004acc 0x20014000 - 0x200147ff 2KiB rw---- 3 spi_driver -0x08004b44 0x20014800 - 0x20014fff 2KiB rw---- 8 hf -0x08004a9c 0x20015000 - 0x200153ff 1KiB rw---- 1 sys -0x08004ae4 0x20015400 - 0x200157ff 1KiB rw---- 4 user_leds -0x08004afc 0x20015800 - 0x20015bff 1KiB rw---- 5 pong -0x08004bc8 0x20015c00 - 0x20015dff 512 rw---- 13 rng_driver -0x08004bb0 0x20015e00 - 0x20015eff 256 rw---- 12 idle -0x08004b68 0x30000000 - 0x30003fff 16KiB rw--m- 9 net -0x080049f4 0x40004400 - 0x400047ff 1KiB rw-d-- 6 [usart2] uartecho -0x08004a00 0x40005800 - 0x40005bff 1KiB rw-d-- 2 [i2c2] i2c_driver -0x08004a0c 0x40005c00 - 0x40005fff 1KiB rw-d-- 2 [i2c3] i2c_driver -0x080049e8 0x40013400 - 0x400137ff 1KiB rw-d-- 3 [spi4] spi_driver -0x08004a30 0x40028000 - 0x40028fff 4KiB rw-d-- 9 [eth] net -0x08004a3c 0x40029000 - 0x400293ff 1KiB rw-d-- 9 [eth_dma] net -0x08004a54 0x48021800 - 0x480227ff 4KiB rw-d-- 13 [rng] rng_driver -0x08004a60 0x52002000 - 0x52003fff 8KiB rw-d-- 14 [flash_controller] update_server -0x08004a24 0x52005000 - 0x52005fff 4KiB rw-d-- 8 [quadspi] hf -0x08004a18 0x58001c00 - 0x58001fff 1KiB rw-d-- 2 [i2c4] i2c_driver -0x080049c4 0x58020000 - 0x58021fff 8KiB rw-d-- 1 [gpios1] sys -0x080049d0 0x58022000 - 0x580227ff 2KiB rw-d-- 1 [gpios2] sys -0x080049dc 0x58022800 - 0x58022bff 1KiB rw-d-- 1 [gpios3] sys -0x080049b8 0x58024400 - 0x580247ff 1KiB rw-d-- 1 [rcc] sys diff --git a/humility-bin/tests/cmd/map/map.static-tasks.1.toml b/humility-bin/tests/cmd/map/map.static-tasks.1.toml deleted file mode 100644 index f71badab6..000000000 --- a/humility-bin/tests/cmd/map/map.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 map" - diff --git a/humility-bin/tests/cmd/map/map.task.net.stderr b/humility-bin/tests/cmd/map/map.task.net.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.task.net.stderr +++ b/humility-bin/tests/cmd/map/map.task.net.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.task.power.stderr b/humility-bin/tests/cmd/map/map.task.power.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.task.power.stderr +++ b/humility-bin/tests/cmd/map/map.task.power.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.u16-ringbuf.stderr b/humility-bin/tests/cmd/map/map.u16-ringbuf.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/map/map.u16-ringbuf.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/map/map.v6.stderr b/humility-bin/tests/cmd/map/map.v6.stderr index da2ede4a0..f53ee36fe 100644 --- a/humility-bin/tests/cmd/map/map.v6.stderr +++ b/humility-bin/tests/cmd/map/map.v6.stderr @@ -1 +1 @@ -humility: attached to dump +humility: attached to archive diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.stdout b/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.stdout deleted file mode 100644 index 29af2657a..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.stdout +++ /dev/null @@ -1,103 +0,0 @@ -MODULE VARIABLE ADDR SIZE -kernel CLOCK_FREQ_KHZ 0x20000400 4 -kernel CURRENT_TASK_PTR 0x2000111c 4 -kernel DEVICE_PERIPHERALS 0x20001108 1 -kernel FAULT_NOTIFICATION 0x20001110 4 -kernel HUBRIS_IMAGE_ID 0x08005350 8 -kernel TASK_TABLE_BASE 0x20001114 4 -kernel TASK_TABLE_SIZE 0x20001118 4 -kernel __EXCEPTIONS 0x08000008 56 -kernel __INTERRUPTS 0x08000040 600 -kernel __RESET_VECTOR 0x08000004 4 -kernel kern::arch::arm_m::TICKS 0x20001120 8 -kernel kern::profiling::EVENTS_TABLE 0x2000110c 4 -kernel kern::startup::HUBRIS_REGION_DESCS 0x080054d8 768 -kernel kern::startup::HUBRIS_REGION_TABLE_SPACE 0x20000f08 512 -kernel kern::startup::HUBRIS_TASK_DESCS 0x08005358 384 -kernel kern::startup::HUBRIS_TASK_TABLE_SPACE 0x20000408 2816 -jefe task_jefe::external::JEFE_EXTERNAL_ERRORS 0x20017650 4 -jefe task_jefe::external::JEFE_EXTERNAL_KICK 0x20017648 4 -jefe task_jefe::external::JEFE_EXTERNAL_READY 0x2001763c 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUEST 0x20017640 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUESTS 0x2001764c 4 -jefe task_jefe::external::JEFE_EXTERNAL_TASKINDEX 0x20017644 4 -jefe task_jefe::external::__RINGBUF 0x20017600 60 -net ksz8463::__RINGBUF 0x20003cf8 268 -net task_net::ITER_COUNT 0x20003f54 4 -net task_net::SYS 0x08030b50 2 -net task_net::bsp::gimlet_1::SEQ 0x08030bc0 2 -net task_net::bsp::gimlet_1::SPI 0x08030bc2 2 -net task_net::buf::claim_mac_address::MAC_ADDRESS 0x20003f58 6 -net task_net::buf::claim_mac_address::TAKEN 0x20003f52 1 -net task_net::buf::claim_rx_statics::RX_BUF 0x30001880 6144 -net task_net::buf::claim_rx_statics::RX_DESC 0x30001840 64 -net task_net::buf::claim_rx_statics::TAKEN 0x20003f51 1 -net task_net::buf::claim_tx_statics::TAKEN 0x20003f50 1 -net task_net::buf::claim_tx_statics::TX_BUF 0x30000040 6144 -net task_net::buf::claim_tx_statics::TX_DESC 0x30000000 64 -net task_net::generated::CTOR_FLAG 0x20003f53 1 -net task_net::generated::SOCK_RX_DAT_ECHO 0x20003368 1024 -net task_net::generated::SOCK_RX_HDR_ECHO 0x20002f20 72 -net task_net::generated::SOCK_TX_DAT_ECHO 0x20002f68 1024 -net task_net::generated::SOCK_TX_HDR_ECHO 0x20002ed8 72 -net task_net::mgmt::__RINGBUF 0x20003768 1424 -net userlib::panic::PANIC_BUFFER 0x20003e04 128 -net vsc85xx::__RINGBUF 0x20003e84 204 -spi4_driver drv_stm32h7_spi_server::SYS 0x0804a3f4 2 -spi4_driver drv_stm32h7_spi_server::__RINGBUF 0x20017b68 1036 -spi4_driver userlib::panic::PANIC_BUFFER 0x20017f74 128 -spi2_driver drv_stm32h7_spi_server::SYS 0x0804e5a0 2 -spi2_driver drv_stm32h7_spi_server::__RINGBUF 0x20018368 1036 -spi2_driver userlib::panic::PANIC_BUFFER 0x20018774 128 -i2c_driver drv_stm32h7_i2c::__RINGBUF 0x20018b80 780 -i2c_driver drv_stm32h7_i2c_server::SYS 0x0805249c 2 -i2c_driver drv_stm32h7_i2c_server::__RINGBUF 0x20018e8c 204 -i2c_driver userlib::panic::PANIC_BUFFER 0x20018f58 128 -spd drv_stm32h7_i2c::__RINGBUF 0x2000448c 780 -spd task_spd::I2C 0x08056366 2 -spd task_spd::SPD_DATA 0x20004798 8192 -spd task_spd::SYS 0x08056364 2 -spd task_spd::__RINGBUF 0x20004380 268 -spd userlib::panic::PANIC_BUFFER 0x20006798 128 -thermal task_thermal::I2C 0x0800a974 2 -thermal task_thermal::SENSOR 0x0800a976 2 -thermal task_thermal::__RINGBUF 0x20011198 652 -thermal task_thermal::bsp::gimlet_a::SEQ 0x0800a970 2 -thermal task_thermal::bsp::gimlet_b::SEQ 0x0800a972 2 -thermal userlib::panic::PANIC_BUFFER 0x20011424 128 -power drv_i2c_devices::adm1272::__RINGBUF 0x20014800 652 -power task_power::I2C 0x0805a434 2 -power task_power::SENSOR 0x0805a436 2 -power task_power::SEQUENCER 0x0805a438 2 -power userlib::panic::PANIC_BUFFER 0x20014a8c 128 -hiffy task_hiffy::HIFFY_DATA 0x20009218 20480 -hiffy task_hiffy::HIFFY_ERRORS 0x2000ea9c 4 -hiffy task_hiffy::HIFFY_FAILURE 0x20008400 8 -hiffy task_hiffy::HIFFY_KICK 0x2000eaa0 4 -hiffy task_hiffy::HIFFY_READY 0x2000eaa4 4 -hiffy task_hiffy::HIFFY_REQUESTS 0x2000ea98 4 -hiffy task_hiffy::HIFFY_RSTACK 0x2000e218 2048 -hiffy task_hiffy::HIFFY_TEXT 0x20008a18 2048 -hiffy task_hiffy::HIFFY_VERSION_MAJOR 0x2000eaa8 4 -hiffy task_hiffy::HIFFY_VERSION_MINOR 0x20008408 4 -hiffy task_hiffy::HIFFY_VERSION_PATCH 0x2000eaac 4 -hiffy task_hiffy::common::HF 0x08043e1c 2 -hiffy task_hiffy::stm32h7::I2C 0x08043fb6 2 -hiffy task_hiffy::stm32h7::SYS 0x08043fb4 2 -hiffy task_hiffy::stm32h7::__RINGBUF 0x2000840c 1548 -hiffy userlib::panic::PANIC_BUFFER 0x2000ea18 128 -gimlet_seq drv_gimlet_seq_server::HF 0x080197a6 2 -gimlet_seq drv_gimlet_seq_server::I2C 0x080197a4 2 -gimlet_seq drv_gimlet_seq_server::SPI 0x080197a2 2 -gimlet_seq drv_gimlet_seq_server::SYS 0x080197a0 2 -gimlet_seq drv_gimlet_seq_server::__RINGBUF 0x20015640 780 -gimlet_seq userlib::panic::PANIC_BUFFER 0x2001594c 128 -hf drv_gimlet_hf_server::SYS 0x0805dc74 2 -hf userlib::panic::PANIC_BUFFER 0x20019780 128 -sensor userlib::panic::PANIC_BUFFER 0x20019f80 128 -udpecho task_udpecho::NET 0x0806184c 2 -udpecho task_udpecho::UDP_ECHO_COUNT 0x20013000 4 -udpecho userlib::panic::PANIC_BUFFER 0x20013004 128 -validate task_validate::I2C 0x08069790 2 -validate task_validate::__RINGBUF 0x200163e8 1036 -validate userlib::panic::PANIC_BUFFER 0x200167f4 128 diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.toml b/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.toml deleted file mode 100644 index c47e3f41d..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 readvar -l" - diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.control_plane_agent.overflow.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.control_plane_agent.overflow.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.cosmo.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.cosmo.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.cosmo.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.cosmo.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.counters.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.counters.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.counters.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.counters.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.duplicate_HostFlash_hash_REPLY.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.duplicate_HostFlash_hash_REPLY.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.extern-regions.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.extern-regions.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.extern-regions.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.extern-regions.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.flash-ram-mismatch.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.flash-ram-mismatch.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-c-dev-image-default-v1.0.2.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-rot-c-image-b.zip.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-rot-c-image-b.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-rot-c-image-b.zip.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet-rot-c-image-b.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.gimlet.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.1.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.1.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.1.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.1.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.2.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.2.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.2.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.2.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.3.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.3.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.3.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.3.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.4.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.4.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.4.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.host-panic.4.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.idol-returns-an-enum.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.idol-returns-an-enum.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.igor.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.igor.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.igor.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.igor.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.in_bootloader.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.in_bootloader.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.in_bootloader.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.inheritance.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.inheritance.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.inheritance.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.inheritance.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.ipc-counts.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.ipc-counts.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.ipc-counts.0.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.ipc-counts.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.stdout b/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.stdout deleted file mode 100644 index c8c040b64..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.stdout +++ /dev/null @@ -1,79 +0,0 @@ -MODULE VARIABLE ADDR SIZE -kernel CLOCK_FREQ_KHZ 0x20000400 4 -kernel CURRENT_TASK_PTR 0x20000f7c 4 -kernel DEVICE_PERIPHERALS 0x20000f68 1 -kernel FAULT_NOTIFICATION 0x20000f70 4 -kernel HUBRIS_IMAGE_ID 0x080051b0 8 -kernel TASK_TABLE_BASE 0x20000f74 4 -kernel TASK_TABLE_SIZE 0x20000f78 4 -kernel __EXCEPTIONS 0x08000008 56 -kernel __INTERRUPTS 0x08000040 600 -kernel __RESET_VECTOR 0x08000004 4 -kernel demo_stm32h7_nucleo::PROFILING 0x08004420 32 -kernel kern::arch::arm_m::TICKS 0x20000f80 8 -kernel kern::profiling::EVENTS_TABLE 0x20000f6c 4 -kernel kern::startup::HUBRIS_REGION_DESCS 0x08005308 720 -kernel kern::startup::HUBRIS_REGION_TABLE_SPACE 0x20000da8 448 -kernel kern::startup::HUBRIS_TASK_DESCS 0x080051b8 336 -kernel kern::startup::HUBRIS_TASK_TABLE_SPACE 0x20000408 2464 -jefe task_jefe::external::JEFE_EXTERNAL_ERRORS 0x20001e50 4 -jefe task_jefe::external::JEFE_EXTERNAL_KICK 0x20001e48 4 -jefe task_jefe::external::JEFE_EXTERNAL_READY 0x20001e3c 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUEST 0x20001e40 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUESTS 0x20001e4c 4 -jefe task_jefe::external::JEFE_EXTERNAL_TASKINDEX 0x20001e44 4 -jefe task_jefe::external::__RINGBUF 0x20001e00 60 -i2c_driver drv_stm32h7_i2c::__RINGBUF 0x20010380 780 -i2c_driver drv_stm32h7_i2c_server::SYS 0x08019ba8 2 -i2c_driver drv_stm32h7_i2c_server::__RINGBUF 0x2001068c 204 -i2c_driver userlib::panic::PANIC_BUFFER 0x20010758 128 -spi_driver drv_stm32h7_spi_server::SYS 0x0801e3f8 2 -spi_driver drv_stm32h7_spi_server::__RINGBUF 0x20010b70 1036 -spi_driver userlib::panic::PANIC_BUFFER 0x20010f7c 128 -net task_net::ITER_COUNT 0x200037ec 4 -net task_net::SYS 0x0802acb0 2 -net task_net::buf::claim_mac_address::MAC_ADDRESS 0x200037f0 6 -net task_net::buf::claim_mac_address::TAKEN 0x200037ea 1 -net task_net::buf::claim_rx_statics::RX_BUF 0x30001880 6144 -net task_net::buf::claim_rx_statics::RX_DESC 0x30001840 64 -net task_net::buf::claim_rx_statics::TAKEN 0x200037e9 1 -net task_net::buf::claim_tx_statics::TAKEN 0x200037e8 1 -net task_net::buf::claim_tx_statics::TX_BUF 0x30000040 6144 -net task_net::buf::claim_tx_statics::TX_DESC 0x30000000 64 -net task_net::generated::CTOR_FLAG 0x200037eb 1 -net task_net::generated::SOCK_RX_DAT_ECHO 0x20003368 1024 -net task_net::generated::SOCK_RX_HDR_ECHO 0x20002f20 72 -net task_net::generated::SOCK_TX_DAT_ECHO 0x20002f68 1024 -net task_net::generated::SOCK_TX_HDR_ECHO 0x20002ed8 72 -net userlib::panic::PANIC_BUFFER 0x20003768 128 -user_leds drv_user_leds::SYS 0x0804ac1e 2 -ping task_ping::PEER 0x08044ba6 2 -ping userlib::panic::PANIC_BUFFER 0x20011780 128 -pong task_pong::USER_LEDS 0x08005e2c 2 -udpecho task_udpecho::NET 0x0800984c 2 -udpecho task_udpecho::UDP_ECHO_COUNT 0x20005000 4 -udpecho userlib::panic::PANIC_BUFFER 0x20005004 128 -hiffy task_hiffy::HIFFY_DATA 0x20009618 20480 -hiffy task_hiffy::HIFFY_ERRORS 0x2000ee9c 4 -hiffy task_hiffy::HIFFY_FAILURE 0x20008800 8 -hiffy task_hiffy::HIFFY_KICK 0x2000eea0 4 -hiffy task_hiffy::HIFFY_READY 0x2000eea4 4 -hiffy task_hiffy::HIFFY_REQUESTS 0x2000ee98 4 -hiffy task_hiffy::HIFFY_RSTACK 0x2000e618 2048 -hiffy task_hiffy::HIFFY_TEXT 0x20008e18 2048 -hiffy task_hiffy::HIFFY_VERSION_MAJOR 0x2000eea8 4 -hiffy task_hiffy::HIFFY_VERSION_MINOR 0x20008808 4 -hiffy task_hiffy::HIFFY_VERSION_PATCH 0x2000eeac 4 -hiffy task_hiffy::common::HASH 0x080145be 2 -hiffy task_hiffy::common::HF 0x080145bc 2 -hiffy task_hiffy::stm32h7::I2C 0x0801476e 2 -hiffy task_hiffy::stm32h7::SYS 0x0801476c 2 -hiffy task_hiffy::stm32h7::__RINGBUF 0x2000880c 1548 -hiffy userlib::panic::PANIC_BUFFER 0x2000ee18 128 -hf drv_gimlet_hf_server::HASH 0x08042032 2 -hf drv_gimlet_hf_server::SYS 0x08042030 2 -hf userlib::panic::PANIC_BUFFER 0x20006800 128 -hash_driver drv_stm32h7_hash_server::SYS 0x08047970 2 -hash_driver userlib::panic::PANIC_BUFFER 0x20007800 128 -rng_driver drv_stm32h7_rng::SYS 0x08049118 2 -rng_driver userlib::panic::PANIC_BUFFER 0x20011d00 128 diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.toml b/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.toml deleted file mode 100644 index 4591db541..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 readvar -l" - diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.stdout b/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.stdout deleted file mode 100644 index 265583f48..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.stdout +++ /dev/null @@ -1,186 +0,0 @@ -MODULE VARIABLE ADDR SIZE -kernel CLOCK_FREQ_KHZ 0x2400048c 4 -kernel CURRENT_TASK_PTR 0x24001454 4 -kernel DEVICE_PERIPHERALS 0x24001451 1 -kernel HEADER 0x08000298 80 -kernel HUBRIS_IMAGE_ID 0x08004b20 8 -kernel __EXCEPTIONS 0x08000008 56 -kernel __INTERRUPTS 0x08000040 600 -kernel __RESET_VECTOR 0x08000004 4 -kernel kern::arch::arm_m::TICKS 0x24001458 8 -kernel kern::fail::KERNEL_EPITAPH 0x24000409 128 -kernel kern::fail::KERNEL_HAS_FAILED 0x24000408 1 -kernel kern::startup::HUBRIS_REGION_DESCS 0x08004f48 840 -kernel kern::startup::HUBRIS_TASK_DESCS 0x08004b28 1056 -kernel kern::startup::HUBRIS_TASK_TABLE_SPACE 0x24000490 4032 -kernel kern::startup::TASK_TABLE_IN_USE 0x24000400 1 -jefe JEFE_EXTERNAL_ERRORS 0x24038650 4 -jefe JEFE_EXTERNAL_KICK 0x24038648 4 -jefe JEFE_EXTERNAL_READY 0x2403863c 4 -jefe JEFE_EXTERNAL_REQUEST 0x24038640 4 -jefe JEFE_EXTERNAL_REQUESTS 0x2403864c 4 -jefe JEFE_EXTERNAL_TASKINDEX 0x24038644 4 -jefe task_jefe::external::__RINGBUF 0x24038600 60 -net ksz8463::__RINGBUF 0x2400f418 268 -net task_net::I2C 0x08032cca 2 -net task_net::ITER_COUNT 0x2400f674 4 -net task_net::SYS 0x08032cc8 2 -net task_net::bsp::JEFE 0x08032be6 2 -net task_net::bsp::SPI 0x08032be4 2 -net task_net::buf::claim_rx_statics::RX_BUF 0x300018c0 6144 -net task_net::buf::claim_rx_statics::RX_DESC 0x30001880 64 -net task_net::buf::claim_rx_statics::TAKEN 0x2400f671 1 -net task_net::buf::claim_tx_statics::TAKEN 0x2400f670 1 -net task_net::buf::claim_tx_statics::TX_BUF 0x30000080 6144 -net task_net::buf::claim_tx_statics::TX_DESC 0x30000000 128 -net task_net::generated::CTOR_FLAG 0x2400f673 1 -net task_net::generated::SOCK_RX_DAT_BROADCAST 0x2400ac18 2048 -net task_net::generated::SOCK_RX_DAT_CONTROL_PLANE_AGENT 0x2400c418 4096 -net task_net::generated::SOCK_RX_DAT_ECHO 0x2400dc18 2048 -net task_net::generated::SOCK_RX_DAT_RPC 0x2400ec18 2048 -net task_net::generated::SOCK_RX_HDR_BROADCAST 0x24009828 144 -net task_net::generated::SOCK_RX_HDR_CONTROL_PLANE_AGENT 0x24009948 144 -net task_net::generated::SOCK_RX_HDR_ECHO 0x24009a68 144 -net task_net::generated::SOCK_RX_HDR_RPC 0x24009b88 144 -net task_net::generated::SOCK_TX_DAT_BROADCAST 0x2400a418 2048 -net task_net::generated::SOCK_TX_DAT_CONTROL_PLANE_AGENT 0x2400b418 4096 -net task_net::generated::SOCK_TX_DAT_ECHO 0x2400d418 2048 -net task_net::generated::SOCK_TX_DAT_RPC 0x2400e418 2048 -net task_net::generated::SOCK_TX_HDR_BROADCAST 0x24009798 144 -net task_net::generated::SOCK_TX_HDR_CONTROL_PLANE_AGENT 0x240098b8 144 -net task_net::generated::SOCK_TX_HDR_ECHO 0x240099d8 144 -net task_net::generated::SOCK_TX_HDR_RPC 0x24009af8 144 -net task_net::mgmt::__RINGBUF 0x2400a208 528 -net task_net::server_impl::claim_server_storage_statics::STORAGE 0x24009c18 1520 -net task_net::server_impl::claim_server_storage_statics::TAKEN 0x2400f672 1 -net userlib::panic::PANIC_BUFFER 0x2400f524 128 -net vsc85xx::__RINGBUF 0x2400f5a4 204 -net vsc85xx::viper::VIPER_PATCH 0x080353cc 92 -net vsc85xx::viper::VIPER_TR_CONFIG 0x08035428 462 -sys drv_stm32xx_sys::JEFE 0x080ae6c0 2 -spi4_driver drv_stm32h7_spi_server::SYS 0x080825fc 2 -spi4_driver drv_stm32h7_spi_server::__RINGBUF 0x24038b68 1036 -spi4_driver userlib::panic::PANIC_BUFFER 0x24038f74 128 -spi2_driver drv_stm32h7_spi_server::SYS 0x080867c8 2 -spi2_driver drv_stm32h7_spi_server::__RINGBUF 0x24039368 1036 -spi2_driver userlib::panic::PANIC_BUFFER 0x24039774 128 -i2c_driver drv_stm32xx_i2c::__RINGBUF 0x24039c0c 780 -i2c_driver drv_stm32xx_i2c_server::SYS 0x0808abc0 2 -i2c_driver drv_stm32xx_i2c_server::__RINGBUF 0x24039b80 140 -i2c_driver userlib::panic::PANIC_BUFFER 0x24039f18 128 -spd drv_stm32xx_i2c::__RINGBUF 0x2400448c 780 -spd task_spd::I2C 0x0808e8a6 2 -spd task_spd::JEFE 0x0808e8a8 2 -spd task_spd::SPD_DATA 0x24004798 8192 -spd task_spd::SYS 0x0808e8a4 2 -spd task_spd::__RINGBUF 0x24004380 268 -spd userlib::panic::PANIC_BUFFER 0x24006798 128 -thermal task_thermal::I2C 0x0800c39a 2 -thermal task_thermal::SENSOR 0x0800c39c 2 -thermal task_thermal::__RINGBUF 0x24003198 652 -thermal task_thermal::bsp::SEQ 0x0800c398 2 -thermal userlib::panic::PANIC_BUFFER 0x24003424 128 -power drv_i2c_devices::adm1272::__RINGBUF 0x240323e8 652 -power task_power::I2C 0x08063998 2 -power task_power::SENSOR 0x0806399a 2 -power task_power::claim_devices::DEVICES 0x24032678 1628 -power task_power::claim_devices::TAKEN 0x24032674 1 -power task_power::get_state::SEQUENCER 0x0806399c 2 -power userlib::panic::PANIC_BUFFER 0x24032cd4 128 -hiffy task_hiffy::HIFFY_DATA 0x2401121c 20480 -hiffy task_hiffy::HIFFY_ERRORS 0x24016ca4 4 -hiffy task_hiffy::HIFFY_FAILURE 0x24010400 8 -hiffy task_hiffy::HIFFY_KICK 0x24016ca8 4 -hiffy task_hiffy::HIFFY_READY 0x24016cac 4 -hiffy task_hiffy::HIFFY_REQUESTS 0x24016ca0 4 -hiffy task_hiffy::HIFFY_RSTACK 0x2401621c 2048 -hiffy task_hiffy::HIFFY_SCRATCH 0x24016a1c 513 -hiffy task_hiffy::HIFFY_TEXT 0x24010a1c 2048 -hiffy task_hiffy::HIFFY_VERSION_MAJOR 0x24016cb0 4 -hiffy task_hiffy::HIFFY_VERSION_MINOR 0x24010a14 4 -hiffy task_hiffy::HIFFY_VERSION_PATCH 0x24010a18 4 -hiffy task_hiffy::common::HASH 0x0806e5b6 2 -hiffy task_hiffy::common::HF 0x0806e5b4 2 -hiffy task_hiffy::common::SPROT 0x0806e5b2 2 -hiffy task_hiffy::common::UPDATE 0x0806e5b8 2 -hiffy task_hiffy::stm32h7::I2C 0x0806e7a6 2 -hiffy task_hiffy::stm32h7::SYS 0x0806e7a4 2 -hiffy task_hiffy::stm32h7::__RINGBUF 0x24010408 1548 -hiffy userlib::panic::PANIC_BUFFER 0x24016c1d 128 -gimlet_seq drv_gimlet_seq_server::HF 0x08019b74 2 -gimlet_seq drv_gimlet_seq_server::I2C 0x08019b72 2 -gimlet_seq drv_gimlet_seq_server::JEFE 0x08019b76 2 -gimlet_seq drv_gimlet_seq_server::SPI 0x08019b70 2 -gimlet_seq drv_gimlet_seq_server::SYS 0x08019b6e 2 -gimlet_seq drv_gimlet_seq_server::__RINGBUF 0x24033640 780 -gimlet_seq userlib::panic::PANIC_BUFFER 0x2403394c 128 -hash_driver drv_stm32h7_hash_server::SYS 0x08091c70 2 -hash_driver userlib::panic::PANIC_BUFFER 0x24034800 128 -hf drv_gimlet_hf_server::HASH 0x080964d2 2 -hf drv_gimlet_hf_server::SYS 0x080964d0 2 -hf userlib::panic::PANIC_BUFFER 0x2403a780 128 -update_server stm32h7_update_server::__RINGBUF 0x24035800 1036 -update_server userlib::panic::PANIC_BUFFER 0x24035c0c 128 -sensor task_sensor::main::DATA_TIME 0x2402c6a0 1064 -sensor task_sensor::main::DATA_VALUE 0x2402c488 532 -sensor task_sensor::main::ERR_TIME 0x2402cb50 1064 -sensor task_sensor::main::ERR_VALUE 0x2402cac8 133 -sensor task_sensor::main::LAST_READING 0x2402c401 133 -sensor task_sensor::main::NERRORS 0x2402cf78 532 -sensor task_sensor::main::TAKEN 0x2402c400 1 -sensor userlib::panic::PANIC_BUFFER 0x2402d18c 128 -host_sp_comms task_host_sp_comms::CONTROL_PLANE_AGENT 0x08073fae 2 -host_sp_comms task_host_sp_comms::GIMLET_SEQ 0x08073fb0 2 -host_sp_comms task_host_sp_comms::HOST_FLASH 0x08073fb2 2 -host_sp_comms task_host_sp_comms::NET 0x08073fb4 2 -host_sp_comms task_host_sp_comms::SYS 0x08073fb6 2 -host_sp_comms task_host_sp_comms::ServerImpl::claim_static_resources::LAST_HOST_BOOT_FAIL 0x2401c10d 4096 -host_sp_comms task_host_sp_comms::ServerImpl::claim_static_resources::LAST_HOST_PANIC 0x2401d10d 4096 -host_sp_comms task_host_sp_comms::ServerImpl::claim_static_resources::TAKEN 0x2401e10f 1 -host_sp_comms task_host_sp_comms::__RINGBUF 0x24018800 2192 -host_sp_comms task_host_sp_comms::claim_uart_rx_buf::TAKEN 0x2401e10d 1 -host_sp_comms task_host_sp_comms::claim_uart_rx_buf::UART_RX_BUF 0x24019090 4148 -host_sp_comms task_host_sp_comms::tx_buf::TxBuf::claim_static_resources::TAKEN 0x2401e10e 1 -host_sp_comms task_host_sp_comms::tx_buf::TxBuf::claim_static_resources::UART_TX_MSG_BUF 0x2401a0c4 4123 -host_sp_comms task_host_sp_comms::tx_buf::TxBuf::claim_static_resources::UART_TX_PKT_BUF 0x2401b0df 4142 -udpecho task_udpecho::NET 0x080a9b24 2 -udpecho task_udpecho::UDP_ECHO_COUNT 0x2402f000 4 -udpecho userlib::panic::PANIC_BUFFER 0x2402f004 128 -udpbroadcast task_udpbroadcast::NET 0x080ab720 2 -udpbroadcast task_udpbroadcast::UDP_BROADCAST_COUNT 0x24036880 4 -udpbroadcast task_udpbroadcast::UDP_ERROR_COUNT 0x24036884 4 -udpbroadcast userlib::panic::PANIC_BUFFER 0x24036800 128 -udprpc task_udprpc::NET 0x0809e220 2 -udprpc userlib::panic::PANIC_BUFFER 0x24031000 128 -control_plane_agent task_control_plane_agent::I2C 0x0804e24e 2 -control_plane_agent task_control_plane_agent::JEFE 0x0804e248 2 -control_plane_agent task_control_plane_agent::NET 0x0804e24a 2 -control_plane_agent task_control_plane_agent::NetHandler::claim_static_resources::NET_RX_BUF 0x2402a840 1024 -control_plane_agent task_control_plane_agent::NetHandler::claim_static_resources::NET_TX_BUF 0x2402a440 1024 -control_plane_agent task_control_plane_agent::NetHandler::claim_static_resources::TAKEN 0x2402acc3 1 -control_plane_agent task_control_plane_agent::SYS 0x0804e24c 2 -control_plane_agent task_control_plane_agent::__RINGBUF 0x24029000 1040 -control_plane_agent task_control_plane_agent::inventory::SENSOR 0x0804e1a2 2 -control_plane_agent task_control_plane_agent::inventory::VALIDATE 0x0804e1a0 2 -control_plane_agent task_control_plane_agent::mgs_handler::GIMLET_SEQ 0x0804e246 2 -control_plane_agent task_control_plane_agent::mgs_handler::HOST_FLASH 0x0804e244 2 -control_plane_agent task_control_plane_agent::mgs_handler::UPDATE_MEMORY 0x24029814 1043 -control_plane_agent task_control_plane_agent::mgs_handler::claim_mgs_to_sp_usart_buf_static::TAKEN 0x2402acc1 1 -control_plane_agent task_control_plane_agent::mgs_handler::claim_mgs_to_sp_usart_buf_static::UART_TX_BUF 0x24029c28 1036 -control_plane_agent task_control_plane_agent::mgs_handler::claim_sp_to_mgs_usart_buf_static::TAKEN 0x2402acc2 1 -control_plane_agent task_control_plane_agent::mgs_handler::claim_sp_to_mgs_usart_buf_static::UART_RX_BUF 0x2402a034 1036 -control_plane_agent task_control_plane_agent::mgs_handler::host_phase2::claim_phase2_buffer::PHASE2_BUF 0x24029410 1028 -control_plane_agent task_control_plane_agent::mgs_handler::host_phase2::claim_phase2_buffer::TAKEN 0x2402acc0 1 -control_plane_agent task_control_plane_agent::update::host_flash::HOST_FLASH 0x0804e1a4 2 -control_plane_agent task_control_plane_agent::update::sp::SPROT 0x0804e242 2 -control_plane_agent task_control_plane_agent::update::sp::UPDATE_SERVER 0x0804e240 2 -control_plane_agent userlib::panic::PANIC_BUFFER 0x2402ac40 128 -sprot drv_stm32h7_sprot_server::SPI 0x0807b910 2 -sprot drv_stm32h7_sprot_server::SYS 0x0807b912 2 -sprot drv_stm32h7_sprot_server::__RINGBUF 0x24024000 1036 -sprot userlib::panic::PANIC_BUFFER 0x2402440c 128 -validate task_validate::I2C 0x080a1ff0 2 -validate task_validate::__RINGBUF 0x240373e8 1036 -validate userlib::panic::PANIC_BUFFER 0x240377f4 128 -vpd task_vpd::I2C 0x080ad710 2 -vpd userlib::panic::PANIC_BUFFER 0x2403af20 128 diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.toml b/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.toml deleted file mode 100644 index 180264a07..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 readvar -l" - diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.new-compiler.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.new-compiler.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.new-compiler.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.new-compiler.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.new-ringbuf.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.new-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.new-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.new-sensors.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.new-sensors.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.new-sensors.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.new-sensors.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.nightly-2022-11-01.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.nightly-2022-11-01.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.panic-on-boot.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.panic-on-boot.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.panic-on-boot.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.sidecar-b-image-default.zip.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.sidecar-b-image-default.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.sidecar-b-image-default.zip.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.sidecar-b-image-default.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.stdout b/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.stdout deleted file mode 100644 index 85e393cf5..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.stdout +++ /dev/null @@ -1,97 +0,0 @@ -MODULE VARIABLE ADDR SIZE -kernel CLOCK_FREQ_KHZ 0x20000400 4 -kernel CURRENT_TASK_PTR 0x2000104c 4 -kernel DEVICE_PERIPHERALS 0x20001038 1 -kernel FAULT_NOTIFICATION 0x20001040 4 -kernel HUBRIS_IMAGE_ID 0x08005350 8 -kernel TASK_TABLE_BASE 0x20001044 4 -kernel TASK_TABLE_SIZE 0x20001048 4 -kernel __EXCEPTIONS 0x08000008 56 -kernel __INTERRUPTS 0x08000040 600 -kernel __RESET_VECTOR 0x08000004 4 -kernel kern::arch::arm_m::TICKS 0x20001050 8 -kernel kern::profiling::EVENTS_TABLE 0x2000103c 4 -kernel kern::startup::HUBRIS_REGION_DESCS 0x080054c0 736 -kernel kern::startup::HUBRIS_REGION_TABLE_SPACE 0x20000e58 480 -kernel kern::startup::HUBRIS_TASK_DESCS 0x08005358 360 -kernel kern::startup::HUBRIS_TASK_TABLE_SPACE 0x20000408 2640 -jefe task_jefe::external::JEFE_EXTERNAL_ERRORS 0x20014650 4 -jefe task_jefe::external::JEFE_EXTERNAL_KICK 0x20014648 4 -jefe task_jefe::external::JEFE_EXTERNAL_READY 0x2001463c 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUEST 0x20014640 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUESTS 0x2001464c 4 -jefe task_jefe::external::JEFE_EXTERNAL_TASKINDEX 0x20014644 4 -jefe task_jefe::external::__RINGBUF 0x20014600 60 -net ksz8463::__RINGBUF 0x20003cf8 268 -net task_net::ITER_COUNT 0x20003f54 4 -net task_net::SYS 0x08030b90 2 -net task_net::bsp::gimlet_1::SEQ 0x08030c00 2 -net task_net::bsp::gimlet_1::SPI 0x08030c02 2 -net task_net::buf::claim_mac_address::MAC_ADDRESS 0x20003f58 6 -net task_net::buf::claim_mac_address::TAKEN 0x20003f52 1 -net task_net::buf::claim_rx_statics::RX_BUF 0x30001880 6144 -net task_net::buf::claim_rx_statics::RX_DESC 0x30001840 64 -net task_net::buf::claim_rx_statics::TAKEN 0x20003f51 1 -net task_net::buf::claim_tx_statics::TAKEN 0x20003f50 1 -net task_net::buf::claim_tx_statics::TX_BUF 0x30000040 6144 -net task_net::buf::claim_tx_statics::TX_DESC 0x30000000 64 -net task_net::generated::CTOR_FLAG 0x20003f53 1 -net task_net::generated::SOCK_RX_DAT_ECHO 0x20003368 1024 -net task_net::generated::SOCK_RX_HDR_ECHO 0x20002f20 72 -net task_net::generated::SOCK_TX_DAT_ECHO 0x20002f68 1024 -net task_net::generated::SOCK_TX_HDR_ECHO 0x20002ed8 72 -net task_net::mgmt::__RINGBUF 0x20003768 1424 -net userlib::panic::PANIC_BUFFER 0x20003e04 128 -net vsc85xx::__RINGBUF 0x20003e84 204 -spi4_driver drv_stm32h7_spi_server::SYS 0x080423f4 2 -spi4_driver drv_stm32h7_spi_server::__RINGBUF 0x20014b68 1036 -spi4_driver userlib::panic::PANIC_BUFFER 0x20014f74 128 -spi2_driver drv_stm32h7_spi_server::SYS 0x080465a0 2 -spi2_driver drv_stm32h7_spi_server::__RINGBUF 0x20015368 1036 -spi2_driver userlib::panic::PANIC_BUFFER 0x20015774 128 -i2c_driver drv_stm32h7_i2c::__RINGBUF 0x20015b80 780 -i2c_driver drv_stm32h7_i2c_server::SYS 0x0804a43c 2 -i2c_driver drv_stm32h7_i2c_server::__RINGBUF 0x20015e8c 204 -i2c_driver userlib::panic::PANIC_BUFFER 0x20015f58 128 -spd drv_stm32h7_i2c::__RINGBUF 0x2000448c 780 -spd task_spd::I2C 0x0804e34e 2 -spd task_spd::SPD_DATA 0x20004798 8192 -spd task_spd::SYS 0x0804e34c 2 -spd task_spd::__RINGBUF 0x20004380 268 -spd userlib::panic::PANIC_BUFFER 0x20006798 128 -thermal task_thermal::I2C 0x0805f7ec 2 -thermal task_thermal::SENSOR 0x0805f7ee 2 -thermal userlib::panic::PANIC_BUFFER 0x20016780 128 -power drv_i2c_devices::adm1272::__RINGBUF 0x20012800 652 -power task_power::I2C 0x080524e4 2 -power task_power::SENSOR 0x080524e6 2 -power task_power::SEQUENCER 0x080524e8 2 -power userlib::panic::PANIC_BUFFER 0x20012a8c 128 -hiffy task_hiffy::HIFFY_DATA 0x20009218 20480 -hiffy task_hiffy::HIFFY_ERRORS 0x2000ea9c 4 -hiffy task_hiffy::HIFFY_FAILURE 0x20008400 8 -hiffy task_hiffy::HIFFY_KICK 0x2000eaa0 4 -hiffy task_hiffy::HIFFY_READY 0x2000eaa4 4 -hiffy task_hiffy::HIFFY_REQUESTS 0x2000ea98 4 -hiffy task_hiffy::HIFFY_RSTACK 0x2000e218 2048 -hiffy task_hiffy::HIFFY_TEXT 0x20008a18 2048 -hiffy task_hiffy::HIFFY_VERSION_MAJOR 0x2000eaa8 4 -hiffy task_hiffy::HIFFY_VERSION_MINOR 0x20008408 4 -hiffy task_hiffy::HIFFY_VERSION_PATCH 0x2000eaac 4 -hiffy task_hiffy::common::HF 0x0800be1c 2 -hiffy task_hiffy::stm32h7::I2C 0x0800bfb6 2 -hiffy task_hiffy::stm32h7::SYS 0x0800bfb4 2 -hiffy task_hiffy::stm32h7::__RINGBUF 0x2000840c 1548 -hiffy userlib::panic::PANIC_BUFFER 0x2000ea18 128 -gimlet_seq drv_gimlet_seq_server::HF 0x08019000 2 -gimlet_seq drv_gimlet_seq_server::I2C 0x08018ffe 2 -gimlet_seq drv_gimlet_seq_server::SPI 0x08018ffc 2 -gimlet_seq drv_gimlet_seq_server::SYS 0x08018ffa 2 -gimlet_seq drv_gimlet_seq_server::__RINGBUF 0x20013640 780 -gimlet_seq userlib::panic::PANIC_BUFFER 0x2001394c 128 -hf drv_gimlet_hf_server::SYS 0x08055c74 2 -hf userlib::panic::PANIC_BUFFER 0x20016f80 128 -sensor userlib::panic::PANIC_BUFFER 0x20017780 128 -udpecho task_udpecho::NET 0x0805984c 2 -udpecho task_udpecho::UDP_ECHO_COUNT 0x20011000 4 -udpecho userlib::panic::PANIC_BUFFER 0x20011004 128 diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.toml b/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.toml deleted file mode 100644 index 0c2c86565..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 readvar -l" - diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.sprot_status.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.sprot_status.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.sprot_status.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.sprot_status.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.stdout b/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.stdout deleted file mode 100644 index 76c4593ad..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.stdout +++ /dev/null @@ -1,83 +0,0 @@ -MODULE VARIABLE ADDR SIZE -kernel CLOCK_FREQ_KHZ 0x20000408 4 -kernel CURRENT_TASK_PTR 0x20001048 4 -kernel DEVICE_PERIPHERALS 0x20001040 1 -kernel HUBRIS_IMAGE_ID 0x08004868 8 -kernel __EXCEPTIONS 0x08000008 56 -kernel __INTERRUPTS 0x08000040 600 -kernel __RESET_VECTOR 0x08000004 4 -kernel kern::arch::arm_m::TICKS 0x2000104c 8 -kernel kern::profiling::EVENTS_TABLE 0x20001044 4 -kernel kern::startup::HUBRIS_REGION_DESCS 0x0800499c 576 -kernel kern::startup::HUBRIS_REGION_TABLE_SPACE 0x20000e60 480 -kernel kern::startup::HUBRIS_TASK_DESCS 0x08004870 300 -kernel kern::startup::HUBRIS_TASK_TABLE_SPACE 0x20000410 2640 -kernel kern::startup::TASK_TABLE_IN_USE 0x20000400 1 -jefe task_jefe::external::JEFE_EXTERNAL_ERRORS 0x20013650 4 -jefe task_jefe::external::JEFE_EXTERNAL_KICK 0x20013648 4 -jefe task_jefe::external::JEFE_EXTERNAL_READY 0x2001363c 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUEST 0x20013640 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUESTS 0x2001364c 4 -jefe task_jefe::external::JEFE_EXTERNAL_TASKINDEX 0x20013644 4 -jefe task_jefe::external::__RINGBUF 0x20013600 60 -i2c_driver drv_stm32h7_i2c::__RINGBUF 0x20013b80 780 -i2c_driver drv_stm32h7_i2c_server::SYS 0x08029c58 2 -i2c_driver drv_stm32h7_i2c_server::__RINGBUF 0x20013e8c 204 -i2c_driver userlib::panic::PANIC_BUFFER 0x20013f58 128 -spi_driver drv_stm32h7_spi_server::SYS 0x0802e3f4 2 -spi_driver drv_stm32h7_spi_server::__RINGBUF 0x20014370 1036 -spi_driver userlib::panic::PANIC_BUFFER 0x2001477c 128 -user_leds drv_user_leds::SYS 0x0803ec34 2 -pong task_pong::USER_LEDS 0x0803f22c 2 -uartecho task_uartecho::SYS 0x080378b6 2 -uartecho task_uartecho::__RINGBUF 0x20010800 780 -uartecho userlib::panic::PANIC_BUFFER 0x20010b0c 128 -hiffy task_hiffy::HIFFY_DATA 0x20009618 20480 -hiffy task_hiffy::HIFFY_ERRORS 0x2000ee9c 4 -hiffy task_hiffy::HIFFY_FAILURE 0x20008800 8 -hiffy task_hiffy::HIFFY_KICK 0x2000eea0 4 -hiffy task_hiffy::HIFFY_READY 0x2000eea4 4 -hiffy task_hiffy::HIFFY_REQUESTS 0x2000ee98 4 -hiffy task_hiffy::HIFFY_RSTACK 0x2000e618 2048 -hiffy task_hiffy::HIFFY_TEXT 0x20008e18 2048 -hiffy task_hiffy::HIFFY_VERSION_MAJOR 0x2000eea8 4 -hiffy task_hiffy::HIFFY_VERSION_MINOR 0x20008808 4 -hiffy task_hiffy::HIFFY_VERSION_PATCH 0x2000eeac 4 -hiffy task_hiffy::common::HF 0x0800c5d8 2 -hiffy task_hiffy::common::RNG 0x0800c5da 2 -hiffy task_hiffy::common::UPDATE 0x0800c5dc 2 -hiffy task_hiffy::stm32h7::I2C 0x0800c78a 2 -hiffy task_hiffy::stm32h7::SYS 0x0800c788 2 -hiffy task_hiffy::stm32h7::__RINGBUF 0x2000880c 1548 -hiffy userlib::panic::PANIC_BUFFER 0x2000ee18 128 -hf drv_gimlet_hf_server::SYS 0x08031c0c 2 -hf userlib::panic::PANIC_BUFFER 0x20014f80 128 -net ksz8463::__RINGBUF 0x2000658c 268 -net task_net::ITER_COUNT 0x2000671c 4 -net task_net::SYS 0x0801c7f0 2 -net task_net::bsp::gimletlet_nic::SPI 0x0801c860 2 -net task_net::bsp::gimletlet_nic::__RINGBUF 0x20006200 908 -net task_net::buf::claim_mac_address::MAC_ADDRESS 0x20006720 6 -net task_net::buf::claim_mac_address::TAKEN 0x2000671a 1 -net task_net::buf::claim_rx_statics::RX_BUF 0x300018c0 6144 -net task_net::buf::claim_rx_statics::RX_DESC 0x30001880 64 -net task_net::buf::claim_rx_statics::TAKEN 0x20006719 1 -net task_net::buf::claim_tx_statics::TAKEN 0x20006718 1 -net task_net::buf::claim_tx_statics::TX_BUF 0x30000080 6144 -net task_net::buf::claim_tx_statics::TX_DESC 0x30000000 128 -net task_net::generated::CTOR_FLAG 0x2000671b 1 -net task_net::generated::SOCK_RX_DAT_ECHO 0x20005a00 2048 -net task_net::generated::SOCK_RX_HDR_ECHO 0x20005170 144 -net task_net::generated::SOCK_TX_DAT_ECHO 0x20005200 2048 -net task_net::generated::SOCK_TX_HDR_ECHO 0x200050e0 144 -net userlib::panic::PANIC_BUFFER 0x20006698 128 -udpecho task_udpecho::NET 0x080399d8 2 -udpecho task_udpecho::UDP_ECHO_COUNT 0x20003000 4 -udpecho userlib::panic::PANIC_BUFFER 0x20003004 128 -validate task_validate::I2C 0x08020d74 2 -validate task_validate::__RINGBUF 0x20011400 1036 -validate userlib::panic::PANIC_BUFFER 0x2001180c 128 -rng_driver drv_stm32h7_rng::SYS 0x0803b118 2 -rng_driver userlib::panic::PANIC_BUFFER 0x20015d00 128 -update_server stm32h7_update_server::__RINGBUF 0x20012800 1036 -update_server userlib::panic::PANIC_BUFFER 0x20012c0c 128 diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.toml b/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.toml deleted file mode 100644 index a641ef2f5..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 readvar -l" - diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.stdout b/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.stdout deleted file mode 100644 index 5a969b06d..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.stdout +++ /dev/null @@ -1,83 +0,0 @@ -MODULE VARIABLE ADDR SIZE -kernel CLOCK_FREQ_KHZ 0x20000408 4 -kernel CURRENT_TASK_PTR 0x20001048 4 -kernel DEVICE_PERIPHERALS 0x20001040 1 -kernel HUBRIS_IMAGE_ID 0x08004878 8 -kernel __EXCEPTIONS 0x08000008 56 -kernel __INTERRUPTS 0x08000040 600 -kernel __RESET_VECTOR 0x08000004 4 -kernel kern::arch::arm_m::TICKS 0x2000104c 8 -kernel kern::profiling::EVENTS_TABLE 0x20001044 4 -kernel kern::startup::HUBRIS_REGION_DESCS 0x080049ac 576 -kernel kern::startup::HUBRIS_REGION_TABLE_SPACE 0x20000e60 480 -kernel kern::startup::HUBRIS_TASK_DESCS 0x08004880 300 -kernel kern::startup::HUBRIS_TASK_TABLE_SPACE 0x20000410 2640 -kernel kern::startup::TASK_TABLE_IN_USE 0x20000400 1 -jefe task_jefe::external::JEFE_EXTERNAL_ERRORS 0x20013650 4 -jefe task_jefe::external::JEFE_EXTERNAL_KICK 0x20013648 4 -jefe task_jefe::external::JEFE_EXTERNAL_READY 0x2001363c 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUEST 0x20013640 4 -jefe task_jefe::external::JEFE_EXTERNAL_REQUESTS 0x2001364c 4 -jefe task_jefe::external::JEFE_EXTERNAL_TASKINDEX 0x20013644 4 -jefe task_jefe::external::__RINGBUF 0x20013600 60 -i2c_driver drv_stm32h7_i2c::__RINGBUF 0x20013b80 780 -i2c_driver drv_stm32h7_i2c_server::SYS 0x08029c58 2 -i2c_driver drv_stm32h7_i2c_server::__RINGBUF 0x20013e8c 204 -i2c_driver userlib::panic::PANIC_BUFFER 0x20013f58 128 -spi_driver drv_stm32h7_spi_server::SYS 0x0802e3f4 2 -spi_driver drv_stm32h7_spi_server::__RINGBUF 0x20014370 1036 -spi_driver userlib::panic::PANIC_BUFFER 0x2001477c 128 -user_leds drv_user_leds::SYS 0x0803ec34 2 -pong task_pong::USER_LEDS 0x0803f22c 2 -uartecho task_uartecho::SYS 0x080378b6 2 -uartecho task_uartecho::__RINGBUF 0x20010800 780 -uartecho userlib::panic::PANIC_BUFFER 0x20010b0c 128 -hiffy task_hiffy::HIFFY_DATA 0x20009618 20480 -hiffy task_hiffy::HIFFY_ERRORS 0x2000ee9c 4 -hiffy task_hiffy::HIFFY_FAILURE 0x20008800 8 -hiffy task_hiffy::HIFFY_KICK 0x2000eea0 4 -hiffy task_hiffy::HIFFY_READY 0x2000eea4 4 -hiffy task_hiffy::HIFFY_REQUESTS 0x2000ee98 4 -hiffy task_hiffy::HIFFY_RSTACK 0x2000e618 2048 -hiffy task_hiffy::HIFFY_TEXT 0x20008e18 2048 -hiffy task_hiffy::HIFFY_VERSION_MAJOR 0x2000eea8 4 -hiffy task_hiffy::HIFFY_VERSION_MINOR 0x20008808 4 -hiffy task_hiffy::HIFFY_VERSION_PATCH 0x2000eeac 4 -hiffy task_hiffy::common::HF 0x0800c5d8 2 -hiffy task_hiffy::common::RNG 0x0800c5da 2 -hiffy task_hiffy::common::UPDATE 0x0800c5dc 2 -hiffy task_hiffy::stm32h7::I2C 0x0800c78a 2 -hiffy task_hiffy::stm32h7::SYS 0x0800c788 2 -hiffy task_hiffy::stm32h7::__RINGBUF 0x2000880c 1548 -hiffy userlib::panic::PANIC_BUFFER 0x2000ee18 128 -hf drv_gimlet_hf_server::SYS 0x08031c0c 2 -hf userlib::panic::PANIC_BUFFER 0x20014f80 128 -net ksz8463::__RINGBUF 0x2000658c 268 -net task_net::ITER_COUNT 0x2000671c 4 -net task_net::SYS 0x0801c7f0 2 -net task_net::bsp::gimletlet_nic::SPI 0x0801c860 2 -net task_net::bsp::gimletlet_nic::__RINGBUF 0x20006200 908 -net task_net::buf::claim_mac_address::MAC_ADDRESS 0x20006720 6 -net task_net::buf::claim_mac_address::TAKEN 0x2000671a 1 -net task_net::buf::claim_rx_statics::RX_BUF 0x300018c0 6144 -net task_net::buf::claim_rx_statics::RX_DESC 0x30001880 64 -net task_net::buf::claim_rx_statics::TAKEN 0x20006719 1 -net task_net::buf::claim_tx_statics::TAKEN 0x20006718 1 -net task_net::buf::claim_tx_statics::TX_BUF 0x30000080 6144 -net task_net::buf::claim_tx_statics::TX_DESC 0x30000000 128 -net task_net::generated::CTOR_FLAG 0x2000671b 1 -net task_net::generated::SOCK_RX_DAT_ECHO 0x20005a00 2048 -net task_net::generated::SOCK_RX_HDR_ECHO 0x20005170 144 -net task_net::generated::SOCK_TX_DAT_ECHO 0x20005200 2048 -net task_net::generated::SOCK_TX_HDR_ECHO 0x200050e0 144 -net userlib::panic::PANIC_BUFFER 0x20006698 128 -udpecho task_udpecho::NET 0x080399d8 2 -udpecho task_udpecho::UDP_ECHO_COUNT 0x20003000 4 -udpecho userlib::panic::PANIC_BUFFER 0x20003004 128 -validate task_validate::I2C 0x08020d74 2 -validate task_validate::__RINGBUF 0x20011400 1036 -validate userlib::panic::PANIC_BUFFER 0x2001180c 128 -rng_driver drv_stm32h7_rng::SYS 0x0803b118 2 -rng_driver userlib::panic::PANIC_BUFFER 0x20015d00 128 -update_server stm32h7_update_server::__RINGBUF 0x20012800 1036 -update_server userlib::panic::PANIC_BUFFER 0x20012c0c 128 diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.toml b/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.toml deleted file mode 100644 index 666dac7cd..000000000 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 readvar -l" - diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.task.net.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.task.net.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.task.net.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.task.net.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.task.power.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.task.power.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.task.power.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.task.power.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.u16-ringbuf.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.u16-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.u16-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-list/readvar-list.v6.stderr b/humility-bin/tests/cmd/readvar-list/readvar-list.v6.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/readvar-list/readvar-list.v6.stderr +++ b/humility-bin/tests/cmd/readvar-list/readvar-list.v6.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.stderr b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.stdout b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.stdout deleted file mode 100644 index 4def47406..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.stdout +++ /dev/null @@ -1 +0,0 @@ -kern::arch::arm_m::TICKS (0x20001120) = 0xa7dae diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.toml b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.toml deleted file mode 100644 index 87a1fd695..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 readvar TICKS" - diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.stderr b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.stdout b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.stdout deleted file mode 100644 index a43738f94..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.stdout +++ /dev/null @@ -1 +0,0 @@ -kern::arch::arm_m::TICKS (0x20000f80) = 0x2711 diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.toml b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.toml deleted file mode 100644 index d95016b1d..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 readvar TICKS" - diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.stderr b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.stdout b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.stdout deleted file mode 100644 index 659d07472..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.stdout +++ /dev/null @@ -1,12 +0,0 @@ -kern::arch::arm_m::TICKS (0x24001458) = [ - AtomicU32 { - v: UnsafeCell { - value: 0xf1e7 - } - }, - AtomicU32 { - v: UnsafeCell { - value: 0x0 - } - } -] diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.toml b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.toml deleted file mode 100644 index 68c251a06..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 readvar TICKS" - diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.stderr b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.stdout b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.stdout deleted file mode 100644 index 796b20345..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.stdout +++ /dev/null @@ -1 +0,0 @@ -kern::arch::arm_m::TICKS (0x20001050) = 0x6c6a0 diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.toml b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.toml deleted file mode 100644 index 634e2609a..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 readvar TICKS" - diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.stderr b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.stdout b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.stdout deleted file mode 100644 index 1a75a3f65..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.stdout +++ /dev/null @@ -1,12 +0,0 @@ -kern::arch::arm_m::TICKS (0x2000104c) = [ - AtomicU32 { - v: UnsafeCell { - value: 0x0 - } - }, - AtomicU32 { - v: UnsafeCell { - value: 0x0 - } - } -] diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.toml b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.toml deleted file mode 100644 index 0c9058b17..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 readvar TICKS" - diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.stderr b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.stdout b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.stdout deleted file mode 100644 index d8c852a73..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.stdout +++ /dev/null @@ -1,12 +0,0 @@ -kern::arch::arm_m::TICKS (0x2000104c) = [ - AtomicU32 { - v: UnsafeCell { - value: 0xa9c32 - } - }, - AtomicU32 { - v: UnsafeCell { - value: 0x0 - } - } -] diff --git a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.toml b/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.toml deleted file mode 100644 index 78d684d62..000000000 --- a/humility-bin/tests/cmd/readvar-ticks/readvar-ticks.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 readvar TICKS" - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.stderr b/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.stdout b/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.stdout deleted file mode 100644 index 3018b1d14..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.stdout +++ /dev/null @@ -1,43 +0,0 @@ - R0 = 0x2001a500 <- idle: 0x2001a400+0x100 - R1 = 0x2001a500 <- idle: 0x2001a400+0x100 - R2 = 0x00000000 - R3 = 0x00000000 - R4 = 0x00000000 - R5 = 0x00000000 - R6 = 0x00000000 - R7 = 0x2001a4f8 <- idle: 0x2001a400+0xf8 - R8 = 0x00000000 - R9 = 0x00000000 - R10 = 0x00000000 - R11 = 0x00000000 - R12 = 0x00000000 - SP = 0x2001a4f8 <- idle: 0x2001a400+0xf8 - | - +---> 0x2001a500 0x0806a856 main - - LR = 0x0806a84f <- idle: _start+0x4f - PC = 0x0806a856 <- idle: main+0x6 - PSR = 0x61000000 <- 0110_0001_0000_0000_0000_0000_0000_0000 - |||| | || | | | - |||| | || | | + Exception = 0x0 - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 1 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x200003a8 <- kernel: 0x20000000+0x3a8 - PSP = 0x2001a4f8 <- idle: 0x2001a400+0xf8 - SPR = 0x07000000 <- 0000_0111_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 1 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.toml b/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.toml deleted file mode 100644 index 1a3b8b16b..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 registers -s" - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.stderr b/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.stdout b/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.stdout deleted file mode 100644 index c93642824..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.stdout +++ /dev/null @@ -1,49 +0,0 @@ - R0 = 0x00000000 - R1 = 0x0000000a - R2 = 0x80000000 - R3 = 0x00000000 - R4 = 0x00000000 - R5 = 0x0000f406 - R6 = 0x00002711 - R7 = 0x20000310 <- kernel: 0x20000000+0x310 - R8 = 0x00000000 - R9 = 0x00000000 - R10 = 0x20000f68 <- kernel: DEVICE_PERIPHERALS+0x0 - R11 = 0x00000001 - R12 = 0x200002b4 <- kernel: 0x20000000+0x2b4 - SP = 0x200002e8 <- kernel: 0x20000000+0x2e8 - | - +---> 0x20000318 0x08004236 rust_begin_unwind - 0x20000330 0x08000558 core::panicking::panic_fmt - 0x20000358 0x08000ad8 core::panicking::panic - 0x20000390 0x08003ba6 kern::arch::arm_m::safe_sys_tick_handler - 0x20000390 0x08003ba6 kern::arch::arm_m::SysTick::{{closure}} - 0x20000390 0x08003ba6 kern::arch::arm_m::with_task_table - 0x20000390 0x08003bb0 SysTick - - LR = 0x0800414f <- kernel: write_str+0xd - PC = 0x08004236 <- kernel: panic+0x36 - PSR = 0x4100000f <- 0100_0001_0000_0000_0000_0000_0000_1111 - |||| | || | | | - |||| | || | | + Exception = 0xf - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x200002e8 <- kernel: 0x20000000+0x2e8 - PSP = 0x20011ab0 <- pong: 0x20011800+0x2b0 - SPR = 0x01000001 <- 0000_0001_0000_0000_0000_0000_0000_0001 - ||| | | | - ||| | | + PRIMASK = 1 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 0 - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.toml b/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.toml deleted file mode 100644 index 1839b0c96..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 registers -s" - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.stderr b/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.stdout b/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.stdout deleted file mode 100644 index 4ddff23c4..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.stdout +++ /dev/null @@ -1,53 +0,0 @@ - R0 = 0x00000000 - R1 = 0x24000441 <- kernel: KERNEL_EPITAPH+0x38 - R2 = 0x24000441 <- kernel: KERNEL_EPITAPH+0x38 - R3 = 0x24000441 <- kernel: KERNEL_EPITAPH+0x38 - R4 = 0x00000001 - R5 = 0x24000400 <- kernel: TASK_TABLE_IN_USE+0x0 - R6 = 0x24009528 <- net: 0x24008000+0x1528 - R7 = 0x240002b8 <- kernel: 0x24000000+0x2b8 - R8 = 0x00000000 - R9 = 0x00000000 - R10 = 0x24009548 <- net: 0x24008000+0x1548 - R11 = 0x00000008 - R12 = 0x24000438 <- kernel: KERNEL_EPITAPH+0x2f - SP = 0x24000288 <- kernel: 0x24000000+0x288 - | - +---> 0x240002c0 0x080019ac kern::fail::die_impl - 0x240002d0 0x080019d4 kern::fail::die - 0x240002d0 0x080019d4 rust_begin_unwind - 0x240002f0 0x080006da core::panicking::panic_fmt - 0x24000318 0x0800105a core::panicking::panic - 0x24000320 0x08001922 kern::task::force_fault - 0x240003b0 0x080021ae kern::syscalls::safe_syscall_entry - 0x240003b0 0x080021ae kern::syscalls::syscall_entry::{{closure}} - 0x240003b0 0x08002196 kern::startup::with_task_table - 0x240003b0 0x080026da syscall_entry - 0x240003b0 0x0800367a SVCall - - LR = 0x08001795 <- kernel: write_str+0x35 - PC = 0x080019ac <- kernel: die_impl+0x44 - PSR = 0x6100000b <- 0110_0001_0000_0000_0000_0000_0000_1011 - |||| | || | | | - |||| | || | | + Exception = 0xb - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 1 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x24000288 <- kernel: 0x24000000+0x288 - PSP = 0x24008c60 <- net: 0x24008000+0xc60 - SPR = 0x05000000 <- 0000_0101_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.toml b/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.toml deleted file mode 100644 index 7c414110c..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 registers -s" - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.stderr b/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.stderr deleted file mode 100644 index 58547ae12..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: stack unwind failed: no unwind info for address diff --git a/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.stdout b/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.stdout deleted file mode 100644 index 7f254be69..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x40005818 <- [i2c2]+0x18 - R1 = 0x00000040 - R2 = 0x00000302 - R3 = 0x891107ff - R4 = 0x40013000 - R5 = 0x580244f0 <- [rcc]+0xf0 - R6 = 0x24002a70 - R7 = 0x40003800 <- [spi2]+0x0 - R8 = 0x40003c00 <- [spi2]+0x400 - R9 = 0x40013400 <- [spi4]+0x0 - R10 = 0x40004400 - R11 = 0x40004800 - R12 = 0x0000000f - SP = 0x24003ab8 - LR = 0x1ff0a613 <- [system_flash]+0xa613 - PC = 0x1ff0a680 <- [system_flash]+0xa680 - PSR = 0x01000000 <- 0000_0001_0000_0000_0000_0000_0000_0000 - |||| | || | | | - |||| | || | | + Exception = 0x0 - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 0 - +-------------------------------------- N = 0 - - MSP = 0x24003ab8 - PSP = 0x00000000 - SPR = 0x00000000 <- 0000_0000_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 0 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 0 - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.toml b/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.toml deleted file mode 100644 index a687cb6b4..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 registers -s" - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.stderr b/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.stdout b/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.stdout deleted file mode 100644 index 05881a629..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.stdout +++ /dev/null @@ -1,54 +0,0 @@ - R0 = 0x00000000 - R1 = 0x0000000a - R2 = 0x80000000 - R3 = 0x00000000 - R4 = 0x00000000 - R5 = 0x00000000 - R6 = 0x20000410 <- kernel: HUBRIS_TASK_TABLE_SPACE+0x0 - R7 = 0x200002a0 <- kernel: 0x20000000+0x2a0 - R8 = 0x20000318 <- kernel: 0x20000000+0x318 - R9 = 0x20000400 <- kernel: TASK_TABLE_IN_USE+0x0 - R10 = 0x00000002 - R11 = 0x00000000 - R12 = 0x20000244 <- kernel: 0x20000000+0x244 - SP = 0x20000278 <- kernel: 0x20000000+0x278 - | - +---> 0x200002a8 0x08003b7e rust_begin_unwind - 0x200002c0 0x080004b0 core::panicking::panic_fmt - 0x200002e8 0x08000a30 core::panicking::panic - 0x200002f0 0x08001516 kern::task::Task::set_healthy_state - 0x20000398 0x080020dc ::eq - 0x20000398 0x080020dc kern::task::NextTask::combine - 0x20000398 0x080020dc kern::syscalls::send - 0x20000398 0x080020dc kern::syscalls::safe_syscall_entry - 0x20000398 0x080020dc kern::syscalls::syscall_entry::{{closure}} - 0x20000398 0x080020dc kern::startup::with_task_table - 0x20000398 0x080020dc syscall_entry - 0x20000398 0x08003326 SVCall - - LR = 0x08003a97 <- kernel: write_str+0xd - PC = 0x08003b7e <- kernel: panic+0x36 - PSR = 0x4100000b <- 0100_0001_0000_0000_0000_0000_0000_1011 - |||| | || | | | - |||| | || | | + Exception = 0xb - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x20000278 <- kernel: 0x20000000+0x278 - PSP = 0x200106a0 <- uartecho: 0x20010000+0x6a0 - SPR = 0x05000001 <- 0000_0101_0000_0000_0000_0000_0000_0001 - ||| | | | - ||| | | + PRIMASK = 1 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.toml b/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.toml deleted file mode 100644 index bb4623304..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 registers -s" - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.stderr b/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.stdout b/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.stdout deleted file mode 100644 index aef2cb286..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.stdout +++ /dev/null @@ -1,49 +0,0 @@ - R0 = 0x00000001 - R1 = 0x00000005 - R2 = 0x00000006 - R3 = 0x8000ffff - R4 = 0x200002b4 <- kernel: 0x20000000+0x2b4 - R5 = 0x00000001 - R6 = 0x00000005 - R7 = 0x200002a8 <- kernel: 0x20000000+0x2a8 - R8 = 0x0000000c - R9 = 0x00000000 - R10 = 0x20000410 <- kernel: HUBRIS_TASK_TABLE_SPACE+0x0 - R11 = 0x000000b0 - R12 = 0x20004758 <- net: 0x20004000+0x758 - SP = 0x200002a0 <- kernel: 0x20000000+0x2a0 - | - +---> 0x200002b0 0x08001a6a as core::iter::traits::iterator::Iterator>::next - 0x200002f0 0x0800187e kern::task::priority_scan - 0x200002f0 0x0800187e kern::task::select - 0x20000398 0x080026e0 kern::syscalls::syscall_entry::{{closure}} - 0x20000398 0x080026e0 kern::startup::with_task_table - 0x20000398 0x080026e0 syscall_entry - 0x20000398 0x08003328 SVCall - - LR = 0x08001a6b <- kernel: next, core::ops::range::Range>+0x2b - PC = 0x08001a6a <- kernel: next, core::ops::range::Range>+0x2a - PSR = 0x8100000b <- 1000_0001_0000_0000_0000_0000_0000_1011 - |||| | || | | | - |||| | || | | + Exception = 0xb - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 0 - +-------------------------------------- N = 1 - - MSP = 0x200002a0 <- kernel: 0x20000000+0x2a0 - PSP = 0x20004758 <- net: 0x20004000+0x758 - SPR = 0x05000000 <- 0000_0101_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.toml b/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.toml deleted file mode 100644 index c7ee62c1e..000000000 --- a/humility-bin/tests/cmd/registers-s/registers-s.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 registers -s" - diff --git a/humility-bin/tests/cmd/registers/registers.chilly.0.stderr b/humility-bin/tests/cmd/registers/registers.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers/registers.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers/registers.chilly.0.stdout b/humility-bin/tests/cmd/registers/registers.chilly.0.stdout deleted file mode 100644 index 8ff6c92d4..000000000 --- a/humility-bin/tests/cmd/registers/registers.chilly.0.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x2001a500 <- idle: 0x2001a400+0x100 - R1 = 0x2001a500 <- idle: 0x2001a400+0x100 - R2 = 0x00000000 - R3 = 0x00000000 - R4 = 0x00000000 - R5 = 0x00000000 - R6 = 0x00000000 - R7 = 0x2001a4f8 <- idle: 0x2001a400+0xf8 - R8 = 0x00000000 - R9 = 0x00000000 - R10 = 0x00000000 - R11 = 0x00000000 - R12 = 0x00000000 - SP = 0x2001a4f8 <- idle: 0x2001a400+0xf8 - LR = 0x0806a84f <- idle: _start+0x4f - PC = 0x0806a856 <- idle: main+0x6 - PSR = 0x61000000 <- 0110_0001_0000_0000_0000_0000_0000_0000 - |||| | || | | | - |||| | || | | + Exception = 0x0 - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 1 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x200003a8 <- kernel: 0x20000000+0x3a8 - PSP = 0x2001a4f8 <- idle: 0x2001a400+0xf8 - SPR = 0x07000000 <- 0000_0111_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 1 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers/registers.chilly.0.toml b/humility-bin/tests/cmd/registers/registers.chilly.0.toml deleted file mode 100644 index 50d196f2c..000000000 --- a/humility-bin/tests/cmd/registers/registers.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 registers" - diff --git a/humility-bin/tests/cmd/registers/registers.kernel-panic.0.stderr b/humility-bin/tests/cmd/registers/registers.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers/registers.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers/registers.kernel-panic.0.stdout b/humility-bin/tests/cmd/registers/registers.kernel-panic.0.stdout deleted file mode 100644 index db6bcbf3a..000000000 --- a/humility-bin/tests/cmd/registers/registers.kernel-panic.0.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x00000000 - R1 = 0x0000000a - R2 = 0x80000000 - R3 = 0x00000000 - R4 = 0x00000000 - R5 = 0x0000f406 - R6 = 0x00002711 - R7 = 0x20000310 <- kernel: 0x20000000+0x310 - R8 = 0x00000000 - R9 = 0x00000000 - R10 = 0x20000f68 <- kernel: DEVICE_PERIPHERALS+0x0 - R11 = 0x00000001 - R12 = 0x200002b4 <- kernel: 0x20000000+0x2b4 - SP = 0x200002e8 <- kernel: 0x20000000+0x2e8 - LR = 0x0800414f <- kernel: write_str+0xd - PC = 0x08004236 <- kernel: panic+0x36 - PSR = 0x4100000f <- 0100_0001_0000_0000_0000_0000_0000_1111 - |||| | || | | | - |||| | || | | + Exception = 0xf - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x200002e8 <- kernel: 0x20000000+0x2e8 - PSP = 0x20011ab0 <- pong: 0x20011800+0x2b0 - SPR = 0x01000001 <- 0000_0001_0000_0000_0000_0000_0000_0001 - ||| | | | - ||| | | + PRIMASK = 1 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 0 - diff --git a/humility-bin/tests/cmd/registers/registers.kernel-panic.0.toml b/humility-bin/tests/cmd/registers/registers.kernel-panic.0.toml deleted file mode 100644 index 5e6e287f1..000000000 --- a/humility-bin/tests/cmd/registers/registers.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 registers" - diff --git a/humility-bin/tests/cmd/registers/registers.kernel-panic.1.stderr b/humility-bin/tests/cmd/registers/registers.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers/registers.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers/registers.kernel-panic.1.stdout b/humility-bin/tests/cmd/registers/registers.kernel-panic.1.stdout deleted file mode 100644 index 4da59454b..000000000 --- a/humility-bin/tests/cmd/registers/registers.kernel-panic.1.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x00000000 - R1 = 0x24000441 <- kernel: KERNEL_EPITAPH+0x38 - R2 = 0x24000441 <- kernel: KERNEL_EPITAPH+0x38 - R3 = 0x24000441 <- kernel: KERNEL_EPITAPH+0x38 - R4 = 0x00000001 - R5 = 0x24000400 <- kernel: TASK_TABLE_IN_USE+0x0 - R6 = 0x24009528 <- net: 0x24008000+0x1528 - R7 = 0x240002b8 <- kernel: 0x24000000+0x2b8 - R8 = 0x00000000 - R9 = 0x00000000 - R10 = 0x24009548 <- net: 0x24008000+0x1548 - R11 = 0x00000008 - R12 = 0x24000438 <- kernel: KERNEL_EPITAPH+0x2f - SP = 0x24000288 <- kernel: 0x24000000+0x288 - LR = 0x08001795 <- kernel: write_str+0x35 - PC = 0x080019ac <- kernel: die_impl+0x44 - PSR = 0x6100000b <- 0110_0001_0000_0000_0000_0000_0000_1011 - |||| | || | | | - |||| | || | | + Exception = 0xb - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 1 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x24000288 <- kernel: 0x24000000+0x288 - PSP = 0x24008c60 <- net: 0x24008000+0xc60 - SPR = 0x05000000 <- 0000_0101_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers/registers.kernel-panic.1.toml b/humility-bin/tests/cmd/registers/registers.kernel-panic.1.toml deleted file mode 100644 index 9d659cee6..000000000 --- a/humility-bin/tests/cmd/registers/registers.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 registers" - diff --git a/humility-bin/tests/cmd/registers/registers.spoopy.0.stderr b/humility-bin/tests/cmd/registers/registers.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers/registers.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers/registers.spoopy.0.stdout b/humility-bin/tests/cmd/registers/registers.spoopy.0.stdout deleted file mode 100644 index 7f254be69..000000000 --- a/humility-bin/tests/cmd/registers/registers.spoopy.0.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x40005818 <- [i2c2]+0x18 - R1 = 0x00000040 - R2 = 0x00000302 - R3 = 0x891107ff - R4 = 0x40013000 - R5 = 0x580244f0 <- [rcc]+0xf0 - R6 = 0x24002a70 - R7 = 0x40003800 <- [spi2]+0x0 - R8 = 0x40003c00 <- [spi2]+0x400 - R9 = 0x40013400 <- [spi4]+0x0 - R10 = 0x40004400 - R11 = 0x40004800 - R12 = 0x0000000f - SP = 0x24003ab8 - LR = 0x1ff0a613 <- [system_flash]+0xa613 - PC = 0x1ff0a680 <- [system_flash]+0xa680 - PSR = 0x01000000 <- 0000_0001_0000_0000_0000_0000_0000_0000 - |||| | || | | | - |||| | || | | + Exception = 0x0 - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 0 - +-------------------------------------- N = 0 - - MSP = 0x24003ab8 - PSP = 0x00000000 - SPR = 0x00000000 <- 0000_0000_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 0 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 0 - diff --git a/humility-bin/tests/cmd/registers/registers.spoopy.0.toml b/humility-bin/tests/cmd/registers/registers.spoopy.0.toml deleted file mode 100644 index 89287b6a3..000000000 --- a/humility-bin/tests/cmd/registers/registers.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 registers" - diff --git a/humility-bin/tests/cmd/registers/registers.static-tasks.0.stderr b/humility-bin/tests/cmd/registers/registers.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers/registers.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers/registers.static-tasks.0.stdout b/humility-bin/tests/cmd/registers/registers.static-tasks.0.stdout deleted file mode 100644 index d4dedef0a..000000000 --- a/humility-bin/tests/cmd/registers/registers.static-tasks.0.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x00000000 - R1 = 0x0000000a - R2 = 0x80000000 - R3 = 0x00000000 - R4 = 0x00000000 - R5 = 0x00000000 - R6 = 0x20000410 <- kernel: HUBRIS_TASK_TABLE_SPACE+0x0 - R7 = 0x200002a0 <- kernel: 0x20000000+0x2a0 - R8 = 0x20000318 <- kernel: 0x20000000+0x318 - R9 = 0x20000400 <- kernel: TASK_TABLE_IN_USE+0x0 - R10 = 0x00000002 - R11 = 0x00000000 - R12 = 0x20000244 <- kernel: 0x20000000+0x244 - SP = 0x20000278 <- kernel: 0x20000000+0x278 - LR = 0x08003a97 <- kernel: write_str+0xd - PC = 0x08003b7e <- kernel: panic+0x36 - PSR = 0x4100000b <- 0100_0001_0000_0000_0000_0000_0000_1011 - |||| | || | | | - |||| | || | | + Exception = 0xb - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 1 - +-------------------------------------- N = 0 - - MSP = 0x20000278 <- kernel: 0x20000000+0x278 - PSP = 0x200106a0 <- uartecho: 0x20010000+0x6a0 - SPR = 0x05000001 <- 0000_0101_0000_0000_0000_0000_0000_0001 - ||| | | | - ||| | | + PRIMASK = 1 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers/registers.static-tasks.0.toml b/humility-bin/tests/cmd/registers/registers.static-tasks.0.toml deleted file mode 100644 index 1b0af197c..000000000 --- a/humility-bin/tests/cmd/registers/registers.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 registers" - diff --git a/humility-bin/tests/cmd/registers/registers.static-tasks.1.stderr b/humility-bin/tests/cmd/registers/registers.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/registers/registers.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/registers/registers.static-tasks.1.stdout b/humility-bin/tests/cmd/registers/registers.static-tasks.1.stdout deleted file mode 100644 index 9597dc428..000000000 --- a/humility-bin/tests/cmd/registers/registers.static-tasks.1.stdout +++ /dev/null @@ -1,40 +0,0 @@ - R0 = 0x00000001 - R1 = 0x00000005 - R2 = 0x00000006 - R3 = 0x8000ffff - R4 = 0x200002b4 <- kernel: 0x20000000+0x2b4 - R5 = 0x00000001 - R6 = 0x00000005 - R7 = 0x200002a8 <- kernel: 0x20000000+0x2a8 - R8 = 0x0000000c - R9 = 0x00000000 - R10 = 0x20000410 <- kernel: HUBRIS_TASK_TABLE_SPACE+0x0 - R11 = 0x000000b0 - R12 = 0x20004758 <- net: 0x20004000+0x758 - SP = 0x200002a0 <- kernel: 0x20000000+0x2a0 - LR = 0x08001a6b <- kernel: next, core::ops::range::Range>+0x2b - PC = 0x08001a6a <- kernel: next, core::ops::range::Range>+0x2a - PSR = 0x8100000b <- 1000_0001_0000_0000_0000_0000_0000_1011 - |||| | || | | | - |||| | || | | + Exception = 0xb - |||| | || | +------------ IC/IT = 0x0 - |||| | || +-------------------- GE = 0x0 - |||| | |+------------------------------ T = 1 - |||| | +------------------------------- IC/IT = 0x0 - |||| +--------------------------------- Q = 0 - |||+----------------------------------- V = 0 - ||+------------------------------------ C = 0 - |+------------------------------------- Z = 0 - +-------------------------------------- N = 1 - - MSP = 0x200002a0 <- kernel: 0x20000000+0x2a0 - PSP = 0x20004758 <- net: 0x20004000+0x758 - SPR = 0x05000000 <- 0000_0101_0000_0000_0000_0000_0000_0000 - ||| | | | - ||| | | + PRIMASK = 0 - ||| | +---------- BASEPRI = 0x0 - ||| +-------------------- FAULTMASK = 0 - ||+------------------------------ CONTROL.nPRIV = 1 - |+------------------------------- CONTROL.SPSEL = 0 - +-------------------------------- CONTROL.FPCA = 1 - diff --git a/humility-bin/tests/cmd/registers/registers.static-tasks.1.toml b/humility-bin/tests/cmd/registers/registers.static-tasks.1.toml deleted file mode 100644 index 24e5b9c1b..000000000 --- a/humility-bin/tests/cmd/registers/registers.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 registers" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.stdout b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.stdout deleted file mode 100644 index 5c009d2ed..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.stdout +++ /dev/null @@ -1,128 +0,0 @@ -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 94 1 1 Config(CommandData(0x3f3f)) - 1 147 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 2 165 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 3 193 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) - 4 94 1 1 Config(CommandData(0x3f3f)) - 5 147 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 6 165 1 1 Coefficients(Coefficients { m: 0x52e, b: 0x5000, R: 0xff }) - 7 193 1 1 Coefficients(Coefficients { m: 0x524e, b: 0x0, R: 0xfd }) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 29 511 13249 3 WriteWaitISR(0x8020) - 30 511 13249 1 WriteWaitISR(0x8061) - 31 392 13249 1 WaitISR(0x21) - 32 481 13249 1 WriteISR(0x21) - 33 481 13249 2 WriteISR(0x8021) - 34 481 13249 1 WriteISR(0x8023) - 35 511 13249 1 WriteWaitISR(0x8020) - 36 511 13249 2 WriteWaitISR(0x8021) - 37 511 13249 1 WriteWaitISR(0x8061) - 38 573 13249 2 ReadISR(0x8021) - 39 573 13249 1 ReadISR(0x8025) - 40 573 13249 2 ReadISR(0x8021) - 41 573 13249 1 ReadISR(0x8025) - 42 608 13249 3 ReadWaitISR(0x8021) - 43 608 13249 1 ReadWaitISR(0x8061) - 44 392 13249 1 WaitISR(0x21) - 45 481 13249 1 WriteISR(0x21) - 46 481 13249 2 WriteISR(0x8021) - 47 481 13249 1 WriteISR(0x8023) - 0 481 13250 1 WriteISR(0x8020) - 1 481 13250 1 WriteISR(0x8023) - 2 511 13250 3 WriteWaitISR(0x8020) - 3 511 13250 1 WriteWaitISR(0x8061) - 4 392 13250 1 WaitISR(0x21) - 5 481 13250 1 WriteISR(0x21) - 6 481 13250 2 WriteISR(0x8021) - 7 481 13250 1 WriteISR(0x8023) - 8 511 13250 1 WriteWaitISR(0x8020) - 9 511 13250 2 WriteWaitISR(0x8021) - 10 511 13250 1 WriteWaitISR(0x8061) - 11 573 13250 2 ReadISR(0x8021) - 12 573 13250 2 ReadISR(0x8025) - 13 608 13250 1 ReadWaitISR(0x8061) - 14 392 13250 1 WaitISR(0x21) - 15 481 13250 1 WriteISR(0x21) - 16 481 13250 2 WriteISR(0x8021) - 17 481 13250 1 WriteISR(0x8023) - 18 511 13250 1 WriteWaitISR(0x8020) - 19 511 13250 2 WriteWaitISR(0x8021) - 20 511 13250 1 WriteWaitISR(0x8061) - 21 573 13250 2 ReadISR(0x8021) - 22 573 13250 1 ReadISR(0x8025) - 23 573 13250 2 ReadISR(0x8021) - 24 573 13250 1 ReadISR(0x8025) - 25 608 13250 1 ReadWaitISR(0x1061) - 26 392 13250 1 WaitISR(0x1021) - 27 481 13250 1 WriteISR(0x21) - 28 481 13250 2 WriteISR(0x8021) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 33 794 3869 1 RxISR(0x368005) - 34 832 3869 1 RxNack(0x1b, 0xa0) - 35 794 3869 1 RxISR(0x368001) - 36 838 3869 1 WaitRx - 37 794 3869 1 RxISR(0x360021) - 38 846 3869 1 TxISR(0x360001) - 39 899 3869 1 WaitTx - 40 846 3869 1 TxISR(0x360001) - 41 899 3869 1 WaitTx - 42 846 3869 1 TxISR(0x360001) - 43 899 3869 1 WaitTx - 44 846 3869 1 TxISR(0x368009) - 45 756 3869 1 AddrISR(0x368009) - 46 764 3869 1 AddrMatch - 47 788 3869 1 AddrNack(0x1b) - 0 794 3870 1 RxISR(0x368001) - 1 838 3870 1 WaitRx - 2 794 3870 1 RxISR(0x368001) - 3 838 3870 1 WaitRx - 4 794 3870 1 RxISR(0x368001) - 5 838 3870 1 WaitRx - 6 794 3870 1 RxISR(0x368005) - 7 832 3870 1 RxNack(0x1b, 0x1) - 8 794 3870 1 RxISR(0x368001) - 9 838 3870 1 WaitRx - 10 794 3870 1 RxISR(0x368001) - 11 838 3870 1 WaitRx - 12 794 3870 1 RxISR(0x368001) - 13 838 3870 1 WaitRx - 14 794 3870 1 RxISR(0x368005) - 15 832 3870 1 RxNack(0x1b, 0x4) - 16 794 3870 1 RxISR(0x368001) - 17 838 3870 1 WaitRx - 18 794 3870 1 RxISR(0x368001) - 19 838 3870 1 WaitRx - 20 794 3870 1 RxISR(0x368001) - 21 838 3870 1 WaitRx - 22 794 3870 1 RxISR(0x368005) - 23 832 3870 1 RxNack(0x1b, 0x8) - 24 794 3870 1 RxISR(0x368001) - 25 838 3870 1 WaitRx - 26 794 3870 1 RxISR(0x360021) - 27 846 3870 1 TxISR(0x360001) - 28 899 3870 1 WaitTx - 29 846 3870 1 TxISR(0x360001) - 30 899 3870 1 WaitTx - 31 846 3870 1 TxISR(0x360001) - 32 899 3870 1 WaitTx -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 9 115 24 1 Some(BusLocked) - 10 115 24 40 Some(NoDevice) - 11 115 24 1 Some(BusLocked) - 12 115 24 25 Some(NoDevice) - 13 115 24 1 Some(BusLocked) - 14 115 24 55 Some(NoDevice) - 15 115 24 1 Some(BusLocked) - 0 115 25 165 Some(NoDevice) - 1 115 25 1 Some(BusLocked) - 2 115 25 85 Some(NoDevice) - 3 115 25 1 Some(BusLocked) - 4 115 25 250 Some(NoDevice) - 5 115 25 1 Some(BusLocked) - 6 115 25 40 Some(NoDevice) - 7 115 25 1 Some(BusLocked) - 8 115 25 115 Some(NoDevice) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.toml b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.toml deleted file mode 100644 index 0a3db8941..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 ringbuf i2c" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.control_plane_agent.overflow.0.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.control_plane_agent.overflow.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.extern-regions.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.extern-regions.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.extern-regions.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.extern-regions.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.inheritance.0.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.inheritance.0.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.inheritance.0.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.stdout b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.stdout deleted file mode 100644 index 07f71dc23..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.stdout +++ /dev/null @@ -1,2 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.toml b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.toml deleted file mode 100644 index 46e71db6b..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 ringbuf i2c" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.stdout b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.stdout deleted file mode 100644 index 4e0d22306..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.stdout +++ /dev/null @@ -1,68 +0,0 @@ -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 106 1 1 Config(CommandData(0x3f37)) - 1 116 1 1 WriteConfig(CommandData(0x3f3f)) - 2 159 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 3 177 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 4 205 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) - 5 106 1 1 Config(CommandData(0x3f37)) - 6 116 1 1 WriteConfig(CommandData(0x3f3f)) - 7 159 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 8 177 1 1 Coefficients(Coefficients { m: 0x52e, b: 0x5000, R: 0xff }) - 9 205 1 1 Coefficients(Coefficients { m: 0x524e, b: 0x0, R: 0xfd }) - 10 116 1 118 WriteConfig(CommandData(0x3f3f)) -humility: ring buffer drv_stm32xx_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 4 516 1381 1 WriteISR(0x21) - 5 516 1381 2 WriteISR(0x8021) - 6 516 1381 1 WriteISR(0x8023) - 7 516 1381 1 WriteISR(0x8020) - 8 516 1381 1 WriteISR(0x8023) - 9 516 1381 3 WriteISR(0x8020) - 10 516 1381 1 WriteISR(0x8023) - 11 546 1381 3 WriteWaitISR(0x8020) - 12 546 1381 1 WriteWaitISR(0x8061) - 13 426 1381 1 WaitISR(0x21) - 14 516 1381 1 WriteISR(0x21) - 15 516 1381 2 WriteISR(0x8021) - 16 516 1381 1 WriteISR(0x8023) - 17 546 1381 1 WriteWaitISR(0x8020) - 18 546 1381 2 WriteWaitISR(0x8021) - 19 546 1381 1 WriteWaitISR(0x8061) - 20 608 1381 2 ReadISR(0x8021) - 21 608 1381 1 ReadISR(0x8025) - 22 608 1381 2 ReadISR(0x8021) - 23 608 1381 1 ReadISR(0x8025) - 24 643 1381 1 ReadWaitISR(0x8021) - 25 643 1381 1 ReadWaitISR(0x8061) - 26 426 1381 1 WaitISR(0x21) - 27 516 1381 1 WriteISR(0x21) - 28 516 1381 2 WriteISR(0x8021) - 29 516 1381 1 WriteISR(0x8023) - 30 546 1381 1 WriteWaitISR(0x8020) - 31 546 1381 2 WriteWaitISR(0x8021) - 32 546 1381 1 WriteWaitISR(0x8061) - 33 608 1381 2 ReadISR(0x8021) - 34 608 1381 1 ReadISR(0x8025) - 35 608 1381 2 ReadISR(0x8021) - 36 608 1381 1 ReadISR(0x8025) - 37 643 1381 1 ReadWaitISR(0x8021) - 38 643 1381 1 ReadWaitISR(0x8061) - 39 426 1381 1 WaitISR(0x21) - 40 516 1381 1 WriteISR(0x21) - 41 516 1381 2 WriteISR(0x8021) - 42 516 1381 1 WriteISR(0x8023) - 43 546 1381 1 WriteWaitISR(0x8020) - 44 546 1381 2 WriteWaitISR(0x8021) - 45 546 1381 1 WriteWaitISR(0x8061) - 46 608 1381 2 ReadISR(0x8021) - 47 608 1381 1 ReadISR(0x8025) - 0 608 1382 2 ReadISR(0x8021) - 1 608 1382 1 ReadISR(0x8025) - 2 643 1382 1 ReadWaitISR(0x8021) - 3 643 1382 1 ReadWaitISR(0x8061) -humility: ring buffer drv_stm32xx_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 0 796 1 1 AddrISR(0x1) - 1 819 1 1 WaitAddr -humility: ring buffer drv_stm32xx_i2c_server::__RINGBUF in i2c_driver: diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.toml b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.toml deleted file mode 100644 index 5f45b45ad..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 ringbuf i2c" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-compiler.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-compiler.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-compiler.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-compiler.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-sensors.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-sensors.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-sensors.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.new-sensors.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.stdout b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.stdout deleted file mode 100644 index b74d24483..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.stdout +++ /dev/null @@ -1,111 +0,0 @@ -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 91 1 1 Config(CommandData(0x3f3f)) - 1 138 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 2 156 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 3 184 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 9 359 7779 1 WaitISR(0x21) - 10 445 7779 1 WriteISR(0x21) - 11 445 7779 2 WriteISR(0x8021) - 12 445 7779 1 WriteISR(0x8023) - 13 483 7779 1 WriteWaitISR(0x8020) - 14 483 7779 2 WriteWaitISR(0x8021) - 15 483 7779 1 WriteWaitISR(0x8061) - 16 553 7779 2 ReadISR(0x8021) - 17 553 7779 1 ReadISR(0x8025) - 18 553 7779 2 ReadISR(0x8021) - 19 553 7779 1 ReadISR(0x8025) - 20 596 7779 2 ReadWaitISR(0x8021) - 21 596 7779 1 ReadWaitISR(0x8061) - 22 359 7779 1 WaitISR(0x21) - 23 445 7779 1 WriteISR(0x21) - 24 445 7779 2 WriteISR(0x8021) - 25 445 7779 1 WriteISR(0x8023) - 26 483 7779 1 WriteWaitISR(0x8020) - 27 483 7779 2 WriteWaitISR(0x8021) - 28 483 7779 1 WriteWaitISR(0x8061) - 29 553 7779 2 ReadISR(0x8021) - 30 553 7779 1 ReadISR(0x8025) - 31 553 7779 2 ReadISR(0x8021) - 32 553 7779 1 ReadISR(0x8025) - 33 596 7779 2 ReadWaitISR(0x8021) - 34 596 7779 1 ReadWaitISR(0x8061) - 35 359 7779 1 WaitISR(0x21) - 36 445 7779 1 WriteISR(0x21) - 37 445 7779 2 WriteISR(0x8021) - 38 445 7779 1 WriteISR(0x8023) - 39 483 7779 1 WriteWaitISR(0x8020) - 40 483 7779 2 WriteWaitISR(0x8021) - 41 483 7779 1 WriteWaitISR(0x8061) - 42 553 7779 2 ReadISR(0x8021) - 43 553 7779 1 ReadISR(0x8025) - 44 596 7779 2 ReadWaitISR(0x8021) - 45 596 7779 1 ReadWaitISR(0x8061) - 46 359 7779 1 WaitISR(0x21) - 47 445 7779 1 WriteISR(0x21) - 0 445 7780 2 WriteISR(0x8021) - 1 445 7780 1 WriteISR(0x8023) - 2 483 7780 1 WriteWaitISR(0x8020) - 3 483 7780 2 WriteWaitISR(0x8021) - 4 483 7780 1 WriteWaitISR(0x8061) - 5 553 7780 2 ReadISR(0x8021) - 6 553 7780 1 ReadISR(0x8025) - 7 596 7780 2 ReadWaitISR(0x8021) - 8 596 7780 1 ReadWaitISR(0x8061) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 19 798 1003 1 RxISR(0x328005) - 20 836 1003 1 RxNack(0x19, 0xa0) - 21 798 1003 1 RxISR(0x328001) - 22 842 1003 1 WaitRx - 23 798 1003 1 RxISR(0x320021) - 24 850 1003 1 TxISR(0x320001) - 25 903 1003 1 WaitTx - 26 850 1003 1 TxISR(0x320001) - 27 903 1003 1 WaitTx - 28 850 1003 1 TxISR(0x320001) - 29 903 1003 1 WaitTx - 30 850 1003 1 TxISR(0x328009) - 31 760 1003 1 AddrISR(0x328009) - 32 768 1003 1 AddrMatch - 33 792 1003 1 AddrNack(0x19) - 34 798 1003 1 RxISR(0x328001) - 35 842 1003 1 WaitRx - 36 798 1003 1 RxISR(0x328001) - 37 842 1003 1 WaitRx - 38 798 1003 1 RxISR(0x328001) - 39 842 1003 1 WaitRx - 40 798 1003 1 RxISR(0x328005) - 41 836 1003 1 RxNack(0x19, 0x1) - 42 798 1003 1 RxISR(0x328001) - 43 842 1003 1 WaitRx - 44 798 1003 1 RxISR(0x328001) - 45 842 1003 1 WaitRx - 46 798 1003 1 RxISR(0x328001) - 47 842 1003 1 WaitRx - 0 798 1004 1 RxISR(0x328005) - 1 836 1004 1 RxNack(0x19, 0x4) - 2 798 1004 1 RxISR(0x328001) - 3 842 1004 1 WaitRx - 4 798 1004 1 RxISR(0x328001) - 5 842 1004 1 WaitRx - 6 798 1004 1 RxISR(0x328001) - 7 842 1004 1 WaitRx - 8 798 1004 1 RxISR(0x328005) - 9 836 1004 1 RxNack(0x19, 0x8) - 10 798 1004 1 RxISR(0x328001) - 11 842 1004 1 WaitRx - 12 798 1004 1 RxISR(0x320021) - 13 850 1004 1 TxISR(0x320001) - 14 903 1004 1 WaitTx - 15 850 1004 1 TxISR(0x320001) - 16 903 1004 1 WaitTx - 17 850 1004 1 TxISR(0x320001) - 18 903 1004 1 WaitTx -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 0 115 1 56 Some(NoDevice) - 1 115 1 1 Some(BusLocked) - 2 115 1 1266 Some(NoDevice) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.toml b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.toml deleted file mode 100644 index 56839e39e..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 ringbuf i2c" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.stdout b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.stdout deleted file mode 100644 index 07f71dc23..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.stdout +++ /dev/null @@ -1,2 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.toml b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.toml deleted file mode 100644 index dbca600df..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 ringbuf i2c" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.stdout b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.stdout deleted file mode 100644 index 07f71dc23..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.stdout +++ /dev/null @@ -1,2 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.toml b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.toml deleted file mode 100644 index 87015bbaf..000000000 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 ringbuf i2c" - diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.task.net.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.task.net.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.task.net.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.task.net.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.u16-ringbuf.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.u16-ringbuf.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.u16-ringbuf.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.v6.stderr b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.v6.stderr index 485a36d98..c36f88274 100644 --- a/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.v6.stderr +++ b/humility-bin/tests/cmd/ringbuf-arg/ringbuf-arg.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility ringbuf failed: no ring buffer name contains "i2c" (-l to list) diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.stderr b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.stdout b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.stdout deleted file mode 100644 index 6d1bf774a..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.stdout +++ /dev/null @@ -1,409 +0,0 @@ -humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq: - NDX LINE GEN COUNT PAYLOAD - 1 316 20 1 GetState(TaskId(0x7)) - 2 316 20 1 GetState(TaskId(0x8)) - 3 316 20 1 GetState(TaskId(0x7)) - 4 316 20 1 GetState(TaskId(0x8)) - 5 316 20 1 GetState(TaskId(0x7)) - 6 316 20 1 GetState(TaskId(0x8)) - 7 316 20 1 GetState(TaskId(0x7)) - 8 316 20 1 GetState(TaskId(0x8)) - 9 316 20 1 GetState(TaskId(0x7)) - 10 316 20 1 GetState(TaskId(0x8)) - 11 316 20 1 GetState(TaskId(0x7)) - 12 316 20 1 GetState(TaskId(0x8)) - 13 316 20 1 GetState(TaskId(0x7)) - 14 316 20 1 GetState(TaskId(0x8)) - 15 316 20 1 GetState(TaskId(0x7)) - 16 316 20 1 GetState(TaskId(0x8)) - 17 316 20 1 GetState(TaskId(0x7)) - 18 316 20 1 GetState(TaskId(0x8)) - 19 316 20 1 GetState(TaskId(0x7)) - 20 316 20 1 GetState(TaskId(0x8)) - 21 316 20 1 GetState(TaskId(0x7)) - 22 316 20 1 GetState(TaskId(0x8)) - 23 316 20 1 GetState(TaskId(0x7)) - 24 316 20 1 GetState(TaskId(0x8)) - 25 316 20 2 GetState(TaskId(0x7)) - 26 316 20 1 GetState(TaskId(0x8)) - 27 316 20 1 GetState(TaskId(0x7)) - 28 316 20 1 GetState(TaskId(0x8)) - 29 316 20 1 GetState(TaskId(0x7)) - 30 316 20 1 GetState(TaskId(0x8)) - 31 316 20 1 GetState(TaskId(0x7)) - 32 316 20 1 GetState(TaskId(0x8)) - 33 316 20 1 GetState(TaskId(0x7)) - 34 316 20 1 GetState(TaskId(0x8)) - 35 316 20 1 GetState(TaskId(0x7)) - 36 316 20 1 GetState(TaskId(0x8)) - 37 316 20 1 GetState(TaskId(0x7)) - 38 316 20 1 GetState(TaskId(0x8)) - 39 316 20 1 GetState(TaskId(0x7)) - 40 316 20 1 GetState(TaskId(0x8)) - 41 316 20 1 GetState(TaskId(0x7)) - 42 316 20 1 GetState(TaskId(0x8)) - 43 316 20 1 GetState(TaskId(0x7)) - 44 316 20 1 GetState(TaskId(0x8)) - 45 316 20 1 GetState(TaskId(0x7)) - 46 316 20 1 GetState(TaskId(0x8)) - 47 316 20 1 GetState(TaskId(0x7)) - 48 316 20 1 GetState(TaskId(0x8)) - 49 316 20 1 GetState(TaskId(0x7)) - 50 316 20 1 GetState(TaskId(0x8)) - 51 316 20 1 GetState(TaskId(0x7)) - 52 316 20 1 GetState(TaskId(0x8)) - 53 316 20 1 GetState(TaskId(0x7)) - 54 316 20 1 GetState(TaskId(0x8)) - 55 316 20 1 GetState(TaskId(0x7)) - 56 316 20 1 GetState(TaskId(0x8)) - 57 316 20 1 GetState(TaskId(0x7)) - 58 316 20 1 GetState(TaskId(0x8)) - 59 316 20 1 GetState(TaskId(0x7)) - 60 316 20 1 GetState(TaskId(0x8)) - 61 316 20 1 GetState(TaskId(0x7)) - 62 316 20 1 GetState(TaskId(0x8)) - 63 316 20 1 GetState(TaskId(0x7)) - 0 316 21 1 GetState(TaskId(0x8)) -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 94 1 1 Config(CommandData(0x3f3f)) - 1 147 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 2 165 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 3 193 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) - 4 94 1 1 Config(CommandData(0x3f3f)) - 5 147 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 6 165 1 1 Coefficients(Coefficients { m: 0x52e, b: 0x5000, R: 0xff }) - 7 193 1 1 Coefficients(Coefficients { m: 0x524e, b: 0x0, R: 0xfd }) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 29 511 13249 3 WriteWaitISR(0x8020) - 30 511 13249 1 WriteWaitISR(0x8061) - 31 392 13249 1 WaitISR(0x21) - 32 481 13249 1 WriteISR(0x21) - 33 481 13249 2 WriteISR(0x8021) - 34 481 13249 1 WriteISR(0x8023) - 35 511 13249 1 WriteWaitISR(0x8020) - 36 511 13249 2 WriteWaitISR(0x8021) - 37 511 13249 1 WriteWaitISR(0x8061) - 38 573 13249 2 ReadISR(0x8021) - 39 573 13249 1 ReadISR(0x8025) - 40 573 13249 2 ReadISR(0x8021) - 41 573 13249 1 ReadISR(0x8025) - 42 608 13249 3 ReadWaitISR(0x8021) - 43 608 13249 1 ReadWaitISR(0x8061) - 44 392 13249 1 WaitISR(0x21) - 45 481 13249 1 WriteISR(0x21) - 46 481 13249 2 WriteISR(0x8021) - 47 481 13249 1 WriteISR(0x8023) - 0 481 13250 1 WriteISR(0x8020) - 1 481 13250 1 WriteISR(0x8023) - 2 511 13250 3 WriteWaitISR(0x8020) - 3 511 13250 1 WriteWaitISR(0x8061) - 4 392 13250 1 WaitISR(0x21) - 5 481 13250 1 WriteISR(0x21) - 6 481 13250 2 WriteISR(0x8021) - 7 481 13250 1 WriteISR(0x8023) - 8 511 13250 1 WriteWaitISR(0x8020) - 9 511 13250 2 WriteWaitISR(0x8021) - 10 511 13250 1 WriteWaitISR(0x8061) - 11 573 13250 2 ReadISR(0x8021) - 12 573 13250 2 ReadISR(0x8025) - 13 608 13250 1 ReadWaitISR(0x8061) - 14 392 13250 1 WaitISR(0x21) - 15 481 13250 1 WriteISR(0x21) - 16 481 13250 2 WriteISR(0x8021) - 17 481 13250 1 WriteISR(0x8023) - 18 511 13250 1 WriteWaitISR(0x8020) - 19 511 13250 2 WriteWaitISR(0x8021) - 20 511 13250 1 WriteWaitISR(0x8061) - 21 573 13250 2 ReadISR(0x8021) - 22 573 13250 1 ReadISR(0x8025) - 23 573 13250 2 ReadISR(0x8021) - 24 573 13250 1 ReadISR(0x8025) - 25 608 13250 1 ReadWaitISR(0x1061) - 26 392 13250 1 WaitISR(0x1021) - 27 481 13250 1 WriteISR(0x21) - 28 481 13250 2 WriteISR(0x8021) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 33 794 3869 1 RxISR(0x368005) - 34 832 3869 1 RxNack(0x1b, 0xa0) - 35 794 3869 1 RxISR(0x368001) - 36 838 3869 1 WaitRx - 37 794 3869 1 RxISR(0x360021) - 38 846 3869 1 TxISR(0x360001) - 39 899 3869 1 WaitTx - 40 846 3869 1 TxISR(0x360001) - 41 899 3869 1 WaitTx - 42 846 3869 1 TxISR(0x360001) - 43 899 3869 1 WaitTx - 44 846 3869 1 TxISR(0x368009) - 45 756 3869 1 AddrISR(0x368009) - 46 764 3869 1 AddrMatch - 47 788 3869 1 AddrNack(0x1b) - 0 794 3870 1 RxISR(0x368001) - 1 838 3870 1 WaitRx - 2 794 3870 1 RxISR(0x368001) - 3 838 3870 1 WaitRx - 4 794 3870 1 RxISR(0x368001) - 5 838 3870 1 WaitRx - 6 794 3870 1 RxISR(0x368005) - 7 832 3870 1 RxNack(0x1b, 0x1) - 8 794 3870 1 RxISR(0x368001) - 9 838 3870 1 WaitRx - 10 794 3870 1 RxISR(0x368001) - 11 838 3870 1 WaitRx - 12 794 3870 1 RxISR(0x368001) - 13 838 3870 1 WaitRx - 14 794 3870 1 RxISR(0x368005) - 15 832 3870 1 RxNack(0x1b, 0x4) - 16 794 3870 1 RxISR(0x368001) - 17 838 3870 1 WaitRx - 18 794 3870 1 RxISR(0x368001) - 19 838 3870 1 WaitRx - 20 794 3870 1 RxISR(0x368001) - 21 838 3870 1 WaitRx - 22 794 3870 1 RxISR(0x368005) - 23 832 3870 1 RxNack(0x1b, 0x8) - 24 794 3870 1 RxISR(0x368001) - 25 838 3870 1 WaitRx - 26 794 3870 1 RxISR(0x360021) - 27 846 3870 1 TxISR(0x360001) - 28 899 3870 1 WaitTx - 29 846 3870 1 TxISR(0x360001) - 30 899 3870 1 WaitTx - 31 846 3870 1 TxISR(0x360001) - 32 899 3870 1 WaitTx -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 9 115 24 1 Some(BusLocked) - 10 115 24 40 Some(NoDevice) - 11 115 24 1 Some(BusLocked) - 12 115 24 25 Some(NoDevice) - 13 115 24 1 Some(BusLocked) - 14 115 24 55 Some(NoDevice) - 15 115 24 1 Some(BusLocked) - 0 115 25 165 Some(NoDevice) - 1 115 25 1 Some(BusLocked) - 2 115 25 85 Some(NoDevice) - 3 115 25 1 Some(BusLocked) - 4 115 25 250 Some(NoDevice) - 5 115 25 1 Some(BusLocked) - 6 115 25 40 Some(NoDevice) - 7 115 25 1 Some(BusLocked) - 8 115 25 115 Some(NoDevice) -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi4_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi2_driver: - NDX LINE GEN COUNT PAYLOAD - 16 443 8890 1 Rx(0x20) - 17 473 8890 1 WaitISR(0x10012) - 18 443 8890 1 Rx(0x31) - 19 291 8890 1 Start(exchange, (0x2, 0x4)) - 20 409 8890 1 Tx(0x2) - 21 409 8890 1 Tx(0xf0) - 22 409 8890 2 Tx(0x0) - 23 473 8890 2 WaitISR(0x40012) - 24 443 8890 1 Rx(0x0) - 25 473 8890 1 WaitISR(0x30012) - 26 443 8890 1 Rx(0x0) - 27 473 8890 1 WaitISR(0x20012) - 28 443 8890 1 Rx(0x0) - 29 473 8890 1 WaitISR(0x10012) - 30 443 8890 1 Rx(0x40) - 31 291 8890 1 Start(exchange, (0x2, 0x4)) - 32 409 8890 1 Tx(0x2) - 33 409 8890 1 Tx(0xcc) - 34 409 8890 2 Tx(0x0) - 35 473 8890 2 WaitISR(0x40012) - 36 443 8890 1 Rx(0x0) - 37 473 8890 1 WaitISR(0x30012) - 38 443 8890 1 Rx(0x0) - 39 473 8890 1 WaitISR(0x20012) - 40 443 8890 1 Rx(0x0) - 41 473 8890 1 WaitISR(0x10012) - 42 443 8890 1 Rx(0x0) - 43 291 8890 1 Start(write, (0x4, 0x0)) - 44 409 8890 1 Tx(0x83) - 45 409 8890 1 Tx(0xc) - 46 409 8890 1 Tx(0x34) - 47 409 8890 1 Tx(0x1c) - 48 473 8890 2 WaitISR(0x40012) - 49 443 8890 1 Rx(0x0) - 50 473 8890 1 WaitISR(0x30012) - 51 443 8890 1 Rx(0x0) - 52 473 8890 1 WaitISR(0x20012) - 53 443 8890 1 Rx(0x0) - 54 473 8890 1 WaitISR(0x10012) - 55 443 8890 1 Rx(0x0) - 56 291 8890 1 Start(exchange, (0x2, 0x4)) - 57 409 8890 1 Tx(0x2) - 58 409 8890 1 Tx(0xf0) - 59 409 8890 2 Tx(0x0) - 60 473 8890 2 WaitISR(0x40012) - 61 443 8890 1 Rx(0x0) - 62 473 8890 1 WaitISR(0x30012) - 63 443 8890 1 Rx(0x0) - 0 473 8891 1 WaitISR(0x20012) - 1 443 8891 1 Rx(0x0) - 2 473 8891 1 WaitISR(0x10012) - 3 443 8891 1 Rx(0x40) - 4 291 8891 1 Start(exchange, (0x2, 0x4)) - 5 409 8891 1 Tx(0x2) - 6 409 8891 1 Tx(0xcc) - 7 409 8891 2 Tx(0x0) - 8 473 8891 2 WaitISR(0x40012) - 9 443 8891 1 Rx(0x0) - 10 473 8891 1 WaitISR(0x30012) - 11 443 8891 1 Rx(0x0) - 12 473 8891 1 WaitISR(0x20012) - 13 443 8891 1 Rx(0x0) - 14 473 8891 1 WaitISR(0x10012) - 15 443 8891 1 Rx(0x0) -humility: ring buffer ksz8463::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 134 1203 1 Read(IADR5, 0x4000) - 1 134 1203 1 Read(IADR4, 0x0) - 2 134 1203 1 Read(P1MBSR, 0x780c) - 3 148 1203 1 Write(IACR, 0x1c00) - 4 134 1203 1 Read(IADR5, 0x4000) - 5 134 1203 1 Read(IADR4, 0x0) - 6 148 1203 1 Write(IACR, 0x1c14) - 7 134 1203 1 Read(IADR5, 0x4000) - 8 134 1203 1 Read(IADR4, 0x0) - 9 134 1203 1 Read(P2MBSR, 0x780c) - 10 148 1203 1 Write(IACR, 0x1c20) - 11 134 1203 1 Read(IADR5, 0x4000) - 12 134 1203 1 Read(IADR4, 0x0) - 13 148 1203 1 Write(IACR, 0x1c34) - 14 134 1203 1 Read(IADR5, 0x4000) - 15 134 1203 1 Read(IADR4, 0x0) -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: - NDX LINE GEN COUNT PAYLOAD - 23 605 4442 1 Execute((0x3f8, Call(TargetFunction(0x1)))) - 24 605 4442 1 Execute((0x3fa, DropN(0x8))) - 25 605 4442 1 Execute((0x3fc, Push(0xc))) - 26 605 4442 1 Execute((0x3fe, Push(0x1))) - 27 605 4442 1 Execute((0x400, Push(0x22))) - 28 605 4442 1 Execute((0x402, Push(0x0))) - 29 605 4442 1 Execute((0x404, Push(0x0))) - 30 605 4442 1 Execute((0x406, Push(0x0))) - 31 605 4442 1 Execute((0x408, Push(0x4))) - 32 605 4442 1 Execute((0x40a, Push(0x4))) - 33 605 4442 1 Execute((0x40c, Call(TargetFunction(0x1)))) - 34 605 4442 1 Execute((0x40e, DropN(0x8))) - 35 605 4442 1 Execute((0x410, Push(0xc))) - 36 605 4442 1 Execute((0x412, Push(0x1))) - 37 605 4442 1 Execute((0x414, Push(0x23))) - 38 605 4442 1 Execute((0x416, Push(0x0))) - 39 605 4442 1 Execute((0x418, Push(0x0))) - 40 605 4442 1 Execute((0x41a, Push(0x0))) - 41 605 4442 1 Execute((0x41c, Push(0x4))) - 42 605 4442 1 Execute((0x41e, Push(0x4))) - 43 605 4442 1 Execute((0x420, Call(TargetFunction(0x1)))) - 44 605 4442 1 Execute((0x422, DropN(0x8))) - 45 605 4442 1 Execute((0x424, Push(0xc))) - 46 605 4442 1 Execute((0x426, Push(0x1))) - 47 605 4442 1 Execute((0x428, Push(0x28))) - 48 605 4442 1 Execute((0x42a, Push(0x0))) - 49 605 4442 1 Execute((0x42c, Push(0x0))) - 50 605 4442 1 Execute((0x42e, Push(0x0))) - 51 605 4442 1 Execute((0x430, Push(0x4))) - 52 605 4442 1 Execute((0x432, Push(0x4))) - 53 605 4442 1 Execute((0x434, Call(TargetFunction(0x1)))) - 54 605 4442 1 Execute((0x436, DropN(0x8))) - 55 605 4442 1 Execute((0x438, Push(0xc))) - 56 605 4442 1 Execute((0x43a, Push(0x1))) - 57 605 4442 1 Execute((0x43c, Push(0x2b))) - 58 605 4442 1 Execute((0x43e, Push(0x0))) - 59 605 4442 1 Execute((0x440, Push(0x0))) - 60 605 4442 1 Execute((0x442, Push(0x0))) - 61 605 4442 1 Execute((0x444, Push(0x4))) - 62 605 4442 1 Execute((0x446, Push(0x4))) - 63 605 4442 1 Execute((0x448, Call(TargetFunction(0x1)))) - 0 605 4443 1 Execute((0x44a, DropN(0x8))) - 1 605 4443 1 Execute((0x44c, Push(0xc))) - 2 605 4443 1 Execute((0x44e, Push(0x1))) - 3 605 4443 1 Execute((0x450, Push(0x34))) - 4 605 4443 1 Execute((0x452, Push(0x0))) - 5 605 4443 1 Execute((0x454, Push(0x0))) - 6 605 4443 1 Execute((0x456, Push(0x0))) - 7 605 4443 1 Execute((0x458, Push(0x4))) - 8 605 4443 1 Execute((0x45a, Push(0x4))) - 9 605 4443 1 Execute((0x45c, Call(TargetFunction(0x1)))) - 10 605 4443 1 Execute((0x45e, DropN(0x8))) - 11 605 4443 1 Execute((0x460, Push(0xc))) - 12 605 4443 1 Execute((0x462, Push(0x1))) - 13 605 4443 1 Execute((0x464, Push(0x3b))) - 14 605 4443 1 Execute((0x466, Push(0x0))) - 15 605 4443 1 Execute((0x468, Push(0x0))) - 16 605 4443 1 Execute((0x46a, Push(0x0))) - 17 605 4443 1 Execute((0x46c, Push(0x4))) - 18 605 4443 1 Execute((0x46e, Push(0x4))) - 19 605 4443 1 Execute((0x470, Call(TargetFunction(0x1)))) - 20 605 4443 1 Execute((0x472, DropN(0x8))) - 21 605 4443 1 Execute((0x474, Done)) - 22 609 4443 1 Success -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::mgmt::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 253 1 1 Status(Status { ksz8463_100base_fx_link_up: [ false, true ], ksz8463_rx_bytes: [ Count(0x0), Count(0x0) ], ksz8463_tx_bytes: [ Count(0x0), Count(0x0) ], vsc85x2_100base_fx_link_up: [ false, true ], vsc85x2_sgmii_link_up: [ false, false ], vsc85x2_media_tx_good_count: [ Inactive, Inactive ], vsc85x2_mac_tx_good_count: [ Inactive, Inactive ], vsc85x2_media_rx_good_count: [ Value(0x0), Value(0x0) ], vsc85x2_mac_rx_good_count: [ Value(0x0), Value(0x0) ] }) - 1 253 1 1369 Status(Status { ksz8463_100base_fx_link_up: [ true, true ], ksz8463_rx_bytes: [ Count(0x0), Count(0x0) ], ksz8463_tx_bytes: [ Count(0x0), Count(0x0) ], vsc85x2_100base_fx_link_up: [ true, true ], vsc85x2_sgmii_link_up: [ false, false ], vsc85x2_media_tx_good_count: [ Inactive, Inactive ], vsc85x2_mac_tx_good_count: [ Inactive, Inactive ], vsc85x2_media_rx_good_count: [ Value(0x0), Value(0x0) ], vsc85x2_mac_rx_good_count: [ Value(0x0), Value(0x0) ] }) -humility: ring buffer task_spd::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 15 338 1567 1 MuxState(Idle, AwaitingSegment) - 0 316 1568 1 Rx(0x4a, 0x40) - 1 338 1568 1 MuxState(AwaitingSegment, Done) - 2 311 1568 4 Initiate(0x19, false) - 3 311 1568 1 Initiate(0x4a, true) - 4 316 1568 1 Rx(0x4a, 0x3) - 5 338 1568 1 MuxState(Idle, AwaitingSegment) - 6 316 1568 1 Rx(0x4a, 0x40) - 7 338 1568 1 MuxState(AwaitingSegment, Done) - 8 311 1568 4 Initiate(0x1a, false) - 9 311 1568 1 Initiate(0x4a, true) - 10 316 1568 1 Rx(0x4a, 0x3) - 11 338 1568 1 MuxState(Idle, AwaitingSegment) - 12 316 1568 1 Rx(0x4a, 0x40) - 13 338 1568 1 MuxState(AwaitingSegment, Done) - 14 311 1568 4 Initiate(0x1b, false) -humility: ring buffer task_thermal::__RINGBUF in thermal: - NDX LINE GEN COUNT PAYLOAD - 7 122 102 1 MiscReadFailed(0x5, NoDevice) - 8 122 102 1 MiscReadFailed(0x0, NoDevice) - 9 122 102 1 MiscReadFailed(0x1, NoDevice) - 10 122 102 1 MiscReadFailed(0x3, NoDevice) - 11 122 102 1 MiscReadFailed(0x4, NoDevice) - 12 122 102 1 MiscReadFailed(0x5, NoDevice) - 13 122 102 1 MiscReadFailed(0x0, NoDevice) - 14 122 102 1 MiscReadFailed(0x1, NoDevice) - 15 122 102 1 MiscReadFailed(0x3, NoDevice) - 16 122 102 1 MiscReadFailed(0x4, NoDevice) - 17 122 102 1 MiscReadFailed(0x5, NoDevice) - 18 122 102 1 MiscReadFailed(0x0, NoDevice) - 19 122 102 1 MiscReadFailed(0x1, NoDevice) - 20 122 102 1 MiscReadFailed(0x3, NoDevice) - 21 122 102 1 MiscReadFailed(0x4, NoDevice) - 22 122 102 1 MiscReadFailed(0x5, NoDevice) - 23 203 102 1 ControlPwm(0x0) - 24 122 102 1 MiscReadFailed(0x0, NoDevice) - 25 122 102 1 MiscReadFailed(0x1, NoDevice) - 26 122 102 1 MiscReadFailed(0x3, NoDevice) - 27 122 102 1 MiscReadFailed(0x4, NoDevice) - 28 122 102 1 MiscReadFailed(0x5, NoDevice) - 29 122 102 1 MiscReadFailed(0x0, NoDevice) - 30 122 102 1 MiscReadFailed(0x1, NoDevice) - 31 122 102 1 MiscReadFailed(0x3, NoDevice) - 0 122 103 1 MiscReadFailed(0x4, NoDevice) - 1 122 103 1 MiscReadFailed(0x5, NoDevice) - 2 122 103 1 MiscReadFailed(0x0, NoDevice) - 3 122 103 1 MiscReadFailed(0x1, NoDevice) - 4 122 103 1 MiscReadFailed(0x3, NoDevice) - 5 122 103 1 MiscReadFailed(0x4, NoDevice) - 6 122 103 1 MiscReadFailed(0x5, NoDevice) -humility: ring buffer task_validate::__RINGBUF in validate: -humility: ring buffer vsc85xx::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 22 1 1 Vsc8562Init(0x1e) - 1 22 1 1 ViperPatch(0x1e) - 2 123 1 1 GotCrc(0x2196) - 3 123 1 1 GotCrc(0xfb48) diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.toml b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.toml deleted file mode 100644 index b4ca589f1..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 ringbuf --full-totals" - diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.stderr b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.stdout b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.stdout deleted file mode 100644 index d28868187..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.stdout +++ /dev/null @@ -1,5 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi_driver: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: -humility: ring buffer task_jefe::external::__RINGBUF in jefe: diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.toml b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.toml deleted file mode 100644 index 6f2f3733f..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 ringbuf --full-totals" - diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.stderr b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.stdout b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.stdout deleted file mode 100644 index afe8ccfcc..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.stdout +++ /dev/null @@ -1,212 +0,0 @@ -humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq: - NDX LINE GEN COUNT PAYLOAD - 0 128 1 1 Ice40Rails(true, true) - 1 157 1 1 Ice40PowerGoodV1P2(true) - 2 178 1 1 Ice40PowerGoodV3P3(true) - 3 241 1 1 IdentValid(false) - 4 244 1 1 ChecksumValid(false) - 5 247 1 1 Reprogram(true) - 6 261 1 1 Programming - 7 290 1 1 Programmed - 8 293 1 1 RailsOff - 9 296 1 1 Ident(0xde01) - 10 302 1 1 A1Status(0x0) - 11 325 1 446 ClockConfigWrite - 12 333 1 1 ClockConfigSuccess - 13 334 1 1 A2 - 14 605 1 123 GetState -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 106 1 1 Config(CommandData(0x3f37)) - 1 116 1 1 WriteConfig(CommandData(0x3f3f)) - 2 159 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 3 177 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 4 205 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) - 5 106 1 1 Config(CommandData(0x3f37)) - 6 116 1 1 WriteConfig(CommandData(0x3f3f)) - 7 159 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 8 177 1 1 Coefficients(Coefficients { m: 0x52e, b: 0x5000, R: 0xff }) - 9 205 1 1 Coefficients(Coefficients { m: 0x524e, b: 0x0, R: 0xfd }) - 10 116 1 118 WriteConfig(CommandData(0x3f3f)) -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi4_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi2_driver: - NDX LINE GEN COUNT PAYLOAD - 61 438 5484 1 Rx(0x7) - 62 468 5484 1 WaitISR(0x10012) - 63 438 5484 1 Rx(0x6) - 0 286 5485 1 Start(exchange, (0x2, 0x4)) - 1 404 5485 1 Tx(0x9) - 2 404 5485 1 Tx(0xf0) - 3 404 5485 2 Tx(0x0) - 4 468 5485 2 WaitISR(0x40012) - 5 438 5485 1 Rx(0x0) - 6 468 5485 1 WaitISR(0x32017) - 7 438 5485 1 Rx(0x0) - 8 438 5485 1 Rx(0x7) - 9 468 5485 1 WaitISR(0x10012) - 10 438 5485 1 Rx(0x6) - 11 286 5485 1 Start(write, (0x4, 0x0)) - 12 404 5485 1 Tx(0x89) - 13 404 5485 1 Tx(0xf0) - 14 404 5485 1 Tx(0x7) - 15 404 5485 1 Tx(0x46) - 16 468 5485 2 WaitISR(0x40012) - 17 438 5485 1 Rx(0x0) - 18 468 5485 1 WaitISR(0x30012) - 19 438 5485 1 Rx(0x0) - 20 468 5485 1 WaitISR(0x20012) - 21 438 5485 1 Rx(0x7) - 22 468 5485 1 WaitISR(0x10012) - 23 438 5485 1 Rx(0x6) - 24 286 5485 1 Start(exchange, (0x2, 0x4)) - 25 404 5485 1 Tx(0x0) - 26 404 5485 1 Tx(0x4c) - 27 404 5485 2 Tx(0x0) - 28 468 5485 2 WaitISR(0x40012) - 29 438 5485 1 Rx(0x0) - 30 468 5485 1 WaitISR(0x32017) - 31 438 5485 1 Rx(0x0) - 32 438 5485 1 Rx(0xf0) - 33 468 5485 1 WaitISR(0x10012) - 34 438 5485 1 Rx(0x0) - 35 286 5485 1 Start(write, (0x4, 0x0)) - 36 404 5485 1 Tx(0x80) - 37 404 5485 1 Tx(0x4c) - 38 404 5485 1 Tx(0xf0) - 39 404 5485 1 Tx(0x80) - 40 468 5485 2 WaitISR(0x40012) - 41 438 5485 1 Rx(0x0) - 42 468 5485 1 WaitISR(0x30012) - 43 438 5485 1 Rx(0x0) - 44 468 5485 1 WaitISR(0x20012) - 45 438 5485 1 Rx(0xf0) - 46 468 5485 1 WaitISR(0x10012) - 47 438 5485 1 Rx(0x0) - 48 286 5485 1 Start(write, (0x4, 0x0)) - 49 404 5485 1 Tx(0x80) - 50 404 5485 1 Tx(0xc) - 51 404 5485 1 Tx(0x1) - 52 404 5485 1 Tx(0x0) - 53 468 5485 2 WaitISR(0x40012) - 54 438 5485 1 Rx(0x0) - 55 468 5485 1 WaitISR(0x30012) - 56 438 5485 1 Rx(0x0) - 57 468 5485 1 WaitISR(0x20012) - 58 438 5485 1 Rx(0xf0) - 59 468 5485 1 WaitISR(0x10012) - 60 438 5485 1 Rx(0x0) -humility: ring buffer drv_stm32h7_sprot_server::__RINGBUF in sprot: -humility: ring buffer drv_stm32xx_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 4 516 1381 1 WriteISR(0x21) - 5 516 1381 2 WriteISR(0x8021) - 6 516 1381 1 WriteISR(0x8023) - 7 516 1381 1 WriteISR(0x8020) - 8 516 1381 1 WriteISR(0x8023) - 9 516 1381 3 WriteISR(0x8020) - 10 516 1381 1 WriteISR(0x8023) - 11 546 1381 3 WriteWaitISR(0x8020) - 12 546 1381 1 WriteWaitISR(0x8061) - 13 426 1381 1 WaitISR(0x21) - 14 516 1381 1 WriteISR(0x21) - 15 516 1381 2 WriteISR(0x8021) - 16 516 1381 1 WriteISR(0x8023) - 17 546 1381 1 WriteWaitISR(0x8020) - 18 546 1381 2 WriteWaitISR(0x8021) - 19 546 1381 1 WriteWaitISR(0x8061) - 20 608 1381 2 ReadISR(0x8021) - 21 608 1381 1 ReadISR(0x8025) - 22 608 1381 2 ReadISR(0x8021) - 23 608 1381 1 ReadISR(0x8025) - 24 643 1381 1 ReadWaitISR(0x8021) - 25 643 1381 1 ReadWaitISR(0x8061) - 26 426 1381 1 WaitISR(0x21) - 27 516 1381 1 WriteISR(0x21) - 28 516 1381 2 WriteISR(0x8021) - 29 516 1381 1 WriteISR(0x8023) - 30 546 1381 1 WriteWaitISR(0x8020) - 31 546 1381 2 WriteWaitISR(0x8021) - 32 546 1381 1 WriteWaitISR(0x8061) - 33 608 1381 2 ReadISR(0x8021) - 34 608 1381 1 ReadISR(0x8025) - 35 608 1381 2 ReadISR(0x8021) - 36 608 1381 1 ReadISR(0x8025) - 37 643 1381 1 ReadWaitISR(0x8021) - 38 643 1381 1 ReadWaitISR(0x8061) - 39 426 1381 1 WaitISR(0x21) - 40 516 1381 1 WriteISR(0x21) - 41 516 1381 2 WriteISR(0x8021) - 42 516 1381 1 WriteISR(0x8023) - 43 546 1381 1 WriteWaitISR(0x8020) - 44 546 1381 2 WriteWaitISR(0x8021) - 45 546 1381 1 WriteWaitISR(0x8061) - 46 608 1381 2 ReadISR(0x8021) - 47 608 1381 1 ReadISR(0x8025) - 0 608 1382 2 ReadISR(0x8021) - 1 608 1382 1 ReadISR(0x8025) - 2 643 1382 1 ReadWaitISR(0x8021) - 3 643 1382 1 ReadWaitISR(0x8061) -humility: ring buffer drv_stm32xx_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 0 796 1 1 AddrISR(0x1) - 1 819 1 1 WaitAddr -humility: ring buffer drv_stm32xx_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer ksz8463::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 7 148 4 1 Write(IACR, 0x40f) - 8 148 4 1 Write(P1VIDCR, 0x301) - 9 148 4 1 Write(P2VIDCR, 0x302) - 10 148 4 1 Write(P3VIDCR, 0x3ff) - 11 134 4 1 Read(P1CR1, 0x0) - 12 148 4 1 Write(P1CR1, 0x202) - 13 134 4 1 Read(P2CR1, 0x0) - 14 148 4 1 Write(P2CR1, 0x202) - 15 134 4 1 Read(P3CR1, 0x0) - 0 148 5 1 Write(P3CR1, 0x4) - 1 148 5 1 Write(SGCR9, 0xa) - 2 134 5 1 Read(P3CR2, 0x607) - 3 148 5 1 Write(P3CR2, 0x4607) - 4 134 5 1 Read(SGCR2, 0xf0) - 5 148 5 1 Write(SGCR2, 0x80f0) - 6 148 5 1 Write(CIDER, 0x1) -humility: ring buffer stm32h7_update_server::__RINGBUF in update_server: -humility: ring buffer task_control_plane_agent::__RINGBUF in control_plane_agent: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: -humility: ring buffer task_host_sp_comms::__RINGBUF in host_sp_comms: - NDX LINE GEN COUNT PAYLOAD - 0 315 1 1 JefeNotification { now: 0x382, state: A2 } -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::mgmt::__RINGBUF in net: -humility: ring buffer task_spd::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 2 133 3 1 Present(0x1, 0x5, 0xd) - 3 144 3 1 ReadBottom(0xd) - 4 133 3 1 Present(0x1, 0x6, 0xe) - 5 144 3 1 ReadBottom(0xe) - 6 133 3 1 Present(0x1, 0x7, 0xf) - 7 144 3 1 ReadBottom(0xf) - 8 182 3 1 ReadTop(0x8) - 9 182 3 1 ReadTop(0x9) - 10 182 3 1 ReadTop(0xa) - 11 182 3 1 ReadTop(0xb) - 12 182 3 1 ReadTop(0xc) - 13 182 3 1 ReadTop(0xd) - 14 182 3 1 ReadTop(0xe) - 15 182 3 1 ReadTop(0xf) - 0 276 4 1 Found(0x10) - 1 286 4 1 Ready -humility: ring buffer task_thermal::__RINGBUF in thermal: - NDX LINE GEN COUNT PAYLOAD - 0 319 1 1 Start - 1 114 1 1 ThermalMode(Auto) - 2 527 1 1 AutoState(Boot) - 3 575 1 1 PowerModeChanged(PowerBitmask { bits: 0x1 }) - 4 527 1 1 AutoState(Boot) - 5 724 1 1 AutoState(Running) - 6 845 1 62 ControlPwm(0x0) -humility: ring buffer task_validate::__RINGBUF in validate: -humility: ring buffer vsc85xx::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 26 1 1 Vsc8562InitSgmii(0x1e) - 1 23 1 1 ViperPatch(0x1e) - 2 133 1 1 GotCrc(0xfb48) diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.toml b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.toml deleted file mode 100644 index a762d4346..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 ringbuf --full-totals" - diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.stderr b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.stdout b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.stdout deleted file mode 100644 index c06877780..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.stdout +++ /dev/null @@ -1,267 +0,0 @@ -humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq: - NDX LINE GEN COUNT PAYLOAD - 0 99 1 1 Ice40Rails(false, false) - 1 128 1 2 Ice40PowerGoodV1P2(false) - 2 128 1 1 Ice40PowerGoodV1P2(true) - 3 149 1 1 Ice40PowerGoodV3P3(true) - 4 210 1 1 Reprogram(true) - 5 224 1 1 Programming - 6 246 1 1 Programmed - 7 249 1 1 RailsOff - 8 252 1 1 Ident(0xde01) - 9 258 1 1 A1Status(0x0) - 10 281 1 446 ClockConfigWrite - 11 287 1 1 ClockConfigSuccess - 12 288 1 1 A2 - 13 311 1 10 GetState(TaskId(0x8)) - 14 320 1 1 SetState(A2, A0) - 15 343 1 2 A1Power(0x2, 0x0) - 16 343 1 194 A1Power(0x3, 0x0) - 17 343 1 7 A1Power(0x5, 0x0) - 18 343 1 639 A1Power(0x5, 0x2) - 19 343 1 2 A1Power(0x5, 0x4) - 20 343 1 3 A1Power(0x5, 0x6) - 21 343 1 1 A1Power(0x5, 0x7) - 22 356 1 1 RailsOn - 23 365 1 1 A0Power(0x7) - 24 365 1 1 A0Power(0x8) - 25 365 1 19 A0Power(0xa) - 26 365 1 6 A0Power(0xb) - 27 365 1 1 A0Power(0xc) - 28 378 1 1 UartEnabled - 29 311 1 422 GetState(TaskId(0x8)) -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 91 1 1 Config(CommandData(0x3f3f)) - 1 138 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 2 156 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 3 184 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 9 359 7779 1 WaitISR(0x21) - 10 445 7779 1 WriteISR(0x21) - 11 445 7779 2 WriteISR(0x8021) - 12 445 7779 1 WriteISR(0x8023) - 13 483 7779 1 WriteWaitISR(0x8020) - 14 483 7779 2 WriteWaitISR(0x8021) - 15 483 7779 1 WriteWaitISR(0x8061) - 16 553 7779 2 ReadISR(0x8021) - 17 553 7779 1 ReadISR(0x8025) - 18 553 7779 2 ReadISR(0x8021) - 19 553 7779 1 ReadISR(0x8025) - 20 596 7779 2 ReadWaitISR(0x8021) - 21 596 7779 1 ReadWaitISR(0x8061) - 22 359 7779 1 WaitISR(0x21) - 23 445 7779 1 WriteISR(0x21) - 24 445 7779 2 WriteISR(0x8021) - 25 445 7779 1 WriteISR(0x8023) - 26 483 7779 1 WriteWaitISR(0x8020) - 27 483 7779 2 WriteWaitISR(0x8021) - 28 483 7779 1 WriteWaitISR(0x8061) - 29 553 7779 2 ReadISR(0x8021) - 30 553 7779 1 ReadISR(0x8025) - 31 553 7779 2 ReadISR(0x8021) - 32 553 7779 1 ReadISR(0x8025) - 33 596 7779 2 ReadWaitISR(0x8021) - 34 596 7779 1 ReadWaitISR(0x8061) - 35 359 7779 1 WaitISR(0x21) - 36 445 7779 1 WriteISR(0x21) - 37 445 7779 2 WriteISR(0x8021) - 38 445 7779 1 WriteISR(0x8023) - 39 483 7779 1 WriteWaitISR(0x8020) - 40 483 7779 2 WriteWaitISR(0x8021) - 41 483 7779 1 WriteWaitISR(0x8061) - 42 553 7779 2 ReadISR(0x8021) - 43 553 7779 1 ReadISR(0x8025) - 44 596 7779 2 ReadWaitISR(0x8021) - 45 596 7779 1 ReadWaitISR(0x8061) - 46 359 7779 1 WaitISR(0x21) - 47 445 7779 1 WriteISR(0x21) - 0 445 7780 2 WriteISR(0x8021) - 1 445 7780 1 WriteISR(0x8023) - 2 483 7780 1 WriteWaitISR(0x8020) - 3 483 7780 2 WriteWaitISR(0x8021) - 4 483 7780 1 WriteWaitISR(0x8061) - 5 553 7780 2 ReadISR(0x8021) - 6 553 7780 1 ReadISR(0x8025) - 7 596 7780 2 ReadWaitISR(0x8021) - 8 596 7780 1 ReadWaitISR(0x8061) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 19 798 1003 1 RxISR(0x328005) - 20 836 1003 1 RxNack(0x19, 0xa0) - 21 798 1003 1 RxISR(0x328001) - 22 842 1003 1 WaitRx - 23 798 1003 1 RxISR(0x320021) - 24 850 1003 1 TxISR(0x320001) - 25 903 1003 1 WaitTx - 26 850 1003 1 TxISR(0x320001) - 27 903 1003 1 WaitTx - 28 850 1003 1 TxISR(0x320001) - 29 903 1003 1 WaitTx - 30 850 1003 1 TxISR(0x328009) - 31 760 1003 1 AddrISR(0x328009) - 32 768 1003 1 AddrMatch - 33 792 1003 1 AddrNack(0x19) - 34 798 1003 1 RxISR(0x328001) - 35 842 1003 1 WaitRx - 36 798 1003 1 RxISR(0x328001) - 37 842 1003 1 WaitRx - 38 798 1003 1 RxISR(0x328001) - 39 842 1003 1 WaitRx - 40 798 1003 1 RxISR(0x328005) - 41 836 1003 1 RxNack(0x19, 0x1) - 42 798 1003 1 RxISR(0x328001) - 43 842 1003 1 WaitRx - 44 798 1003 1 RxISR(0x328001) - 45 842 1003 1 WaitRx - 46 798 1003 1 RxISR(0x328001) - 47 842 1003 1 WaitRx - 0 798 1004 1 RxISR(0x328005) - 1 836 1004 1 RxNack(0x19, 0x4) - 2 798 1004 1 RxISR(0x328001) - 3 842 1004 1 WaitRx - 4 798 1004 1 RxISR(0x328001) - 5 842 1004 1 WaitRx - 6 798 1004 1 RxISR(0x328001) - 7 842 1004 1 WaitRx - 8 798 1004 1 RxISR(0x328005) - 9 836 1004 1 RxNack(0x19, 0x8) - 10 798 1004 1 RxISR(0x328001) - 11 842 1004 1 WaitRx - 12 798 1004 1 RxISR(0x320021) - 13 850 1004 1 TxISR(0x320001) - 14 903 1004 1 WaitTx - 15 850 1004 1 TxISR(0x320001) - 16 903 1004 1 WaitTx - 17 850 1004 1 TxISR(0x320001) - 18 903 1004 1 WaitTx -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 0 115 1 56 Some(NoDevice) - 1 115 1 1 Some(BusLocked) - 2 115 1 1266 Some(NoDevice) -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi4_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi2_driver: - NDX LINE GEN COUNT PAYLOAD - 10 443 8111 1 Rx(0x20) - 11 473 8111 1 WaitISR(0x10012) - 12 443 8111 1 Rx(0x31) - 13 291 8111 1 Start(exchange, (0x2, 0x4)) - 14 409 8111 1 Tx(0x2) - 15 409 8111 1 Tx(0xf0) - 16 409 8111 2 Tx(0x0) - 17 473 8111 2 WaitISR(0x40012) - 18 443 8111 1 Rx(0x0) - 19 473 8111 1 WaitISR(0x30012) - 20 443 8111 1 Rx(0x0) - 21 473 8111 1 WaitISR(0x20012) - 22 443 8111 1 Rx(0x0) - 23 473 8111 1 WaitISR(0x10012) - 24 443 8111 1 Rx(0x40) - 25 291 8111 1 Start(exchange, (0x2, 0x4)) - 26 409 8111 1 Tx(0x2) - 27 409 8111 1 Tx(0xcc) - 28 409 8111 2 Tx(0x0) - 29 473 8111 2 WaitISR(0x40012) - 30 443 8111 1 Rx(0x0) - 31 473 8111 1 WaitISR(0x30012) - 32 443 8111 1 Rx(0x0) - 33 473 8111 1 WaitISR(0x20012) - 34 443 8111 1 Rx(0x0) - 35 473 8111 1 WaitISR(0x10012) - 36 443 8111 1 Rx(0x0) - 37 291 8111 1 Start(write, (0x4, 0x0)) - 38 409 8111 1 Tx(0x83) - 39 409 8111 1 Tx(0xc) - 40 409 8111 1 Tx(0x34) - 41 409 8111 1 Tx(0x1c) - 42 473 8111 2 WaitISR(0x40012) - 43 443 8111 1 Rx(0x0) - 44 473 8111 1 WaitISR(0x30012) - 45 443 8111 1 Rx(0x0) - 46 473 8111 1 WaitISR(0x20012) - 47 443 8111 1 Rx(0x0) - 48 473 8111 1 WaitISR(0x10012) - 49 443 8111 1 Rx(0x0) - 50 291 8111 1 Start(exchange, (0x2, 0x4)) - 51 409 8111 1 Tx(0x2) - 52 409 8111 1 Tx(0xf0) - 53 409 8111 2 Tx(0x0) - 54 473 8111 2 WaitISR(0x40012) - 55 443 8111 1 Rx(0x0) - 56 473 8111 1 WaitISR(0x30012) - 57 443 8111 1 Rx(0x0) - 58 473 8111 1 WaitISR(0x20012) - 59 443 8111 1 Rx(0x0) - 60 473 8111 1 WaitISR(0x10012) - 61 443 8111 1 Rx(0x40) - 62 291 8111 1 Start(exchange, (0x2, 0x4)) - 63 409 8111 1 Tx(0x2) - 0 409 8112 1 Tx(0xcc) - 1 409 8112 2 Tx(0x0) - 2 473 8112 2 WaitISR(0x40012) - 3 443 8112 1 Rx(0x0) - 4 473 8112 1 WaitISR(0x30012) - 5 443 8112 1 Rx(0x0) - 6 473 8112 1 WaitISR(0x20012) - 7 443 8112 1 Rx(0x0) - 8 473 8112 1 WaitISR(0x10012) - 9 443 8112 1 Rx(0x0) -humility: ring buffer ksz8463::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 12 134 777 1 Read(IADR5, 0x4000) - 13 134 777 1 Read(IADR4, 0x0) - 14 134 777 1 Read(P1MBSR, 0x780c) - 15 148 777 1 Write(IACR, 0x1c00) - 0 134 778 1 Read(IADR5, 0x4000) - 1 134 778 1 Read(IADR4, 0x0) - 2 148 778 1 Write(IACR, 0x1c14) - 3 134 778 1 Read(IADR5, 0x4000) - 4 134 778 1 Read(IADR4, 0x0) - 5 134 778 1 Read(P2MBSR, 0x780c) - 6 148 778 1 Write(IACR, 0x1c20) - 7 134 778 1 Read(IADR5, 0x4000) - 8 134 778 1 Read(IADR4, 0x0) - 9 148 778 1 Write(IACR, 0x1c34) - 10 134 778 1 Read(IADR5, 0x4000) - 11 134 778 1 Read(IADR4, 0x0) -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: - NDX LINE GEN COUNT PAYLOAD - 0 605 1 1 Execute((0x0, Push(0xa))) - 1 605 1 1 Execute((0x2, Push(0x2))) - 2 605 1 1 Execute((0x4, Push(0x5))) - 3 605 1 1 Execute((0x6, Push(0x1))) - 4 605 1 1 Execute((0x8, Push(0x0))) - 5 605 1 1 Execute((0xa, Call(TargetFunction(0x1)))) - 6 605 1 1 Execute((0xc, DropN(0x5))) - 7 605 1 1 Execute((0xe, Done)) - 8 609 1 1 Success -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::mgmt::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 253 1 884 Status(Status { ksz8463_100base_fx_link_up: [ true, true ], ksz8463_rx_bytes: [ Count(0x0), Count(0x0) ], ksz8463_tx_bytes: [ Count(0x0), Count(0x0) ], vsc85x2_100base_fx_link_up: [ true, true ], vsc85x2_sgmii_link_up: [ false, false ], vsc85x2_media_tx_good_count: [ Inactive, Inactive ], vsc85x2_mac_tx_good_count: [ Inactive, Inactive ], vsc85x2_media_rx_good_count: [ Value(0x0), Value(0x0) ], vsc85x2_mac_rx_good_count: [ Value(0x0), Value(0x0) ] }) -humility: ring buffer task_spd::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 13 338 403 1 MuxState(Idle, AwaitingSegment) - 14 316 403 1 Rx(0x4a, 0x80) - 15 338 403 1 MuxState(AwaitingSegment, Done) - 0 311 404 4 Initiate(0x19, false) - 1 311 404 1 Initiate(0x4a, true) - 2 316 404 1 Rx(0x4a, 0x3) - 3 338 404 1 MuxState(Idle, AwaitingSegment) - 4 316 404 1 Rx(0x4a, 0x40) - 5 338 404 1 MuxState(AwaitingSegment, Done) - 6 311 404 4 Initiate(0x18, false) - 7 311 404 1 Initiate(0x4a, true) - 8 316 404 1 Rx(0x4a, 0x3) - 9 338 404 1 MuxState(Idle, AwaitingSegment) - 10 316 404 1 Rx(0x4a, 0x40) - 11 338 404 1 MuxState(AwaitingSegment, Done) - 12 311 404 4 Initiate(0x19, false) -humility: ring buffer vsc85xx::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 22 1 1 Vsc8562Init(0x1e) - 1 22 1 1 ViperPatch(0x1e) - 2 123 1 1 GotCrc(0x5d80) - 3 123 1 1 GotCrc(0xfb48) diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.toml b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.toml deleted file mode 100644 index 569d8c5a5..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 ringbuf --full-totals" - diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.stderr b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.stderr deleted file mode 100644 index 55a548029..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: ringbuf dump failed: loading value of type struct UnsafeCell> at address 0x0 diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.stdout b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.stdout deleted file mode 100644 index b7254e930..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.stdout +++ /dev/null @@ -1,75 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi_driver: -humility: ring buffer ksz8463::__RINGBUF in net: -humility: ring buffer stm32h7_update_server::__RINGBUF in update_server: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: - NDX LINE GEN COUNT PAYLOAD - 18 622 28592 1 Execute((0x5, Push32(0x100))) - 19 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 20 622 28592 1 Execute((0xc, Done)) - 21 626 28592 1 Success - 22 622 28592 1 Execute((0x0, Push32(0x20000))) - 23 622 28592 1 Execute((0x5, Push32(0x80))) - 24 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 25 622 28592 1 Execute((0xc, Done)) - 26 626 28592 1 Success - 27 622 28592 1 Execute((0x0, Push32(0x120000))) - 28 622 28592 1 Execute((0x5, Push32(0x80))) - 29 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 30 622 28592 1 Execute((0xc, Done)) - 31 626 28592 1 Success - 32 622 28592 1 Execute((0x0, Push32(0x120000))) - 33 622 28592 1 Execute((0x5, Push32(0x100))) - 34 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 35 622 28592 1 Execute((0xc, Done)) - 36 626 28592 1 Success - 37 622 28592 1 Execute((0x0, Push32(0x120000))) - 38 622 28592 1 Execute((0x5, Push32(0x80))) - 39 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 40 622 28592 1 Execute((0xc, Done)) - 41 626 28592 1 Success - 42 622 28592 1 Execute((0x0, Push32(0x120000))) - 43 622 28592 1 Execute((0x5, Push32(0x80))) - 44 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 45 622 28592 1 Execute((0xc, Done)) - 46 626 28592 1 Success - 47 622 28592 1 Execute((0x0, Push32(0x120000))) - 48 622 28592 1 Execute((0x5, Push32(0x80))) - 49 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 50 622 28592 1 Execute((0xc, Done)) - 51 626 28592 1 Success - 52 622 28592 1 Execute((0x0, Push32(0x120000))) - 53 622 28592 1 Execute((0x5, Push32(0x80))) - 54 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 55 622 28592 1 Execute((0xc, Done)) - 56 626 28592 1 Success - 57 622 28592 1 Execute((0x0, Push32(0x120000))) - 58 622 28592 1 Execute((0x5, Push32(0x80))) - 59 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 60 622 28592 1 Execute((0xc, Done)) - 61 626 28592 1 Success - 62 622 28592 1 Execute((0x0, Push32(0x120000))) - 63 622 28592 1 Execute((0x5, Push32(0x80))) - 0 622 28593 1 Execute((0xa, Call(TargetFunction(0x10)))) - 1 622 28593 1 Execute((0xc, Done)) - 2 626 28593 1 Success - 3 622 28593 1 Execute((0x0, Push32(0x120001))) - 4 622 28593 1 Execute((0x5, Push32(0x80))) - 5 622 28593 1 Execute((0xa, Call(TargetFunction(0x10)))) - 6 622 28593 1 Execute((0xc, Done)) - 7 626 28593 1 Success - 8 622 28593 1 Execute((0x0, Push32(0x120000))) - 9 622 28593 1 Execute((0x5, Push32(0x80))) - 10 622 28593 1 Execute((0xa, Call(TargetFunction(0x10)))) - 11 622 28593 1 Execute((0xc, Done)) - 12 626 28593 1 Success - 13 622 28593 1 Execute((0x0, Push32(0x120000))) - 14 622 28593 1 Execute((0x5, Push32(0x80))) - 15 622 28593 1 Execute((0xa, Call(TargetFunction(0x13)))) - 16 622 28593 1 Execute((0xc, Done)) - 17 626 28593 1 Success -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::bsp::gimletlet_nic::__RINGBUF in net: -humility: ring buffer task_uartecho::__RINGBUF in uartecho: -humility: ring buffer task_validate::__RINGBUF in validate: diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.toml b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.toml deleted file mode 100644 index 9ab1b9848..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 ringbuf --full-totals" - diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.stderr b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.stdout b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.stdout deleted file mode 100644 index 1ae22b89b..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.stdout +++ /dev/null @@ -1,13 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi_driver: -humility: ring buffer ksz8463::__RINGBUF in net: -humility: ring buffer stm32h7_update_server::__RINGBUF in update_server: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::bsp::gimletlet_nic::__RINGBUF in net: -humility: ring buffer task_uartecho::__RINGBUF in uartecho: - NDX LINE GEN COUNT PAYLOAD - 0 113 1 1 Rx(0x0) - 1 159 1 1 Tx(0x0) -humility: ring buffer task_validate::__RINGBUF in validate: diff --git a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.toml b/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.toml deleted file mode 100644 index 9ea3efc4b..000000000 --- a/humility-bin/tests/cmd/ringbuf-full-totals/ringbuf-full-totals.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 ringbuf --full-totals" - diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.stderr b/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.stdout b/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.stdout deleted file mode 100644 index 6d1bf774a..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.stdout +++ /dev/null @@ -1,409 +0,0 @@ -humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq: - NDX LINE GEN COUNT PAYLOAD - 1 316 20 1 GetState(TaskId(0x7)) - 2 316 20 1 GetState(TaskId(0x8)) - 3 316 20 1 GetState(TaskId(0x7)) - 4 316 20 1 GetState(TaskId(0x8)) - 5 316 20 1 GetState(TaskId(0x7)) - 6 316 20 1 GetState(TaskId(0x8)) - 7 316 20 1 GetState(TaskId(0x7)) - 8 316 20 1 GetState(TaskId(0x8)) - 9 316 20 1 GetState(TaskId(0x7)) - 10 316 20 1 GetState(TaskId(0x8)) - 11 316 20 1 GetState(TaskId(0x7)) - 12 316 20 1 GetState(TaskId(0x8)) - 13 316 20 1 GetState(TaskId(0x7)) - 14 316 20 1 GetState(TaskId(0x8)) - 15 316 20 1 GetState(TaskId(0x7)) - 16 316 20 1 GetState(TaskId(0x8)) - 17 316 20 1 GetState(TaskId(0x7)) - 18 316 20 1 GetState(TaskId(0x8)) - 19 316 20 1 GetState(TaskId(0x7)) - 20 316 20 1 GetState(TaskId(0x8)) - 21 316 20 1 GetState(TaskId(0x7)) - 22 316 20 1 GetState(TaskId(0x8)) - 23 316 20 1 GetState(TaskId(0x7)) - 24 316 20 1 GetState(TaskId(0x8)) - 25 316 20 2 GetState(TaskId(0x7)) - 26 316 20 1 GetState(TaskId(0x8)) - 27 316 20 1 GetState(TaskId(0x7)) - 28 316 20 1 GetState(TaskId(0x8)) - 29 316 20 1 GetState(TaskId(0x7)) - 30 316 20 1 GetState(TaskId(0x8)) - 31 316 20 1 GetState(TaskId(0x7)) - 32 316 20 1 GetState(TaskId(0x8)) - 33 316 20 1 GetState(TaskId(0x7)) - 34 316 20 1 GetState(TaskId(0x8)) - 35 316 20 1 GetState(TaskId(0x7)) - 36 316 20 1 GetState(TaskId(0x8)) - 37 316 20 1 GetState(TaskId(0x7)) - 38 316 20 1 GetState(TaskId(0x8)) - 39 316 20 1 GetState(TaskId(0x7)) - 40 316 20 1 GetState(TaskId(0x8)) - 41 316 20 1 GetState(TaskId(0x7)) - 42 316 20 1 GetState(TaskId(0x8)) - 43 316 20 1 GetState(TaskId(0x7)) - 44 316 20 1 GetState(TaskId(0x8)) - 45 316 20 1 GetState(TaskId(0x7)) - 46 316 20 1 GetState(TaskId(0x8)) - 47 316 20 1 GetState(TaskId(0x7)) - 48 316 20 1 GetState(TaskId(0x8)) - 49 316 20 1 GetState(TaskId(0x7)) - 50 316 20 1 GetState(TaskId(0x8)) - 51 316 20 1 GetState(TaskId(0x7)) - 52 316 20 1 GetState(TaskId(0x8)) - 53 316 20 1 GetState(TaskId(0x7)) - 54 316 20 1 GetState(TaskId(0x8)) - 55 316 20 1 GetState(TaskId(0x7)) - 56 316 20 1 GetState(TaskId(0x8)) - 57 316 20 1 GetState(TaskId(0x7)) - 58 316 20 1 GetState(TaskId(0x8)) - 59 316 20 1 GetState(TaskId(0x7)) - 60 316 20 1 GetState(TaskId(0x8)) - 61 316 20 1 GetState(TaskId(0x7)) - 62 316 20 1 GetState(TaskId(0x8)) - 63 316 20 1 GetState(TaskId(0x7)) - 0 316 21 1 GetState(TaskId(0x8)) -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 94 1 1 Config(CommandData(0x3f3f)) - 1 147 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 2 165 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 3 193 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) - 4 94 1 1 Config(CommandData(0x3f3f)) - 5 147 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 6 165 1 1 Coefficients(Coefficients { m: 0x52e, b: 0x5000, R: 0xff }) - 7 193 1 1 Coefficients(Coefficients { m: 0x524e, b: 0x0, R: 0xfd }) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 29 511 13249 3 WriteWaitISR(0x8020) - 30 511 13249 1 WriteWaitISR(0x8061) - 31 392 13249 1 WaitISR(0x21) - 32 481 13249 1 WriteISR(0x21) - 33 481 13249 2 WriteISR(0x8021) - 34 481 13249 1 WriteISR(0x8023) - 35 511 13249 1 WriteWaitISR(0x8020) - 36 511 13249 2 WriteWaitISR(0x8021) - 37 511 13249 1 WriteWaitISR(0x8061) - 38 573 13249 2 ReadISR(0x8021) - 39 573 13249 1 ReadISR(0x8025) - 40 573 13249 2 ReadISR(0x8021) - 41 573 13249 1 ReadISR(0x8025) - 42 608 13249 3 ReadWaitISR(0x8021) - 43 608 13249 1 ReadWaitISR(0x8061) - 44 392 13249 1 WaitISR(0x21) - 45 481 13249 1 WriteISR(0x21) - 46 481 13249 2 WriteISR(0x8021) - 47 481 13249 1 WriteISR(0x8023) - 0 481 13250 1 WriteISR(0x8020) - 1 481 13250 1 WriteISR(0x8023) - 2 511 13250 3 WriteWaitISR(0x8020) - 3 511 13250 1 WriteWaitISR(0x8061) - 4 392 13250 1 WaitISR(0x21) - 5 481 13250 1 WriteISR(0x21) - 6 481 13250 2 WriteISR(0x8021) - 7 481 13250 1 WriteISR(0x8023) - 8 511 13250 1 WriteWaitISR(0x8020) - 9 511 13250 2 WriteWaitISR(0x8021) - 10 511 13250 1 WriteWaitISR(0x8061) - 11 573 13250 2 ReadISR(0x8021) - 12 573 13250 2 ReadISR(0x8025) - 13 608 13250 1 ReadWaitISR(0x8061) - 14 392 13250 1 WaitISR(0x21) - 15 481 13250 1 WriteISR(0x21) - 16 481 13250 2 WriteISR(0x8021) - 17 481 13250 1 WriteISR(0x8023) - 18 511 13250 1 WriteWaitISR(0x8020) - 19 511 13250 2 WriteWaitISR(0x8021) - 20 511 13250 1 WriteWaitISR(0x8061) - 21 573 13250 2 ReadISR(0x8021) - 22 573 13250 1 ReadISR(0x8025) - 23 573 13250 2 ReadISR(0x8021) - 24 573 13250 1 ReadISR(0x8025) - 25 608 13250 1 ReadWaitISR(0x1061) - 26 392 13250 1 WaitISR(0x1021) - 27 481 13250 1 WriteISR(0x21) - 28 481 13250 2 WriteISR(0x8021) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 33 794 3869 1 RxISR(0x368005) - 34 832 3869 1 RxNack(0x1b, 0xa0) - 35 794 3869 1 RxISR(0x368001) - 36 838 3869 1 WaitRx - 37 794 3869 1 RxISR(0x360021) - 38 846 3869 1 TxISR(0x360001) - 39 899 3869 1 WaitTx - 40 846 3869 1 TxISR(0x360001) - 41 899 3869 1 WaitTx - 42 846 3869 1 TxISR(0x360001) - 43 899 3869 1 WaitTx - 44 846 3869 1 TxISR(0x368009) - 45 756 3869 1 AddrISR(0x368009) - 46 764 3869 1 AddrMatch - 47 788 3869 1 AddrNack(0x1b) - 0 794 3870 1 RxISR(0x368001) - 1 838 3870 1 WaitRx - 2 794 3870 1 RxISR(0x368001) - 3 838 3870 1 WaitRx - 4 794 3870 1 RxISR(0x368001) - 5 838 3870 1 WaitRx - 6 794 3870 1 RxISR(0x368005) - 7 832 3870 1 RxNack(0x1b, 0x1) - 8 794 3870 1 RxISR(0x368001) - 9 838 3870 1 WaitRx - 10 794 3870 1 RxISR(0x368001) - 11 838 3870 1 WaitRx - 12 794 3870 1 RxISR(0x368001) - 13 838 3870 1 WaitRx - 14 794 3870 1 RxISR(0x368005) - 15 832 3870 1 RxNack(0x1b, 0x4) - 16 794 3870 1 RxISR(0x368001) - 17 838 3870 1 WaitRx - 18 794 3870 1 RxISR(0x368001) - 19 838 3870 1 WaitRx - 20 794 3870 1 RxISR(0x368001) - 21 838 3870 1 WaitRx - 22 794 3870 1 RxISR(0x368005) - 23 832 3870 1 RxNack(0x1b, 0x8) - 24 794 3870 1 RxISR(0x368001) - 25 838 3870 1 WaitRx - 26 794 3870 1 RxISR(0x360021) - 27 846 3870 1 TxISR(0x360001) - 28 899 3870 1 WaitTx - 29 846 3870 1 TxISR(0x360001) - 30 899 3870 1 WaitTx - 31 846 3870 1 TxISR(0x360001) - 32 899 3870 1 WaitTx -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 9 115 24 1 Some(BusLocked) - 10 115 24 40 Some(NoDevice) - 11 115 24 1 Some(BusLocked) - 12 115 24 25 Some(NoDevice) - 13 115 24 1 Some(BusLocked) - 14 115 24 55 Some(NoDevice) - 15 115 24 1 Some(BusLocked) - 0 115 25 165 Some(NoDevice) - 1 115 25 1 Some(BusLocked) - 2 115 25 85 Some(NoDevice) - 3 115 25 1 Some(BusLocked) - 4 115 25 250 Some(NoDevice) - 5 115 25 1 Some(BusLocked) - 6 115 25 40 Some(NoDevice) - 7 115 25 1 Some(BusLocked) - 8 115 25 115 Some(NoDevice) -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi4_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi2_driver: - NDX LINE GEN COUNT PAYLOAD - 16 443 8890 1 Rx(0x20) - 17 473 8890 1 WaitISR(0x10012) - 18 443 8890 1 Rx(0x31) - 19 291 8890 1 Start(exchange, (0x2, 0x4)) - 20 409 8890 1 Tx(0x2) - 21 409 8890 1 Tx(0xf0) - 22 409 8890 2 Tx(0x0) - 23 473 8890 2 WaitISR(0x40012) - 24 443 8890 1 Rx(0x0) - 25 473 8890 1 WaitISR(0x30012) - 26 443 8890 1 Rx(0x0) - 27 473 8890 1 WaitISR(0x20012) - 28 443 8890 1 Rx(0x0) - 29 473 8890 1 WaitISR(0x10012) - 30 443 8890 1 Rx(0x40) - 31 291 8890 1 Start(exchange, (0x2, 0x4)) - 32 409 8890 1 Tx(0x2) - 33 409 8890 1 Tx(0xcc) - 34 409 8890 2 Tx(0x0) - 35 473 8890 2 WaitISR(0x40012) - 36 443 8890 1 Rx(0x0) - 37 473 8890 1 WaitISR(0x30012) - 38 443 8890 1 Rx(0x0) - 39 473 8890 1 WaitISR(0x20012) - 40 443 8890 1 Rx(0x0) - 41 473 8890 1 WaitISR(0x10012) - 42 443 8890 1 Rx(0x0) - 43 291 8890 1 Start(write, (0x4, 0x0)) - 44 409 8890 1 Tx(0x83) - 45 409 8890 1 Tx(0xc) - 46 409 8890 1 Tx(0x34) - 47 409 8890 1 Tx(0x1c) - 48 473 8890 2 WaitISR(0x40012) - 49 443 8890 1 Rx(0x0) - 50 473 8890 1 WaitISR(0x30012) - 51 443 8890 1 Rx(0x0) - 52 473 8890 1 WaitISR(0x20012) - 53 443 8890 1 Rx(0x0) - 54 473 8890 1 WaitISR(0x10012) - 55 443 8890 1 Rx(0x0) - 56 291 8890 1 Start(exchange, (0x2, 0x4)) - 57 409 8890 1 Tx(0x2) - 58 409 8890 1 Tx(0xf0) - 59 409 8890 2 Tx(0x0) - 60 473 8890 2 WaitISR(0x40012) - 61 443 8890 1 Rx(0x0) - 62 473 8890 1 WaitISR(0x30012) - 63 443 8890 1 Rx(0x0) - 0 473 8891 1 WaitISR(0x20012) - 1 443 8891 1 Rx(0x0) - 2 473 8891 1 WaitISR(0x10012) - 3 443 8891 1 Rx(0x40) - 4 291 8891 1 Start(exchange, (0x2, 0x4)) - 5 409 8891 1 Tx(0x2) - 6 409 8891 1 Tx(0xcc) - 7 409 8891 2 Tx(0x0) - 8 473 8891 2 WaitISR(0x40012) - 9 443 8891 1 Rx(0x0) - 10 473 8891 1 WaitISR(0x30012) - 11 443 8891 1 Rx(0x0) - 12 473 8891 1 WaitISR(0x20012) - 13 443 8891 1 Rx(0x0) - 14 473 8891 1 WaitISR(0x10012) - 15 443 8891 1 Rx(0x0) -humility: ring buffer ksz8463::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 134 1203 1 Read(IADR5, 0x4000) - 1 134 1203 1 Read(IADR4, 0x0) - 2 134 1203 1 Read(P1MBSR, 0x780c) - 3 148 1203 1 Write(IACR, 0x1c00) - 4 134 1203 1 Read(IADR5, 0x4000) - 5 134 1203 1 Read(IADR4, 0x0) - 6 148 1203 1 Write(IACR, 0x1c14) - 7 134 1203 1 Read(IADR5, 0x4000) - 8 134 1203 1 Read(IADR4, 0x0) - 9 134 1203 1 Read(P2MBSR, 0x780c) - 10 148 1203 1 Write(IACR, 0x1c20) - 11 134 1203 1 Read(IADR5, 0x4000) - 12 134 1203 1 Read(IADR4, 0x0) - 13 148 1203 1 Write(IACR, 0x1c34) - 14 134 1203 1 Read(IADR5, 0x4000) - 15 134 1203 1 Read(IADR4, 0x0) -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: - NDX LINE GEN COUNT PAYLOAD - 23 605 4442 1 Execute((0x3f8, Call(TargetFunction(0x1)))) - 24 605 4442 1 Execute((0x3fa, DropN(0x8))) - 25 605 4442 1 Execute((0x3fc, Push(0xc))) - 26 605 4442 1 Execute((0x3fe, Push(0x1))) - 27 605 4442 1 Execute((0x400, Push(0x22))) - 28 605 4442 1 Execute((0x402, Push(0x0))) - 29 605 4442 1 Execute((0x404, Push(0x0))) - 30 605 4442 1 Execute((0x406, Push(0x0))) - 31 605 4442 1 Execute((0x408, Push(0x4))) - 32 605 4442 1 Execute((0x40a, Push(0x4))) - 33 605 4442 1 Execute((0x40c, Call(TargetFunction(0x1)))) - 34 605 4442 1 Execute((0x40e, DropN(0x8))) - 35 605 4442 1 Execute((0x410, Push(0xc))) - 36 605 4442 1 Execute((0x412, Push(0x1))) - 37 605 4442 1 Execute((0x414, Push(0x23))) - 38 605 4442 1 Execute((0x416, Push(0x0))) - 39 605 4442 1 Execute((0x418, Push(0x0))) - 40 605 4442 1 Execute((0x41a, Push(0x0))) - 41 605 4442 1 Execute((0x41c, Push(0x4))) - 42 605 4442 1 Execute((0x41e, Push(0x4))) - 43 605 4442 1 Execute((0x420, Call(TargetFunction(0x1)))) - 44 605 4442 1 Execute((0x422, DropN(0x8))) - 45 605 4442 1 Execute((0x424, Push(0xc))) - 46 605 4442 1 Execute((0x426, Push(0x1))) - 47 605 4442 1 Execute((0x428, Push(0x28))) - 48 605 4442 1 Execute((0x42a, Push(0x0))) - 49 605 4442 1 Execute((0x42c, Push(0x0))) - 50 605 4442 1 Execute((0x42e, Push(0x0))) - 51 605 4442 1 Execute((0x430, Push(0x4))) - 52 605 4442 1 Execute((0x432, Push(0x4))) - 53 605 4442 1 Execute((0x434, Call(TargetFunction(0x1)))) - 54 605 4442 1 Execute((0x436, DropN(0x8))) - 55 605 4442 1 Execute((0x438, Push(0xc))) - 56 605 4442 1 Execute((0x43a, Push(0x1))) - 57 605 4442 1 Execute((0x43c, Push(0x2b))) - 58 605 4442 1 Execute((0x43e, Push(0x0))) - 59 605 4442 1 Execute((0x440, Push(0x0))) - 60 605 4442 1 Execute((0x442, Push(0x0))) - 61 605 4442 1 Execute((0x444, Push(0x4))) - 62 605 4442 1 Execute((0x446, Push(0x4))) - 63 605 4442 1 Execute((0x448, Call(TargetFunction(0x1)))) - 0 605 4443 1 Execute((0x44a, DropN(0x8))) - 1 605 4443 1 Execute((0x44c, Push(0xc))) - 2 605 4443 1 Execute((0x44e, Push(0x1))) - 3 605 4443 1 Execute((0x450, Push(0x34))) - 4 605 4443 1 Execute((0x452, Push(0x0))) - 5 605 4443 1 Execute((0x454, Push(0x0))) - 6 605 4443 1 Execute((0x456, Push(0x0))) - 7 605 4443 1 Execute((0x458, Push(0x4))) - 8 605 4443 1 Execute((0x45a, Push(0x4))) - 9 605 4443 1 Execute((0x45c, Call(TargetFunction(0x1)))) - 10 605 4443 1 Execute((0x45e, DropN(0x8))) - 11 605 4443 1 Execute((0x460, Push(0xc))) - 12 605 4443 1 Execute((0x462, Push(0x1))) - 13 605 4443 1 Execute((0x464, Push(0x3b))) - 14 605 4443 1 Execute((0x466, Push(0x0))) - 15 605 4443 1 Execute((0x468, Push(0x0))) - 16 605 4443 1 Execute((0x46a, Push(0x0))) - 17 605 4443 1 Execute((0x46c, Push(0x4))) - 18 605 4443 1 Execute((0x46e, Push(0x4))) - 19 605 4443 1 Execute((0x470, Call(TargetFunction(0x1)))) - 20 605 4443 1 Execute((0x472, DropN(0x8))) - 21 605 4443 1 Execute((0x474, Done)) - 22 609 4443 1 Success -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::mgmt::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 253 1 1 Status(Status { ksz8463_100base_fx_link_up: [ false, true ], ksz8463_rx_bytes: [ Count(0x0), Count(0x0) ], ksz8463_tx_bytes: [ Count(0x0), Count(0x0) ], vsc85x2_100base_fx_link_up: [ false, true ], vsc85x2_sgmii_link_up: [ false, false ], vsc85x2_media_tx_good_count: [ Inactive, Inactive ], vsc85x2_mac_tx_good_count: [ Inactive, Inactive ], vsc85x2_media_rx_good_count: [ Value(0x0), Value(0x0) ], vsc85x2_mac_rx_good_count: [ Value(0x0), Value(0x0) ] }) - 1 253 1 1369 Status(Status { ksz8463_100base_fx_link_up: [ true, true ], ksz8463_rx_bytes: [ Count(0x0), Count(0x0) ], ksz8463_tx_bytes: [ Count(0x0), Count(0x0) ], vsc85x2_100base_fx_link_up: [ true, true ], vsc85x2_sgmii_link_up: [ false, false ], vsc85x2_media_tx_good_count: [ Inactive, Inactive ], vsc85x2_mac_tx_good_count: [ Inactive, Inactive ], vsc85x2_media_rx_good_count: [ Value(0x0), Value(0x0) ], vsc85x2_mac_rx_good_count: [ Value(0x0), Value(0x0) ] }) -humility: ring buffer task_spd::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 15 338 1567 1 MuxState(Idle, AwaitingSegment) - 0 316 1568 1 Rx(0x4a, 0x40) - 1 338 1568 1 MuxState(AwaitingSegment, Done) - 2 311 1568 4 Initiate(0x19, false) - 3 311 1568 1 Initiate(0x4a, true) - 4 316 1568 1 Rx(0x4a, 0x3) - 5 338 1568 1 MuxState(Idle, AwaitingSegment) - 6 316 1568 1 Rx(0x4a, 0x40) - 7 338 1568 1 MuxState(AwaitingSegment, Done) - 8 311 1568 4 Initiate(0x1a, false) - 9 311 1568 1 Initiate(0x4a, true) - 10 316 1568 1 Rx(0x4a, 0x3) - 11 338 1568 1 MuxState(Idle, AwaitingSegment) - 12 316 1568 1 Rx(0x4a, 0x40) - 13 338 1568 1 MuxState(AwaitingSegment, Done) - 14 311 1568 4 Initiate(0x1b, false) -humility: ring buffer task_thermal::__RINGBUF in thermal: - NDX LINE GEN COUNT PAYLOAD - 7 122 102 1 MiscReadFailed(0x5, NoDevice) - 8 122 102 1 MiscReadFailed(0x0, NoDevice) - 9 122 102 1 MiscReadFailed(0x1, NoDevice) - 10 122 102 1 MiscReadFailed(0x3, NoDevice) - 11 122 102 1 MiscReadFailed(0x4, NoDevice) - 12 122 102 1 MiscReadFailed(0x5, NoDevice) - 13 122 102 1 MiscReadFailed(0x0, NoDevice) - 14 122 102 1 MiscReadFailed(0x1, NoDevice) - 15 122 102 1 MiscReadFailed(0x3, NoDevice) - 16 122 102 1 MiscReadFailed(0x4, NoDevice) - 17 122 102 1 MiscReadFailed(0x5, NoDevice) - 18 122 102 1 MiscReadFailed(0x0, NoDevice) - 19 122 102 1 MiscReadFailed(0x1, NoDevice) - 20 122 102 1 MiscReadFailed(0x3, NoDevice) - 21 122 102 1 MiscReadFailed(0x4, NoDevice) - 22 122 102 1 MiscReadFailed(0x5, NoDevice) - 23 203 102 1 ControlPwm(0x0) - 24 122 102 1 MiscReadFailed(0x0, NoDevice) - 25 122 102 1 MiscReadFailed(0x1, NoDevice) - 26 122 102 1 MiscReadFailed(0x3, NoDevice) - 27 122 102 1 MiscReadFailed(0x4, NoDevice) - 28 122 102 1 MiscReadFailed(0x5, NoDevice) - 29 122 102 1 MiscReadFailed(0x0, NoDevice) - 30 122 102 1 MiscReadFailed(0x1, NoDevice) - 31 122 102 1 MiscReadFailed(0x3, NoDevice) - 0 122 103 1 MiscReadFailed(0x4, NoDevice) - 1 122 103 1 MiscReadFailed(0x5, NoDevice) - 2 122 103 1 MiscReadFailed(0x0, NoDevice) - 3 122 103 1 MiscReadFailed(0x1, NoDevice) - 4 122 103 1 MiscReadFailed(0x3, NoDevice) - 5 122 103 1 MiscReadFailed(0x4, NoDevice) - 6 122 103 1 MiscReadFailed(0x5, NoDevice) -humility: ring buffer task_validate::__RINGBUF in validate: -humility: ring buffer vsc85xx::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 22 1 1 Vsc8562Init(0x1e) - 1 22 1 1 ViperPatch(0x1e) - 2 123 1 1 GotCrc(0x2196) - 3 123 1 1 GotCrc(0xfb48) diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.toml b/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.toml deleted file mode 100644 index 8cc4b735c..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 ringbuf" - diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.stderr b/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.stdout b/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.stdout deleted file mode 100644 index d28868187..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.stdout +++ /dev/null @@ -1,5 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi_driver: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: -humility: ring buffer task_jefe::external::__RINGBUF in jefe: diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.toml b/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.toml deleted file mode 100644 index b993ef626..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 ringbuf" - diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.stderr b/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.stdout b/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.stdout deleted file mode 100644 index afe8ccfcc..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.stdout +++ /dev/null @@ -1,212 +0,0 @@ -humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq: - NDX LINE GEN COUNT PAYLOAD - 0 128 1 1 Ice40Rails(true, true) - 1 157 1 1 Ice40PowerGoodV1P2(true) - 2 178 1 1 Ice40PowerGoodV3P3(true) - 3 241 1 1 IdentValid(false) - 4 244 1 1 ChecksumValid(false) - 5 247 1 1 Reprogram(true) - 6 261 1 1 Programming - 7 290 1 1 Programmed - 8 293 1 1 RailsOff - 9 296 1 1 Ident(0xde01) - 10 302 1 1 A1Status(0x0) - 11 325 1 446 ClockConfigWrite - 12 333 1 1 ClockConfigSuccess - 13 334 1 1 A2 - 14 605 1 123 GetState -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 106 1 1 Config(CommandData(0x3f37)) - 1 116 1 1 WriteConfig(CommandData(0x3f3f)) - 2 159 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 3 177 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 4 205 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) - 5 106 1 1 Config(CommandData(0x3f37)) - 6 116 1 1 WriteConfig(CommandData(0x3f3f)) - 7 159 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 8 177 1 1 Coefficients(Coefficients { m: 0x52e, b: 0x5000, R: 0xff }) - 9 205 1 1 Coefficients(Coefficients { m: 0x524e, b: 0x0, R: 0xfd }) - 10 116 1 118 WriteConfig(CommandData(0x3f3f)) -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi4_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi2_driver: - NDX LINE GEN COUNT PAYLOAD - 61 438 5484 1 Rx(0x7) - 62 468 5484 1 WaitISR(0x10012) - 63 438 5484 1 Rx(0x6) - 0 286 5485 1 Start(exchange, (0x2, 0x4)) - 1 404 5485 1 Tx(0x9) - 2 404 5485 1 Tx(0xf0) - 3 404 5485 2 Tx(0x0) - 4 468 5485 2 WaitISR(0x40012) - 5 438 5485 1 Rx(0x0) - 6 468 5485 1 WaitISR(0x32017) - 7 438 5485 1 Rx(0x0) - 8 438 5485 1 Rx(0x7) - 9 468 5485 1 WaitISR(0x10012) - 10 438 5485 1 Rx(0x6) - 11 286 5485 1 Start(write, (0x4, 0x0)) - 12 404 5485 1 Tx(0x89) - 13 404 5485 1 Tx(0xf0) - 14 404 5485 1 Tx(0x7) - 15 404 5485 1 Tx(0x46) - 16 468 5485 2 WaitISR(0x40012) - 17 438 5485 1 Rx(0x0) - 18 468 5485 1 WaitISR(0x30012) - 19 438 5485 1 Rx(0x0) - 20 468 5485 1 WaitISR(0x20012) - 21 438 5485 1 Rx(0x7) - 22 468 5485 1 WaitISR(0x10012) - 23 438 5485 1 Rx(0x6) - 24 286 5485 1 Start(exchange, (0x2, 0x4)) - 25 404 5485 1 Tx(0x0) - 26 404 5485 1 Tx(0x4c) - 27 404 5485 2 Tx(0x0) - 28 468 5485 2 WaitISR(0x40012) - 29 438 5485 1 Rx(0x0) - 30 468 5485 1 WaitISR(0x32017) - 31 438 5485 1 Rx(0x0) - 32 438 5485 1 Rx(0xf0) - 33 468 5485 1 WaitISR(0x10012) - 34 438 5485 1 Rx(0x0) - 35 286 5485 1 Start(write, (0x4, 0x0)) - 36 404 5485 1 Tx(0x80) - 37 404 5485 1 Tx(0x4c) - 38 404 5485 1 Tx(0xf0) - 39 404 5485 1 Tx(0x80) - 40 468 5485 2 WaitISR(0x40012) - 41 438 5485 1 Rx(0x0) - 42 468 5485 1 WaitISR(0x30012) - 43 438 5485 1 Rx(0x0) - 44 468 5485 1 WaitISR(0x20012) - 45 438 5485 1 Rx(0xf0) - 46 468 5485 1 WaitISR(0x10012) - 47 438 5485 1 Rx(0x0) - 48 286 5485 1 Start(write, (0x4, 0x0)) - 49 404 5485 1 Tx(0x80) - 50 404 5485 1 Tx(0xc) - 51 404 5485 1 Tx(0x1) - 52 404 5485 1 Tx(0x0) - 53 468 5485 2 WaitISR(0x40012) - 54 438 5485 1 Rx(0x0) - 55 468 5485 1 WaitISR(0x30012) - 56 438 5485 1 Rx(0x0) - 57 468 5485 1 WaitISR(0x20012) - 58 438 5485 1 Rx(0xf0) - 59 468 5485 1 WaitISR(0x10012) - 60 438 5485 1 Rx(0x0) -humility: ring buffer drv_stm32h7_sprot_server::__RINGBUF in sprot: -humility: ring buffer drv_stm32xx_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 4 516 1381 1 WriteISR(0x21) - 5 516 1381 2 WriteISR(0x8021) - 6 516 1381 1 WriteISR(0x8023) - 7 516 1381 1 WriteISR(0x8020) - 8 516 1381 1 WriteISR(0x8023) - 9 516 1381 3 WriteISR(0x8020) - 10 516 1381 1 WriteISR(0x8023) - 11 546 1381 3 WriteWaitISR(0x8020) - 12 546 1381 1 WriteWaitISR(0x8061) - 13 426 1381 1 WaitISR(0x21) - 14 516 1381 1 WriteISR(0x21) - 15 516 1381 2 WriteISR(0x8021) - 16 516 1381 1 WriteISR(0x8023) - 17 546 1381 1 WriteWaitISR(0x8020) - 18 546 1381 2 WriteWaitISR(0x8021) - 19 546 1381 1 WriteWaitISR(0x8061) - 20 608 1381 2 ReadISR(0x8021) - 21 608 1381 1 ReadISR(0x8025) - 22 608 1381 2 ReadISR(0x8021) - 23 608 1381 1 ReadISR(0x8025) - 24 643 1381 1 ReadWaitISR(0x8021) - 25 643 1381 1 ReadWaitISR(0x8061) - 26 426 1381 1 WaitISR(0x21) - 27 516 1381 1 WriteISR(0x21) - 28 516 1381 2 WriteISR(0x8021) - 29 516 1381 1 WriteISR(0x8023) - 30 546 1381 1 WriteWaitISR(0x8020) - 31 546 1381 2 WriteWaitISR(0x8021) - 32 546 1381 1 WriteWaitISR(0x8061) - 33 608 1381 2 ReadISR(0x8021) - 34 608 1381 1 ReadISR(0x8025) - 35 608 1381 2 ReadISR(0x8021) - 36 608 1381 1 ReadISR(0x8025) - 37 643 1381 1 ReadWaitISR(0x8021) - 38 643 1381 1 ReadWaitISR(0x8061) - 39 426 1381 1 WaitISR(0x21) - 40 516 1381 1 WriteISR(0x21) - 41 516 1381 2 WriteISR(0x8021) - 42 516 1381 1 WriteISR(0x8023) - 43 546 1381 1 WriteWaitISR(0x8020) - 44 546 1381 2 WriteWaitISR(0x8021) - 45 546 1381 1 WriteWaitISR(0x8061) - 46 608 1381 2 ReadISR(0x8021) - 47 608 1381 1 ReadISR(0x8025) - 0 608 1382 2 ReadISR(0x8021) - 1 608 1382 1 ReadISR(0x8025) - 2 643 1382 1 ReadWaitISR(0x8021) - 3 643 1382 1 ReadWaitISR(0x8061) -humility: ring buffer drv_stm32xx_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 0 796 1 1 AddrISR(0x1) - 1 819 1 1 WaitAddr -humility: ring buffer drv_stm32xx_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer ksz8463::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 7 148 4 1 Write(IACR, 0x40f) - 8 148 4 1 Write(P1VIDCR, 0x301) - 9 148 4 1 Write(P2VIDCR, 0x302) - 10 148 4 1 Write(P3VIDCR, 0x3ff) - 11 134 4 1 Read(P1CR1, 0x0) - 12 148 4 1 Write(P1CR1, 0x202) - 13 134 4 1 Read(P2CR1, 0x0) - 14 148 4 1 Write(P2CR1, 0x202) - 15 134 4 1 Read(P3CR1, 0x0) - 0 148 5 1 Write(P3CR1, 0x4) - 1 148 5 1 Write(SGCR9, 0xa) - 2 134 5 1 Read(P3CR2, 0x607) - 3 148 5 1 Write(P3CR2, 0x4607) - 4 134 5 1 Read(SGCR2, 0xf0) - 5 148 5 1 Write(SGCR2, 0x80f0) - 6 148 5 1 Write(CIDER, 0x1) -humility: ring buffer stm32h7_update_server::__RINGBUF in update_server: -humility: ring buffer task_control_plane_agent::__RINGBUF in control_plane_agent: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: -humility: ring buffer task_host_sp_comms::__RINGBUF in host_sp_comms: - NDX LINE GEN COUNT PAYLOAD - 0 315 1 1 JefeNotification { now: 0x382, state: A2 } -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::mgmt::__RINGBUF in net: -humility: ring buffer task_spd::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 2 133 3 1 Present(0x1, 0x5, 0xd) - 3 144 3 1 ReadBottom(0xd) - 4 133 3 1 Present(0x1, 0x6, 0xe) - 5 144 3 1 ReadBottom(0xe) - 6 133 3 1 Present(0x1, 0x7, 0xf) - 7 144 3 1 ReadBottom(0xf) - 8 182 3 1 ReadTop(0x8) - 9 182 3 1 ReadTop(0x9) - 10 182 3 1 ReadTop(0xa) - 11 182 3 1 ReadTop(0xb) - 12 182 3 1 ReadTop(0xc) - 13 182 3 1 ReadTop(0xd) - 14 182 3 1 ReadTop(0xe) - 15 182 3 1 ReadTop(0xf) - 0 276 4 1 Found(0x10) - 1 286 4 1 Ready -humility: ring buffer task_thermal::__RINGBUF in thermal: - NDX LINE GEN COUNT PAYLOAD - 0 319 1 1 Start - 1 114 1 1 ThermalMode(Auto) - 2 527 1 1 AutoState(Boot) - 3 575 1 1 PowerModeChanged(PowerBitmask { bits: 0x1 }) - 4 527 1 1 AutoState(Boot) - 5 724 1 1 AutoState(Running) - 6 845 1 62 ControlPwm(0x0) -humility: ring buffer task_validate::__RINGBUF in validate: -humility: ring buffer vsc85xx::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 26 1 1 Vsc8562InitSgmii(0x1e) - 1 23 1 1 ViperPatch(0x1e) - 2 133 1 1 GotCrc(0xfb48) diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.toml b/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.toml deleted file mode 100644 index 6266227a4..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 ringbuf" - diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.stderr b/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.stdout b/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.stdout deleted file mode 100644 index c06877780..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.stdout +++ /dev/null @@ -1,267 +0,0 @@ -humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq: - NDX LINE GEN COUNT PAYLOAD - 0 99 1 1 Ice40Rails(false, false) - 1 128 1 2 Ice40PowerGoodV1P2(false) - 2 128 1 1 Ice40PowerGoodV1P2(true) - 3 149 1 1 Ice40PowerGoodV3P3(true) - 4 210 1 1 Reprogram(true) - 5 224 1 1 Programming - 6 246 1 1 Programmed - 7 249 1 1 RailsOff - 8 252 1 1 Ident(0xde01) - 9 258 1 1 A1Status(0x0) - 10 281 1 446 ClockConfigWrite - 11 287 1 1 ClockConfigSuccess - 12 288 1 1 A2 - 13 311 1 10 GetState(TaskId(0x8)) - 14 320 1 1 SetState(A2, A0) - 15 343 1 2 A1Power(0x2, 0x0) - 16 343 1 194 A1Power(0x3, 0x0) - 17 343 1 7 A1Power(0x5, 0x0) - 18 343 1 639 A1Power(0x5, 0x2) - 19 343 1 2 A1Power(0x5, 0x4) - 20 343 1 3 A1Power(0x5, 0x6) - 21 343 1 1 A1Power(0x5, 0x7) - 22 356 1 1 RailsOn - 23 365 1 1 A0Power(0x7) - 24 365 1 1 A0Power(0x8) - 25 365 1 19 A0Power(0xa) - 26 365 1 6 A0Power(0xb) - 27 365 1 1 A0Power(0xc) - 28 378 1 1 UartEnabled - 29 311 1 422 GetState(TaskId(0x8)) -humility: ring buffer drv_i2c_devices::adm1272::__RINGBUF in power: - NDX LINE GEN COUNT PAYLOAD - 0 91 1 1 Config(CommandData(0x3f3f)) - 1 138 1 1 Coefficients(Coefficients { m: 0xfde, b: 0x0, R: 0xfe }) - 2 156 1 1 Coefficients(Coefficients { m: 0x297, b: 0x5000, R: 0xff }) - 3 184 1 1 Coefficients(Coefficients { m: 0x2927, b: 0x0, R: 0xfd }) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 9 359 7779 1 WaitISR(0x21) - 10 445 7779 1 WriteISR(0x21) - 11 445 7779 2 WriteISR(0x8021) - 12 445 7779 1 WriteISR(0x8023) - 13 483 7779 1 WriteWaitISR(0x8020) - 14 483 7779 2 WriteWaitISR(0x8021) - 15 483 7779 1 WriteWaitISR(0x8061) - 16 553 7779 2 ReadISR(0x8021) - 17 553 7779 1 ReadISR(0x8025) - 18 553 7779 2 ReadISR(0x8021) - 19 553 7779 1 ReadISR(0x8025) - 20 596 7779 2 ReadWaitISR(0x8021) - 21 596 7779 1 ReadWaitISR(0x8061) - 22 359 7779 1 WaitISR(0x21) - 23 445 7779 1 WriteISR(0x21) - 24 445 7779 2 WriteISR(0x8021) - 25 445 7779 1 WriteISR(0x8023) - 26 483 7779 1 WriteWaitISR(0x8020) - 27 483 7779 2 WriteWaitISR(0x8021) - 28 483 7779 1 WriteWaitISR(0x8061) - 29 553 7779 2 ReadISR(0x8021) - 30 553 7779 1 ReadISR(0x8025) - 31 553 7779 2 ReadISR(0x8021) - 32 553 7779 1 ReadISR(0x8025) - 33 596 7779 2 ReadWaitISR(0x8021) - 34 596 7779 1 ReadWaitISR(0x8061) - 35 359 7779 1 WaitISR(0x21) - 36 445 7779 1 WriteISR(0x21) - 37 445 7779 2 WriteISR(0x8021) - 38 445 7779 1 WriteISR(0x8023) - 39 483 7779 1 WriteWaitISR(0x8020) - 40 483 7779 2 WriteWaitISR(0x8021) - 41 483 7779 1 WriteWaitISR(0x8061) - 42 553 7779 2 ReadISR(0x8021) - 43 553 7779 1 ReadISR(0x8025) - 44 596 7779 2 ReadWaitISR(0x8021) - 45 596 7779 1 ReadWaitISR(0x8061) - 46 359 7779 1 WaitISR(0x21) - 47 445 7779 1 WriteISR(0x21) - 0 445 7780 2 WriteISR(0x8021) - 1 445 7780 1 WriteISR(0x8023) - 2 483 7780 1 WriteWaitISR(0x8020) - 3 483 7780 2 WriteWaitISR(0x8021) - 4 483 7780 1 WriteWaitISR(0x8061) - 5 553 7780 2 ReadISR(0x8021) - 6 553 7780 1 ReadISR(0x8025) - 7 596 7780 2 ReadWaitISR(0x8021) - 8 596 7780 1 ReadWaitISR(0x8061) -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 19 798 1003 1 RxISR(0x328005) - 20 836 1003 1 RxNack(0x19, 0xa0) - 21 798 1003 1 RxISR(0x328001) - 22 842 1003 1 WaitRx - 23 798 1003 1 RxISR(0x320021) - 24 850 1003 1 TxISR(0x320001) - 25 903 1003 1 WaitTx - 26 850 1003 1 TxISR(0x320001) - 27 903 1003 1 WaitTx - 28 850 1003 1 TxISR(0x320001) - 29 903 1003 1 WaitTx - 30 850 1003 1 TxISR(0x328009) - 31 760 1003 1 AddrISR(0x328009) - 32 768 1003 1 AddrMatch - 33 792 1003 1 AddrNack(0x19) - 34 798 1003 1 RxISR(0x328001) - 35 842 1003 1 WaitRx - 36 798 1003 1 RxISR(0x328001) - 37 842 1003 1 WaitRx - 38 798 1003 1 RxISR(0x328001) - 39 842 1003 1 WaitRx - 40 798 1003 1 RxISR(0x328005) - 41 836 1003 1 RxNack(0x19, 0x1) - 42 798 1003 1 RxISR(0x328001) - 43 842 1003 1 WaitRx - 44 798 1003 1 RxISR(0x328001) - 45 842 1003 1 WaitRx - 46 798 1003 1 RxISR(0x328001) - 47 842 1003 1 WaitRx - 0 798 1004 1 RxISR(0x328005) - 1 836 1004 1 RxNack(0x19, 0x4) - 2 798 1004 1 RxISR(0x328001) - 3 842 1004 1 WaitRx - 4 798 1004 1 RxISR(0x328001) - 5 842 1004 1 WaitRx - 6 798 1004 1 RxISR(0x328001) - 7 842 1004 1 WaitRx - 8 798 1004 1 RxISR(0x328005) - 9 836 1004 1 RxNack(0x19, 0x8) - 10 798 1004 1 RxISR(0x328001) - 11 842 1004 1 WaitRx - 12 798 1004 1 RxISR(0x320021) - 13 850 1004 1 TxISR(0x320001) - 14 903 1004 1 WaitTx - 15 850 1004 1 TxISR(0x320001) - 16 903 1004 1 WaitTx - 17 850 1004 1 TxISR(0x320001) - 18 903 1004 1 WaitTx -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: - NDX LINE GEN COUNT PAYLOAD - 0 115 1 56 Some(NoDevice) - 1 115 1 1 Some(BusLocked) - 2 115 1 1266 Some(NoDevice) -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi4_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi2_driver: - NDX LINE GEN COUNT PAYLOAD - 10 443 8111 1 Rx(0x20) - 11 473 8111 1 WaitISR(0x10012) - 12 443 8111 1 Rx(0x31) - 13 291 8111 1 Start(exchange, (0x2, 0x4)) - 14 409 8111 1 Tx(0x2) - 15 409 8111 1 Tx(0xf0) - 16 409 8111 2 Tx(0x0) - 17 473 8111 2 WaitISR(0x40012) - 18 443 8111 1 Rx(0x0) - 19 473 8111 1 WaitISR(0x30012) - 20 443 8111 1 Rx(0x0) - 21 473 8111 1 WaitISR(0x20012) - 22 443 8111 1 Rx(0x0) - 23 473 8111 1 WaitISR(0x10012) - 24 443 8111 1 Rx(0x40) - 25 291 8111 1 Start(exchange, (0x2, 0x4)) - 26 409 8111 1 Tx(0x2) - 27 409 8111 1 Tx(0xcc) - 28 409 8111 2 Tx(0x0) - 29 473 8111 2 WaitISR(0x40012) - 30 443 8111 1 Rx(0x0) - 31 473 8111 1 WaitISR(0x30012) - 32 443 8111 1 Rx(0x0) - 33 473 8111 1 WaitISR(0x20012) - 34 443 8111 1 Rx(0x0) - 35 473 8111 1 WaitISR(0x10012) - 36 443 8111 1 Rx(0x0) - 37 291 8111 1 Start(write, (0x4, 0x0)) - 38 409 8111 1 Tx(0x83) - 39 409 8111 1 Tx(0xc) - 40 409 8111 1 Tx(0x34) - 41 409 8111 1 Tx(0x1c) - 42 473 8111 2 WaitISR(0x40012) - 43 443 8111 1 Rx(0x0) - 44 473 8111 1 WaitISR(0x30012) - 45 443 8111 1 Rx(0x0) - 46 473 8111 1 WaitISR(0x20012) - 47 443 8111 1 Rx(0x0) - 48 473 8111 1 WaitISR(0x10012) - 49 443 8111 1 Rx(0x0) - 50 291 8111 1 Start(exchange, (0x2, 0x4)) - 51 409 8111 1 Tx(0x2) - 52 409 8111 1 Tx(0xf0) - 53 409 8111 2 Tx(0x0) - 54 473 8111 2 WaitISR(0x40012) - 55 443 8111 1 Rx(0x0) - 56 473 8111 1 WaitISR(0x30012) - 57 443 8111 1 Rx(0x0) - 58 473 8111 1 WaitISR(0x20012) - 59 443 8111 1 Rx(0x0) - 60 473 8111 1 WaitISR(0x10012) - 61 443 8111 1 Rx(0x40) - 62 291 8111 1 Start(exchange, (0x2, 0x4)) - 63 409 8111 1 Tx(0x2) - 0 409 8112 1 Tx(0xcc) - 1 409 8112 2 Tx(0x0) - 2 473 8112 2 WaitISR(0x40012) - 3 443 8112 1 Rx(0x0) - 4 473 8112 1 WaitISR(0x30012) - 5 443 8112 1 Rx(0x0) - 6 473 8112 1 WaitISR(0x20012) - 7 443 8112 1 Rx(0x0) - 8 473 8112 1 WaitISR(0x10012) - 9 443 8112 1 Rx(0x0) -humility: ring buffer ksz8463::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 12 134 777 1 Read(IADR5, 0x4000) - 13 134 777 1 Read(IADR4, 0x0) - 14 134 777 1 Read(P1MBSR, 0x780c) - 15 148 777 1 Write(IACR, 0x1c00) - 0 134 778 1 Read(IADR5, 0x4000) - 1 134 778 1 Read(IADR4, 0x0) - 2 148 778 1 Write(IACR, 0x1c14) - 3 134 778 1 Read(IADR5, 0x4000) - 4 134 778 1 Read(IADR4, 0x0) - 5 134 778 1 Read(P2MBSR, 0x780c) - 6 148 778 1 Write(IACR, 0x1c20) - 7 134 778 1 Read(IADR5, 0x4000) - 8 134 778 1 Read(IADR4, 0x0) - 9 148 778 1 Write(IACR, 0x1c34) - 10 134 778 1 Read(IADR5, 0x4000) - 11 134 778 1 Read(IADR4, 0x0) -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: - NDX LINE GEN COUNT PAYLOAD - 0 605 1 1 Execute((0x0, Push(0xa))) - 1 605 1 1 Execute((0x2, Push(0x2))) - 2 605 1 1 Execute((0x4, Push(0x5))) - 3 605 1 1 Execute((0x6, Push(0x1))) - 4 605 1 1 Execute((0x8, Push(0x0))) - 5 605 1 1 Execute((0xa, Call(TargetFunction(0x1)))) - 6 605 1 1 Execute((0xc, DropN(0x5))) - 7 605 1 1 Execute((0xe, Done)) - 8 609 1 1 Success -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::mgmt::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 253 1 884 Status(Status { ksz8463_100base_fx_link_up: [ true, true ], ksz8463_rx_bytes: [ Count(0x0), Count(0x0) ], ksz8463_tx_bytes: [ Count(0x0), Count(0x0) ], vsc85x2_100base_fx_link_up: [ true, true ], vsc85x2_sgmii_link_up: [ false, false ], vsc85x2_media_tx_good_count: [ Inactive, Inactive ], vsc85x2_mac_tx_good_count: [ Inactive, Inactive ], vsc85x2_media_rx_good_count: [ Value(0x0), Value(0x0) ], vsc85x2_mac_rx_good_count: [ Value(0x0), Value(0x0) ] }) -humility: ring buffer task_spd::__RINGBUF in spd: - NDX LINE GEN COUNT PAYLOAD - 13 338 403 1 MuxState(Idle, AwaitingSegment) - 14 316 403 1 Rx(0x4a, 0x80) - 15 338 403 1 MuxState(AwaitingSegment, Done) - 0 311 404 4 Initiate(0x19, false) - 1 311 404 1 Initiate(0x4a, true) - 2 316 404 1 Rx(0x4a, 0x3) - 3 338 404 1 MuxState(Idle, AwaitingSegment) - 4 316 404 1 Rx(0x4a, 0x40) - 5 338 404 1 MuxState(AwaitingSegment, Done) - 6 311 404 4 Initiate(0x18, false) - 7 311 404 1 Initiate(0x4a, true) - 8 316 404 1 Rx(0x4a, 0x3) - 9 338 404 1 MuxState(Idle, AwaitingSegment) - 10 316 404 1 Rx(0x4a, 0x40) - 11 338 404 1 MuxState(AwaitingSegment, Done) - 12 311 404 4 Initiate(0x19, false) -humility: ring buffer vsc85xx::__RINGBUF in net: - NDX LINE GEN COUNT PAYLOAD - 0 22 1 1 Vsc8562Init(0x1e) - 1 22 1 1 ViperPatch(0x1e) - 2 123 1 1 GotCrc(0x5d80) - 3 123 1 1 GotCrc(0xfb48) diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.toml b/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.toml deleted file mode 100644 index bc1c2edea..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 ringbuf" - diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.stderr b/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.stderr deleted file mode 100644 index 55a548029..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: ringbuf dump failed: loading value of type struct UnsafeCell> at address 0x0 diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.stdout b/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.stdout deleted file mode 100644 index b7254e930..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.stdout +++ /dev/null @@ -1,75 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi_driver: -humility: ring buffer ksz8463::__RINGBUF in net: -humility: ring buffer stm32h7_update_server::__RINGBUF in update_server: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: - NDX LINE GEN COUNT PAYLOAD - 18 622 28592 1 Execute((0x5, Push32(0x100))) - 19 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 20 622 28592 1 Execute((0xc, Done)) - 21 626 28592 1 Success - 22 622 28592 1 Execute((0x0, Push32(0x20000))) - 23 622 28592 1 Execute((0x5, Push32(0x80))) - 24 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 25 622 28592 1 Execute((0xc, Done)) - 26 626 28592 1 Success - 27 622 28592 1 Execute((0x0, Push32(0x120000))) - 28 622 28592 1 Execute((0x5, Push32(0x80))) - 29 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 30 622 28592 1 Execute((0xc, Done)) - 31 626 28592 1 Success - 32 622 28592 1 Execute((0x0, Push32(0x120000))) - 33 622 28592 1 Execute((0x5, Push32(0x100))) - 34 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 35 622 28592 1 Execute((0xc, Done)) - 36 626 28592 1 Success - 37 622 28592 1 Execute((0x0, Push32(0x120000))) - 38 622 28592 1 Execute((0x5, Push32(0x80))) - 39 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 40 622 28592 1 Execute((0xc, Done)) - 41 626 28592 1 Success - 42 622 28592 1 Execute((0x0, Push32(0x120000))) - 43 622 28592 1 Execute((0x5, Push32(0x80))) - 44 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 45 622 28592 1 Execute((0xc, Done)) - 46 626 28592 1 Success - 47 622 28592 1 Execute((0x0, Push32(0x120000))) - 48 622 28592 1 Execute((0x5, Push32(0x80))) - 49 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 50 622 28592 1 Execute((0xc, Done)) - 51 626 28592 1 Success - 52 622 28592 1 Execute((0x0, Push32(0x120000))) - 53 622 28592 1 Execute((0x5, Push32(0x80))) - 54 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 55 622 28592 1 Execute((0xc, Done)) - 56 626 28592 1 Success - 57 622 28592 1 Execute((0x0, Push32(0x120000))) - 58 622 28592 1 Execute((0x5, Push32(0x80))) - 59 622 28592 1 Execute((0xa, Call(TargetFunction(0x10)))) - 60 622 28592 1 Execute((0xc, Done)) - 61 626 28592 1 Success - 62 622 28592 1 Execute((0x0, Push32(0x120000))) - 63 622 28592 1 Execute((0x5, Push32(0x80))) - 0 622 28593 1 Execute((0xa, Call(TargetFunction(0x10)))) - 1 622 28593 1 Execute((0xc, Done)) - 2 626 28593 1 Success - 3 622 28593 1 Execute((0x0, Push32(0x120001))) - 4 622 28593 1 Execute((0x5, Push32(0x80))) - 5 622 28593 1 Execute((0xa, Call(TargetFunction(0x10)))) - 6 622 28593 1 Execute((0xc, Done)) - 7 626 28593 1 Success - 8 622 28593 1 Execute((0x0, Push32(0x120000))) - 9 622 28593 1 Execute((0x5, Push32(0x80))) - 10 622 28593 1 Execute((0xa, Call(TargetFunction(0x10)))) - 11 622 28593 1 Execute((0xc, Done)) - 12 626 28593 1 Success - 13 622 28593 1 Execute((0x0, Push32(0x120000))) - 14 622 28593 1 Execute((0x5, Push32(0x80))) - 15 622 28593 1 Execute((0xa, Call(TargetFunction(0x13)))) - 16 622 28593 1 Execute((0xc, Done)) - 17 626 28593 1 Success -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::bsp::gimletlet_nic::__RINGBUF in net: -humility: ring buffer task_uartecho::__RINGBUF in uartecho: -humility: ring buffer task_validate::__RINGBUF in validate: diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.toml b/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.toml deleted file mode 100644 index 808285ddd..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 ringbuf" - diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.stderr b/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.stdout b/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.stdout deleted file mode 100644 index 1ae22b89b..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.stdout +++ /dev/null @@ -1,13 +0,0 @@ -humility: ring buffer drv_stm32h7_i2c::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_i2c_server::__RINGBUF in i2c_driver: -humility: ring buffer drv_stm32h7_spi_server::__RINGBUF in spi_driver: -humility: ring buffer ksz8463::__RINGBUF in net: -humility: ring buffer stm32h7_update_server::__RINGBUF in update_server: -humility: ring buffer task_hiffy::stm32h7::__RINGBUF in hiffy: -humility: ring buffer task_jefe::external::__RINGBUF in jefe: -humility: ring buffer task_net::bsp::gimletlet_nic::__RINGBUF in net: -humility: ring buffer task_uartecho::__RINGBUF in uartecho: - NDX LINE GEN COUNT PAYLOAD - 0 113 1 1 Rx(0x0) - 1 159 1 1 Tx(0x0) -humility: ring buffer task_validate::__RINGBUF in validate: diff --git a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.toml b/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.toml deleted file mode 100644 index fdf528330..000000000 --- a/humility-bin/tests/cmd/ringbuf/ringbuf.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 ringbuf" - diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.stderr deleted file mode 100644 index 9bec5a442..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: could not find LAST_READING diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.stdout b/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.toml b/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.toml deleted file mode 100644 index 2b6c53093..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 sensors " -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.inheritance.0.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.inheritance.0.stderr index fecf2bb78..ffd634767 100644 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.inheritance.0.stderr +++ b/humility-bin/tests/cmd/sensors-read/sensors-read.inheritance.0.stderr @@ -1,2 +1 @@ -humility: attached to dump humility sensors failed: no sensors found diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.stderr deleted file mode 100644 index fecf2bb78..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: no sensors found diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.stdout b/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.toml b/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.toml deleted file mode 100644 index 26a443d55..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 sensors " -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.stdout b/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.stdout deleted file mode 100644 index 1b7fdff62..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.stdout +++ /dev/null @@ -1,134 +0,0 @@ -NAME KIND VALUE UNPWR ERR MSSNG UNAVL TMOUT -Southwest temp 19.00 0 0 0 0 0 -South temp 18.98 0 0 0 0 0 -Southeast temp 18.98 0 0 0 0 0 -V12_U2A_A0 current - 60 0 0 0 0 -V3P3_U2A_A0 current - 60 0 0 0 0 -V12_U2A_A0 voltage - 60 0 0 0 0 -V3P3_U2A_A0 voltage - 60 0 0 0 0 -U2_N0 temp - 62 0 0 0 0 -V12_U2B_A0 current - 60 0 0 0 0 -V3P3_U2B_A0 current - 60 0 0 0 0 -V12_U2B_A0 voltage - 60 0 0 0 0 -V3P3_U2B_A0 voltage - 60 0 0 0 0 -U2_N1 temp - 62 0 0 0 0 -V12_U2C_A0 current - 60 0 0 0 0 -V3P3_U2C_A0 current - 60 0 0 0 0 -V12_U2C_A0 voltage - 60 0 0 0 0 -V3P3_U2C_A0 voltage - 60 0 0 0 0 -U2_N2 temp - 62 0 0 0 0 -V12_U2D_A0 current - 60 0 0 0 0 -V3P3_U2D_A0 current - 60 0 0 0 0 -V12_U2D_A0 voltage - 60 0 0 0 0 -V3P3_U2D_A0 voltage - 60 0 0 0 0 -U2_N3 temp - 62 0 0 0 0 -V12_U2E_A0 current - 60 0 0 0 0 -V3P3_U2E_A0 current - 60 0 0 0 0 -V12_U2E_A0 voltage - 60 0 0 0 0 -V3P3_U2E_A0 voltage - 60 0 0 0 0 -U2_N4 temp - 62 0 0 0 0 -V12_U2F_A0 current - 60 0 0 0 0 -V3P3_U2F_A0 current - 60 0 0 0 0 -V12_U2F_A0 voltage - 60 0 0 0 0 -V3P3_U2F_A0 voltage - 60 0 0 0 0 -U2_N5 temp - 62 0 0 0 0 -V12_U2G_A0 current - 60 0 0 0 0 -V3P3_U2G_A0 current - 60 0 0 0 0 -V12_U2G_A0 voltage - 60 0 0 0 0 -V3P3_U2G_A0 voltage - 60 0 0 0 0 -U2_N6 temp - 62 0 0 0 0 -V12_U2H_A0 current - 60 0 0 0 0 -V3P3_U2H_A0 current - 60 0 0 0 0 -V12_U2H_A0 voltage - 60 0 0 0 0 -V3P3_U2H_A0 voltage - 60 0 0 0 0 -U2_N7 temp - 62 0 0 0 0 -V12_U2I_A0 current - 60 0 0 0 0 -V3P3_U2I_A0 current - 60 0 0 0 0 -V12_U2I_A0 voltage - 60 0 0 0 0 -V3P3_U2I_A0 voltage - 60 0 0 0 0 -U2_N8 temp - 62 0 0 0 0 -V12_U2J_A0 current - 60 0 0 0 0 -V3P3_U2J_A0 current - 60 0 0 0 0 -V12_U2J_A0 voltage - 60 0 0 0 0 -V3P3_U2J_A0 voltage - 60 0 0 0 0 -U2_N9 temp - 62 0 0 0 0 -M2_A temp - 62 0 0 0 0 -M2_B temp - 62 0 0 0 0 -t6 temp - 62 0 0 0 0 -V3P3_SP_A2 temp 23.50 0 0 0 0 0 -V3P3_SP_A2 current 0.15 0 0 0 0 0 -V3P3_SP_A2 voltage 3.31 0 0 0 0 0 -V3P3_SYS_A0 temp - 60 0 0 0 0 -V3P3_SYS_A0 current - 60 0 0 0 0 -V3P3_SYS_A0 voltage - 60 0 0 0 0 -V5_SYS_A2 temp 23.00 0 0 0 0 0 -V5_SYS_A2 current -0.23 0 0 0 0 0 -V5_SYS_A2 voltage 4.99 0 0 0 0 0 -V1P8_SYS_A2 temp 24.75 0 0 0 0 0 -V1P8_SYS_A2 current 0.76 0 0 0 0 0 -V1P8_SYS_A2 voltage 1.79 0 0 0 0 0 -V3P3_M2A_A0HP current - 60 0 0 0 0 -V3P3_M2B_A0HP current - 60 0 0 0 0 -V3P3_M2A_A0HP voltage - 60 0 0 0 0 -V3P3_M2B_A0HP voltage - 60 0 0 0 0 -CPU temp - 62 0 0 0 0 -VDD_VCORE temp - 60 0 0 0 0 -VDD_MEM_ABCD temp - 60 0 0 0 0 -VDD_VCORE power - 0 0 0 0 0 -VDD_MEM_ABCD power - 0 0 0 0 0 -VDD_VCORE current - 60 0 0 0 0 -VDD_MEM_ABCD current - 60 0 0 0 0 -VDD_VCORE voltage - 60 0 0 0 0 -VDD_MEM_ABCD voltage - 60 0 0 0 0 -VDDCR_SOC temp - 60 0 0 0 0 -VDD_MEM_EFGH temp - 60 0 0 0 0 -VDDCR_SOC power - 0 0 0 0 0 -VDD_MEM_EFGH power - 0 0 0 0 0 -VDDCR_SOC current - 60 0 0 0 0 -VDD_MEM_EFGH current - 60 0 0 0 0 -VDDCR_SOC voltage - 60 0 0 0 0 -VDD_MEM_EFGH voltage - 60 0 0 0 0 -VPP_ABCD current - 60 0 0 0 0 -VPP_EFGH current - 60 0 0 0 0 -V1P8_SP3 current - 60 0 0 0 0 -VPP_ABCD voltage - 60 0 0 0 0 -VPP_EFGH voltage - 60 0 0 0 0 -V1P8_SP3 voltage - 60 0 0 0 0 -V54_FAN temp 20.45 0 0 0 0 0 -V54_FAN current 0.12 0 0 0 0 0 -V54_FAN voltage 54.01 0 0 0 0 0 -V54_HS_OUTPUT temp 21.40 0 0 0 0 0 -V54_HS_OUTPUT current 0.36 0 0 0 0 0 -V54_HS_OUTPUT voltage 53.99 0 0 0 0 0 -Southeast speed 1823.00 0 0 0 0 0 -Northeast speed 1813.00 0 0 0 0 0 -South speed 0.00 0 0 0 0 0 -North speed 1749.00 0 0 0 0 0 -Southwest speed 1897.00 0 0 0 0 0 -Northwest speed 1746.00 0 0 0 0 0 -V0P96_NIC_VDD_A0HP temp - 60 0 0 0 0 -V0P96_NIC_VDD_A0HP current - 60 0 0 0 0 -V0P96_NIC_VDD_A0HP voltage - 60 0 0 0 0 -Northeast temp 19.68 0 0 0 0 0 -North temp 19.73 0 0 0 0 0 -Northwest temp 19.70 0 0 0 0 0 -V12_SYS_A2 temp 27.25 0 0 0 0 0 -V12_SYS_A2 power - 0 0 0 0 0 -V12_SYS_A2 current 1.00 0 0 0 0 0 -V12_SYS_A2 voltage 12.01 0 0 0 0 0 -DIMM_A0 temp 19.75 0 0 0 0 0 -DIMM_A1 temp 19.75 0 0 0 0 0 -DIMM_B0 temp 19.75 0 0 0 0 0 -DIMM_B1 temp 20.00 0 0 0 0 0 -DIMM_C0 temp 19.75 0 0 0 0 0 -DIMM_C1 temp 19.75 0 0 0 0 0 -DIMM_D0 temp 19.75 0 0 0 0 0 -DIMM_D1 temp 20.00 0 0 0 0 0 -DIMM_E0 temp 19.50 0 0 0 0 0 -DIMM_E1 temp 19.75 0 0 0 0 0 -DIMM_F0 temp 19.50 0 0 0 0 0 -DIMM_F1 temp 20.00 0 0 0 0 0 -DIMM_G0 temp 19.75 0 0 0 0 0 -DIMM_G1 temp 19.50 0 0 0 0 0 -DIMM_H0 temp 19.75 0 0 0 0 0 -DIMM_H1 temp 19.75 0 0 0 0 0 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.toml b/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.toml deleted file mode 100644 index 13b6da372..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.kernel-panic.1.toml +++ /dev/null @@ -1,9 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 sensors " diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.new-compiler.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.new-compiler.stderr index fecf2bb78..ffd634767 100644 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.new-compiler.stderr +++ b/humility-bin/tests/cmd/sensors-read/sensors-read.new-compiler.stderr @@ -1,2 +1 @@ -humility: attached to dump humility sensors failed: no sensors found diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.stderr deleted file mode 100644 index 9bec5a442..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: could not find LAST_READING diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.stdout b/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.toml b/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.toml deleted file mode 100644 index bd43721b0..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 sensors " -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.stderr deleted file mode 100644 index fecf2bb78..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: no sensors found diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.stdout b/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.toml b/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.toml deleted file mode 100644 index 283fefafa..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 sensors " -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.stderr deleted file mode 100644 index fecf2bb78..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: no sensors found diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.stdout b/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.toml b/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.toml deleted file mode 100644 index 8ed680adf..000000000 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 sensors " -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors-read/sensors-read.v6.stderr b/humility-bin/tests/cmd/sensors-read/sensors-read.v6.stderr index fecf2bb78..ffd634767 100644 --- a/humility-bin/tests/cmd/sensors-read/sensors-read.v6.stderr +++ b/humility-bin/tests/cmd/sensors-read/sensors-read.v6.stderr @@ -1,2 +1 @@ -humility: attached to dump humility sensors failed: no sensors found diff --git a/humility-bin/tests/cmd/sensors/sensors.chilly.0.stderr b/humility-bin/tests/cmd/sensors/sensors.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.chilly.0.stdout b/humility-bin/tests/cmd/sensors/sensors.chilly.0.stdout deleted file mode 100644 index 583159dc3..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.chilly.0.stdout +++ /dev/null @@ -1,78 +0,0 @@ -ID HEXID KIND C P MUX ADDR DEVICE NAME - 0 0x0 temp 2 F - 0x48 tmp117 Southwest - 1 0x1 temp 2 F - 0x49 tmp117 South - 2 0x2 temp 2 F - 0x4a tmp117 Southeast - 3 0x3 temp 2 B 1:4 0x4c tmp451 tmp451 - 4 0x4 temp 3 H - 0x24 tps546b24a V3P3_SP_A2 - 5 0x5 current 3 H - 0x24 tps546b24a V3P3_SP_A2 - 6 0x6 voltage 3 H - 0x24 tps546b24a V3P3_SP_A2 - 7 0x7 temp 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 8 0x8 current 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 9 0x9 voltage 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 10 0xa temp 3 H - 0x27 tps546b24a V5_SYS_A2 - 11 0xb current 3 H - 0x27 tps546b24a V5_SYS_A2 - 12 0xc voltage 3 H - 0x27 tps546b24a V5_SYS_A2 - 13 0xd temp 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 14 0xe current 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 15 0xf voltage 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 16 0x10 temp 3 H - 0x4c sbtsi CPU - 17 0x11 temp 3 H - 0x5a raa229618 VDD_VCORE - 18 0x12 temp 3 H - 0x5a raa229618 VDD_MEM_ABCD - 19 0x13 power 3 H - 0x5a raa229618 VDD_VCORE - 20 0x14 power 3 H - 0x5a raa229618 VDD_MEM_ABCD - 21 0x15 current 3 H - 0x5a raa229618 VDD_VCORE - 22 0x16 current 3 H - 0x5a raa229618 VDD_MEM_ABCD - 23 0x17 voltage 3 H - 0x5a raa229618 VDD_VCORE - 24 0x18 voltage 3 H - 0x5a raa229618 VDD_MEM_ABCD - 25 0x19 temp 3 H - 0x5b raa229618 VDDCR_SOC - 26 0x1a temp 3 H - 0x5b raa229618 VDD_MEM_EFGH - 27 0x1b power 3 H - 0x5b raa229618 VDDCR_SOC - 28 0x1c power 3 H - 0x5b raa229618 VDD_MEM_EFGH - 29 0x1d current 3 H - 0x5b raa229618 VDDCR_SOC - 30 0x1e current 3 H - 0x5b raa229618 VDD_MEM_EFGH - 31 0x1f voltage 3 H - 0x5b raa229618 VDDCR_SOC - 32 0x20 voltage 3 H - 0x5b raa229618 VDD_MEM_EFGH - 33 0x21 current 3 H - 0x5c isl68224 VPP_ABCD - 34 0x22 current 3 H - 0x5c isl68224 VPP_EFGH - 35 0x23 current 3 H - 0x5c isl68224 V1P8_SP3 - 36 0x24 voltage 3 H - 0x5c isl68224 VPP_ABCD - 37 0x25 voltage 3 H - 0x5c isl68224 VPP_EFGH - 38 0x26 voltage 3 H - 0x5c isl68224 V1P8_SP3 - 39 0x27 temp 4 F - 0x10 adm1272 V54_FAN - 40 0x28 current 4 F - 0x10 adm1272 V54_FAN - 41 0x29 voltage 4 F - 0x10 adm1272 V54_FAN - 42 0x2a temp 4 F - 0x14 adm1272 V54_HS_OUTPUT - 43 0x2b current 4 F - 0x14 adm1272 V54_HS_OUTPUT - 44 0x2c voltage 4 F - 0x14 adm1272 V54_HS_OUTPUT - 45 0x2d speed 4 F - 0x20 max31790 max31790 - 46 0x2e speed 4 F - 0x20 max31790 max31790#1 - 47 0x2f speed 4 F - 0x20 max31790 max31790#2 - 48 0x30 speed 4 F - 0x20 max31790 max31790#3 - 49 0x31 speed 4 F - 0x20 max31790 max31790#4 - 50 0x32 speed 4 F - 0x20 max31790 max31790#5 - 51 0x33 temp 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP - 52 0x34 current 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP - 53 0x35 voltage 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP - 54 0x36 temp 4 F - 0x48 tmp117 Northeast - 55 0x37 temp 4 F - 0x49 tmp117 North - 56 0x38 temp 4 F - 0x4a tmp117 Northwest - 57 0x39 temp 4 F - 0x67 bmr491 V12_SYS_A2 - 58 0x3a power 4 F - 0x67 bmr491 V12_SYS_A2 - 59 0x3b current 4 F - 0x67 bmr491 V12_SYS_A2 - 60 0x3c voltage 4 F - 0x67 bmr491 V12_SYS_A2 - 61 0x3d temp 3 H - 0x18 tse2004av DIMM_A0 - 62 0x3e temp 3 H - 0x19 tse2004av DIMM_A1 - 63 0x3f temp 3 H - 0x1a tse2004av DIMM_B0 - 64 0x40 temp 3 H - 0x1b tse2004av DIMM_B1 - 65 0x41 temp 3 H - 0x1c tse2004av DIMM_C0 - 66 0x42 temp 3 H - 0x1d tse2004av DIMM_C1 - 67 0x43 temp 3 H - 0x1e tse2004av DIMM_D0 - 68 0x44 temp 3 H - 0x1f tse2004av DIMM_D1 - 69 0x45 temp 4 F - 0x18 tse2004av DIMM_E0 - 70 0x46 temp 4 F - 0x19 tse2004av DIMM_E1 - 71 0x47 temp 4 F - 0x1a tse2004av DIMM_F0 - 72 0x48 temp 4 F - 0x1b tse2004av DIMM_F1 - 73 0x49 temp 4 F - 0x1c tse2004av DIMM_G0 - 74 0x4a temp 4 F - 0x1d tse2004av DIMM_G1 - 75 0x4b temp 4 F - 0x1e tse2004av DIMM_H0 - 76 0x4c temp 4 F - 0x1f tse2004av DIMM_H1 diff --git a/humility-bin/tests/cmd/sensors/sensors.chilly.0.toml b/humility-bin/tests/cmd/sensors/sensors.chilly.0.toml deleted file mode 100644 index 6a47aa45f..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 sensors --list" - diff --git a/humility-bin/tests/cmd/sensors/sensors.control_plane_agent.overflow.0.stderr b/humility-bin/tests/cmd/sensors/sensors.control_plane_agent.overflow.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.control_plane_agent.overflow.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.control_plane_agent.overflow.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.cosmo.stderr b/humility-bin/tests/cmd/sensors/sensors.cosmo.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.cosmo.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.cosmo.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.counters.0.stderr b/humility-bin/tests/cmd/sensors/sensors.counters.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.counters.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.counters.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.duplicate_HostFlash_hash_REPLY.stderr b/humility-bin/tests/cmd/sensors/sensors.duplicate_HostFlash_hash_REPLY.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.duplicate_HostFlash_hash_REPLY.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.duplicate_HostFlash_hash_REPLY.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.extern-regions.stderr b/humility-bin/tests/cmd/sensors/sensors.extern-regions.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.extern-regions.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.extern-regions.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stderr b/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stderr index 8c01ecda6..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stderr @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: target does not appear booted and PC 0x1ff0a6e0 is unknown; is system executing boot ROM or other program? diff --git a/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stdout b/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stdout index e69de29bb..1c5ddab01 100644 --- a/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stdout +++ b/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.stdout @@ -0,0 +1,78 @@ +ID HEXID KIND C P MUX ADDR DEVICE NAME + 0 0x0 temp 2 F - 0x48 tmp117 Southwest + 1 0x1 temp 2 F - 0x49 tmp117 South + 2 0x2 temp 2 F - 0x4a tmp117 Southeast + 3 0x3 temp 2 B 1:4 0x4c tmp451 tmp451 + 4 0x4 temp 3 H - 0x24 tps546b24a V3P3_SP_A2 + 5 0x5 current 3 H - 0x24 tps546b24a V3P3_SP_A2 + 6 0x6 voltage 3 H - 0x24 tps546b24a V3P3_SP_A2 + 7 0x7 temp 3 H - 0x26 tps546b24a V3P3_SYS_A0 + 8 0x8 current 3 H - 0x26 tps546b24a V3P3_SYS_A0 + 9 0x9 voltage 3 H - 0x26 tps546b24a V3P3_SYS_A0 + 10 0xa temp 3 H - 0x27 tps546b24a V5_SYS_A2 + 11 0xb current 3 H - 0x27 tps546b24a V5_SYS_A2 + 12 0xc voltage 3 H - 0x27 tps546b24a V5_SYS_A2 + 13 0xd temp 3 H - 0x29 tps546b24a V1P8_SYS_A2 + 14 0xe current 3 H - 0x29 tps546b24a V1P8_SYS_A2 + 15 0xf voltage 3 H - 0x29 tps546b24a V1P8_SYS_A2 + 16 0x10 temp 3 H - 0x4c sbtsi CPU + 17 0x11 temp 3 H - 0x5a raa229618 VDD_VCORE + 18 0x12 temp 3 H - 0x5a raa229618 VDD_MEM_ABCD + 19 0x13 power 3 H - 0x5a raa229618 VDD_VCORE + 20 0x14 power 3 H - 0x5a raa229618 VDD_MEM_ABCD + 21 0x15 current 3 H - 0x5a raa229618 VDD_VCORE + 22 0x16 current 3 H - 0x5a raa229618 VDD_MEM_ABCD + 23 0x17 voltage 3 H - 0x5a raa229618 VDD_VCORE + 24 0x18 voltage 3 H - 0x5a raa229618 VDD_MEM_ABCD + 25 0x19 temp 3 H - 0x5b raa229618 VDDCR_SOC + 26 0x1a temp 3 H - 0x5b raa229618 VDD_MEM_EFGH + 27 0x1b power 3 H - 0x5b raa229618 VDDCR_SOC + 28 0x1c power 3 H - 0x5b raa229618 VDD_MEM_EFGH + 29 0x1d current 3 H - 0x5b raa229618 VDDCR_SOC + 30 0x1e current 3 H - 0x5b raa229618 VDD_MEM_EFGH + 31 0x1f voltage 3 H - 0x5b raa229618 VDDCR_SOC + 32 0x20 voltage 3 H - 0x5b raa229618 VDD_MEM_EFGH + 33 0x21 current 3 H - 0x5c isl68224 VPP_ABCD + 34 0x22 current 3 H - 0x5c isl68224 VPP_EFGH + 35 0x23 current 3 H - 0x5c isl68224 V1P8_SP3 + 36 0x24 voltage 3 H - 0x5c isl68224 VPP_ABCD + 37 0x25 voltage 3 H - 0x5c isl68224 VPP_EFGH + 38 0x26 voltage 3 H - 0x5c isl68224 V1P8_SP3 + 39 0x27 temp 4 F - 0x10 adm1272 V54_FAN + 40 0x28 current 4 F - 0x10 adm1272 V54_FAN + 41 0x29 voltage 4 F - 0x10 adm1272 V54_FAN + 42 0x2a temp 4 F - 0x14 adm1272 V54_HS_OUTPUT + 43 0x2b current 4 F - 0x14 adm1272 V54_HS_OUTPUT + 44 0x2c voltage 4 F - 0x14 adm1272 V54_HS_OUTPUT + 45 0x2d speed 4 F - 0x20 max31790 Southeast + 46 0x2e speed 4 F - 0x20 max31790 Northeast + 47 0x2f speed 4 F - 0x20 max31790 South + 48 0x30 speed 4 F - 0x20 max31790 North + 49 0x31 speed 4 F - 0x20 max31790 Southwest + 50 0x32 speed 4 F - 0x20 max31790 Northwest + 51 0x33 temp 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP + 52 0x34 current 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP + 53 0x35 voltage 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP + 54 0x36 temp 4 F - 0x48 tmp117 Northeast + 55 0x37 temp 4 F - 0x49 tmp117 North + 56 0x38 temp 4 F - 0x4a tmp117 Northwest + 57 0x39 temp 4 F - 0x67 bmr491 V12_SYS_A2 + 58 0x3a power 4 F - 0x67 bmr491 V12_SYS_A2 + 59 0x3b current 4 F - 0x67 bmr491 V12_SYS_A2 + 60 0x3c voltage 4 F - 0x67 bmr491 V12_SYS_A2 + 61 0x3d temp 3 H - 0x18 tse2004av DIMM_A0 + 62 0x3e temp 3 H - 0x19 tse2004av DIMM_A1 + 63 0x3f temp 3 H - 0x1a tse2004av DIMM_B0 + 64 0x40 temp 3 H - 0x1b tse2004av DIMM_B1 + 65 0x41 temp 3 H - 0x1c tse2004av DIMM_C0 + 66 0x42 temp 3 H - 0x1d tse2004av DIMM_C1 + 67 0x43 temp 3 H - 0x1e tse2004av DIMM_D0 + 68 0x44 temp 3 H - 0x1f tse2004av DIMM_D1 + 69 0x45 temp 4 F - 0x18 tse2004av DIMM_E0 + 70 0x46 temp 4 F - 0x19 tse2004av DIMM_E1 + 71 0x47 temp 4 F - 0x1a tse2004av DIMM_F0 + 72 0x48 temp 4 F - 0x1b tse2004av DIMM_F1 + 73 0x49 temp 4 F - 0x1c tse2004av DIMM_G0 + 74 0x4a temp 4 F - 0x1d tse2004av DIMM_G1 + 75 0x4b temp 4 F - 0x1e tse2004av DIMM_H0 + 76 0x4c temp 4 F - 0x1f tse2004av DIMM_H1 diff --git a/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.toml b/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.toml index ad3abf5d1..0b66f5b34 100644 --- a/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.toml +++ b/humility-bin/tests/cmd/sensors/sensors.flash-ram-mismatch.0.toml @@ -7,5 +7,3 @@ fs.base = "../cores" bin.name = "humility" args = "-d hubris.core.flash-ram-mismatch.0 sensors --list" - -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors/sensors.gimlet-c-dev-image-default-v1.0.2.zip.stderr b/humility-bin/tests/cmd/sensors/sensors.gimlet-c-dev-image-default-v1.0.2.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.gimlet-c-dev-image-default-v1.0.2.zip.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.gimlet-c-dev-image-default-v1.0.2.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/sensors/sensors.gimlet-rot-c-image-b.zip.stderr b/humility-bin/tests/cmd/sensors/sensors.gimlet-rot-c-image-b.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.gimlet-rot-c-image-b.zip.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.gimlet-rot-c-image-b.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/sensors/sensors.gimlet.stderr b/humility-bin/tests/cmd/sensors/sensors.gimlet.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.gimlet.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.gimlet.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.host-panic.0.stderr b/humility-bin/tests/cmd/sensors/sensors.host-panic.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.host-panic.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.host-panic.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.host-panic.1.stderr b/humility-bin/tests/cmd/sensors/sensors.host-panic.1.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.host-panic.1.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.host-panic.1.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.host-panic.2.stderr b/humility-bin/tests/cmd/sensors/sensors.host-panic.2.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.host-panic.2.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.host-panic.2.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.host-panic.3.stderr b/humility-bin/tests/cmd/sensors/sensors.host-panic.3.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.host-panic.3.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.host-panic.3.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.host-panic.4.stderr b/humility-bin/tests/cmd/sensors/sensors.host-panic.4.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.host-panic.4.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.host-panic.4.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.idol-returns-an-enum.stderr b/humility-bin/tests/cmd/sensors/sensors.idol-returns-an-enum.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.idol-returns-an-enum.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.idol-returns-an-enum.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.igor.0.stderr b/humility-bin/tests/cmd/sensors/sensors.igor.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.igor.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.igor.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.in_bootloader.0.stderr b/humility-bin/tests/cmd/sensors/sensors.in_bootloader.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.in_bootloader.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.in_bootloader.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.inheritance.0.stderr b/humility-bin/tests/cmd/sensors/sensors.inheritance.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.inheritance.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.inheritance.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.ipc-counts.0.stderr b/humility-bin/tests/cmd/sensors/sensors.ipc-counts.0.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.ipc-counts.0.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.ipc-counts.0.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.stderr b/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.stdout b/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.stdout deleted file mode 100644 index 009693831..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.stdout +++ /dev/null @@ -1 +0,0 @@ -ID HEXID KIND C P MUX ADDR DEVICE NAME diff --git a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.toml b/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.toml deleted file mode 100644 index 74d11ab79..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 sensors --list" - diff --git a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.stderr b/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.stdout b/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.stdout deleted file mode 100644 index d4b57f2e3..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.stdout +++ /dev/null @@ -1,134 +0,0 @@ -ID HEXID KIND C P MUX ADDR DEVICE NAME - 0 0x0 temp 2 F - 0x48 tmp117 Southwest - 1 0x1 temp 2 F - 0x49 tmp117 South - 2 0x2 temp 2 F - 0x4a tmp117 Southeast - 3 0x3 current 2 F 1:1 0x38 max5970 V12_U2A_A0 - 4 0x4 current 2 F 1:1 0x38 max5970 V3P3_U2A_A0 - 5 0x5 voltage 2 F 1:1 0x38 max5970 V12_U2A_A0 - 6 0x6 voltage 2 F 1:1 0x38 max5970 V3P3_U2A_A0 - 7 0x7 temp 2 F 1:1 0x6a nvme_bmc U2_N0 - 8 0x8 current 2 F 1:2 0x38 max5970 V12_U2B_A0 - 9 0x9 current 2 F 1:2 0x38 max5970 V3P3_U2B_A0 - 10 0xa voltage 2 F 1:2 0x38 max5970 V12_U2B_A0 - 11 0xb voltage 2 F 1:2 0x38 max5970 V3P3_U2B_A0 - 12 0xc temp 2 F 1:2 0x6a nvme_bmc U2_N1 - 13 0xd current 2 F 1:3 0x38 max5970 V12_U2C_A0 - 14 0xe current 2 F 1:3 0x38 max5970 V3P3_U2C_A0 - 15 0xf voltage 2 F 1:3 0x38 max5970 V12_U2C_A0 - 16 0x10 voltage 2 F 1:3 0x38 max5970 V3P3_U2C_A0 - 17 0x11 temp 2 F 1:3 0x6a nvme_bmc U2_N2 - 18 0x12 current 2 F 1:4 0x38 max5970 V12_U2D_A0 - 19 0x13 current 2 F 1:4 0x38 max5970 V3P3_U2D_A0 - 20 0x14 voltage 2 F 1:4 0x38 max5970 V12_U2D_A0 - 21 0x15 voltage 2 F 1:4 0x38 max5970 V3P3_U2D_A0 - 22 0x16 temp 2 F 1:4 0x6a nvme_bmc U2_N3 - 23 0x17 current 2 F 2:1 0x38 max5970 V12_U2E_A0 - 24 0x18 current 2 F 2:1 0x38 max5970 V3P3_U2E_A0 - 25 0x19 voltage 2 F 2:1 0x38 max5970 V12_U2E_A0 - 26 0x1a voltage 2 F 2:1 0x38 max5970 V3P3_U2E_A0 - 27 0x1b temp 2 F 2:1 0x6a nvme_bmc U2_N4 - 28 0x1c current 2 F 2:2 0x38 max5970 V12_U2F_A0 - 29 0x1d current 2 F 2:2 0x38 max5970 V3P3_U2F_A0 - 30 0x1e voltage 2 F 2:2 0x38 max5970 V12_U2F_A0 - 31 0x1f voltage 2 F 2:2 0x38 max5970 V3P3_U2F_A0 - 32 0x20 temp 2 F 2:2 0x6a nvme_bmc U2_N5 - 33 0x21 current 2 F 2:3 0x38 max5970 V12_U2G_A0 - 34 0x22 current 2 F 2:3 0x38 max5970 V3P3_U2G_A0 - 35 0x23 voltage 2 F 2:3 0x38 max5970 V12_U2G_A0 - 36 0x24 voltage 2 F 2:3 0x38 max5970 V3P3_U2G_A0 - 37 0x25 temp 2 F 2:3 0x6a nvme_bmc U2_N6 - 38 0x26 current 2 F 2:4 0x38 max5970 V12_U2H_A0 - 39 0x27 current 2 F 2:4 0x38 max5970 V3P3_U2H_A0 - 40 0x28 voltage 2 F 2:4 0x38 max5970 V12_U2H_A0 - 41 0x29 voltage 2 F 2:4 0x38 max5970 V3P3_U2H_A0 - 42 0x2a temp 2 F 2:4 0x6a nvme_bmc U2_N7 - 43 0x2b current 2 F 3:1 0x38 max5970 V12_U2I_A0 - 44 0x2c current 2 F 3:1 0x38 max5970 V3P3_U2I_A0 - 45 0x2d voltage 2 F 3:1 0x38 max5970 V12_U2I_A0 - 46 0x2e voltage 2 F 3:1 0x38 max5970 V3P3_U2I_A0 - 47 0x2f temp 2 F 3:1 0x6a nvme_bmc U2_N8 - 48 0x30 current 2 F 3:2 0x38 max5970 V12_U2J_A0 - 49 0x31 current 2 F 3:2 0x38 max5970 V3P3_U2J_A0 - 50 0x32 voltage 2 F 3:2 0x38 max5970 V12_U2J_A0 - 51 0x33 voltage 2 F 3:2 0x38 max5970 V3P3_U2J_A0 - 52 0x34 temp 2 F 3:2 0x6a nvme_bmc U2_N9 - 53 0x35 temp 2 B 1:1 0x6a m2_hp_only M2_A - 54 0x36 temp 2 B 1:2 0x6a m2_hp_only M2_B - 55 0x37 temp 2 B 1:4 0x4c tmp451 t6 - 56 0x38 temp 3 H - 0x24 tps546b24a V3P3_SP_A2 - 57 0x39 current 3 H - 0x24 tps546b24a V3P3_SP_A2 - 58 0x3a voltage 3 H - 0x24 tps546b24a V3P3_SP_A2 - 59 0x3b temp 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 60 0x3c current 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 61 0x3d voltage 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 62 0x3e temp 3 H - 0x27 tps546b24a V5_SYS_A2 - 63 0x3f current 3 H - 0x27 tps546b24a V5_SYS_A2 - 64 0x40 voltage 3 H - 0x27 tps546b24a V5_SYS_A2 - 65 0x41 temp 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 66 0x42 current 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 67 0x43 voltage 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 68 0x44 current 3 H - 0x3a max5970 V3P3_M2A_A0HP - 69 0x45 current 3 H - 0x3a max5970 V3P3_M2B_A0HP - 70 0x46 voltage 3 H - 0x3a max5970 V3P3_M2A_A0HP - 71 0x47 voltage 3 H - 0x3a max5970 V3P3_M2B_A0HP - 72 0x48 temp 3 H - 0x4c sbtsi CPU - 73 0x49 temp 3 H - 0x5a raa229618 VDD_VCORE - 74 0x4a temp 3 H - 0x5a raa229618 VDD_MEM_ABCD - 75 0x4b power 3 H - 0x5a raa229618 VDD_VCORE - 76 0x4c power 3 H - 0x5a raa229618 VDD_MEM_ABCD - 77 0x4d current 3 H - 0x5a raa229618 VDD_VCORE - 78 0x4e current 3 H - 0x5a raa229618 VDD_MEM_ABCD - 79 0x4f voltage 3 H - 0x5a raa229618 VDD_VCORE - 80 0x50 voltage 3 H - 0x5a raa229618 VDD_MEM_ABCD - 81 0x51 temp 3 H - 0x5b raa229618 VDDCR_SOC - 82 0x52 temp 3 H - 0x5b raa229618 VDD_MEM_EFGH - 83 0x53 power 3 H - 0x5b raa229618 VDDCR_SOC - 84 0x54 power 3 H - 0x5b raa229618 VDD_MEM_EFGH - 85 0x55 current 3 H - 0x5b raa229618 VDDCR_SOC - 86 0x56 current 3 H - 0x5b raa229618 VDD_MEM_EFGH - 87 0x57 voltage 3 H - 0x5b raa229618 VDDCR_SOC - 88 0x58 voltage 3 H - 0x5b raa229618 VDD_MEM_EFGH - 89 0x59 current 3 H - 0x5c isl68224 VPP_ABCD - 90 0x5a current 3 H - 0x5c isl68224 VPP_EFGH - 91 0x5b current 3 H - 0x5c isl68224 V1P8_SP3 - 92 0x5c voltage 3 H - 0x5c isl68224 VPP_ABCD - 93 0x5d voltage 3 H - 0x5c isl68224 VPP_EFGH - 94 0x5e voltage 3 H - 0x5c isl68224 V1P8_SP3 - 95 0x5f temp 4 F - 0x10 adm1272 V54_FAN - 96 0x60 current 4 F - 0x10 adm1272 V54_FAN - 97 0x61 voltage 4 F - 0x10 adm1272 V54_FAN - 98 0x62 temp 4 F - 0x14 adm1272 V54_HS_OUTPUT - 99 0x63 current 4 F - 0x14 adm1272 V54_HS_OUTPUT -100 0x64 voltage 4 F - 0x14 adm1272 V54_HS_OUTPUT -101 0x65 speed 4 F - 0x20 max31790 Southeast -102 0x66 speed 4 F - 0x20 max31790 Northeast -103 0x67 speed 4 F - 0x20 max31790 South -104 0x68 speed 4 F - 0x20 max31790 North -105 0x69 speed 4 F - 0x20 max31790 Southwest -106 0x6a speed 4 F - 0x20 max31790 Northwest -107 0x6b temp 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP -108 0x6c current 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP -109 0x6d voltage 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP -110 0x6e temp 4 F - 0x48 tmp117 Northeast -111 0x6f temp 4 F - 0x49 tmp117 North -112 0x70 temp 4 F - 0x4a tmp117 Northwest -113 0x71 temp 4 F - 0x67 bmr491 V12_SYS_A2 -114 0x72 power 4 F - 0x67 bmr491 V12_SYS_A2 -115 0x73 current 4 F - 0x67 bmr491 V12_SYS_A2 -116 0x74 voltage 4 F - 0x67 bmr491 V12_SYS_A2 -117 0x75 temp 3 H - 0x18 tse2004av DIMM_A0 -118 0x76 temp 3 H - 0x19 tse2004av DIMM_A1 -119 0x77 temp 3 H - 0x1a tse2004av DIMM_B0 -120 0x78 temp 3 H - 0x1b tse2004av DIMM_B1 -121 0x79 temp 3 H - 0x1c tse2004av DIMM_C0 -122 0x7a temp 3 H - 0x1d tse2004av DIMM_C1 -123 0x7b temp 3 H - 0x1e tse2004av DIMM_D0 -124 0x7c temp 3 H - 0x1f tse2004av DIMM_D1 -125 0x7d temp 4 F - 0x18 tse2004av DIMM_E0 -126 0x7e temp 4 F - 0x19 tse2004av DIMM_E1 -127 0x7f temp 4 F - 0x1a tse2004av DIMM_F0 -128 0x80 temp 4 F - 0x1b tse2004av DIMM_F1 -129 0x81 temp 4 F - 0x1c tse2004av DIMM_G0 -130 0x82 temp 4 F - 0x1d tse2004av DIMM_G1 -131 0x83 temp 4 F - 0x1e tse2004av DIMM_H0 -132 0x84 temp 4 F - 0x1f tse2004av DIMM_H1 diff --git a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.toml b/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.toml deleted file mode 100644 index 624dbf662..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 sensors --list" - diff --git a/humility-bin/tests/cmd/sensors/sensors.new-compiler.stderr b/humility-bin/tests/cmd/sensors/sensors.new-compiler.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.new-compiler.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.new-compiler.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.new-ringbuf.stderr b/humility-bin/tests/cmd/sensors/sensors.new-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.new-ringbuf.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.new-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.new-sensors.stderr b/humility-bin/tests/cmd/sensors/sensors.new-sensors.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.new-sensors.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.new-sensors.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.nightly-2022-11-01.stderr b/humility-bin/tests/cmd/sensors/sensors.nightly-2022-11-01.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.nightly-2022-11-01.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.nightly-2022-11-01.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stderr b/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stderr index 70cd8d4a3..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stderr @@ -1,2 +0,0 @@ -humility: attached to dump -humility sensors failed: kernel has panicked on boot: "panicked at 'assertion failed: `(left == right)`/n left: `1`,/n right: `2`', app/gimlet/src/main.rs:118:5" diff --git a/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stdout b/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stdout index e69de29bb..d4b57f2e3 100644 --- a/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stdout +++ b/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.stdout @@ -0,0 +1,134 @@ +ID HEXID KIND C P MUX ADDR DEVICE NAME + 0 0x0 temp 2 F - 0x48 tmp117 Southwest + 1 0x1 temp 2 F - 0x49 tmp117 South + 2 0x2 temp 2 F - 0x4a tmp117 Southeast + 3 0x3 current 2 F 1:1 0x38 max5970 V12_U2A_A0 + 4 0x4 current 2 F 1:1 0x38 max5970 V3P3_U2A_A0 + 5 0x5 voltage 2 F 1:1 0x38 max5970 V12_U2A_A0 + 6 0x6 voltage 2 F 1:1 0x38 max5970 V3P3_U2A_A0 + 7 0x7 temp 2 F 1:1 0x6a nvme_bmc U2_N0 + 8 0x8 current 2 F 1:2 0x38 max5970 V12_U2B_A0 + 9 0x9 current 2 F 1:2 0x38 max5970 V3P3_U2B_A0 + 10 0xa voltage 2 F 1:2 0x38 max5970 V12_U2B_A0 + 11 0xb voltage 2 F 1:2 0x38 max5970 V3P3_U2B_A0 + 12 0xc temp 2 F 1:2 0x6a nvme_bmc U2_N1 + 13 0xd current 2 F 1:3 0x38 max5970 V12_U2C_A0 + 14 0xe current 2 F 1:3 0x38 max5970 V3P3_U2C_A0 + 15 0xf voltage 2 F 1:3 0x38 max5970 V12_U2C_A0 + 16 0x10 voltage 2 F 1:3 0x38 max5970 V3P3_U2C_A0 + 17 0x11 temp 2 F 1:3 0x6a nvme_bmc U2_N2 + 18 0x12 current 2 F 1:4 0x38 max5970 V12_U2D_A0 + 19 0x13 current 2 F 1:4 0x38 max5970 V3P3_U2D_A0 + 20 0x14 voltage 2 F 1:4 0x38 max5970 V12_U2D_A0 + 21 0x15 voltage 2 F 1:4 0x38 max5970 V3P3_U2D_A0 + 22 0x16 temp 2 F 1:4 0x6a nvme_bmc U2_N3 + 23 0x17 current 2 F 2:1 0x38 max5970 V12_U2E_A0 + 24 0x18 current 2 F 2:1 0x38 max5970 V3P3_U2E_A0 + 25 0x19 voltage 2 F 2:1 0x38 max5970 V12_U2E_A0 + 26 0x1a voltage 2 F 2:1 0x38 max5970 V3P3_U2E_A0 + 27 0x1b temp 2 F 2:1 0x6a nvme_bmc U2_N4 + 28 0x1c current 2 F 2:2 0x38 max5970 V12_U2F_A0 + 29 0x1d current 2 F 2:2 0x38 max5970 V3P3_U2F_A0 + 30 0x1e voltage 2 F 2:2 0x38 max5970 V12_U2F_A0 + 31 0x1f voltage 2 F 2:2 0x38 max5970 V3P3_U2F_A0 + 32 0x20 temp 2 F 2:2 0x6a nvme_bmc U2_N5 + 33 0x21 current 2 F 2:3 0x38 max5970 V12_U2G_A0 + 34 0x22 current 2 F 2:3 0x38 max5970 V3P3_U2G_A0 + 35 0x23 voltage 2 F 2:3 0x38 max5970 V12_U2G_A0 + 36 0x24 voltage 2 F 2:3 0x38 max5970 V3P3_U2G_A0 + 37 0x25 temp 2 F 2:3 0x6a nvme_bmc U2_N6 + 38 0x26 current 2 F 2:4 0x38 max5970 V12_U2H_A0 + 39 0x27 current 2 F 2:4 0x38 max5970 V3P3_U2H_A0 + 40 0x28 voltage 2 F 2:4 0x38 max5970 V12_U2H_A0 + 41 0x29 voltage 2 F 2:4 0x38 max5970 V3P3_U2H_A0 + 42 0x2a temp 2 F 2:4 0x6a nvme_bmc U2_N7 + 43 0x2b current 2 F 3:1 0x38 max5970 V12_U2I_A0 + 44 0x2c current 2 F 3:1 0x38 max5970 V3P3_U2I_A0 + 45 0x2d voltage 2 F 3:1 0x38 max5970 V12_U2I_A0 + 46 0x2e voltage 2 F 3:1 0x38 max5970 V3P3_U2I_A0 + 47 0x2f temp 2 F 3:1 0x6a nvme_bmc U2_N8 + 48 0x30 current 2 F 3:2 0x38 max5970 V12_U2J_A0 + 49 0x31 current 2 F 3:2 0x38 max5970 V3P3_U2J_A0 + 50 0x32 voltage 2 F 3:2 0x38 max5970 V12_U2J_A0 + 51 0x33 voltage 2 F 3:2 0x38 max5970 V3P3_U2J_A0 + 52 0x34 temp 2 F 3:2 0x6a nvme_bmc U2_N9 + 53 0x35 temp 2 B 1:1 0x6a m2_hp_only M2_A + 54 0x36 temp 2 B 1:2 0x6a m2_hp_only M2_B + 55 0x37 temp 2 B 1:4 0x4c tmp451 t6 + 56 0x38 temp 3 H - 0x24 tps546b24a V3P3_SP_A2 + 57 0x39 current 3 H - 0x24 tps546b24a V3P3_SP_A2 + 58 0x3a voltage 3 H - 0x24 tps546b24a V3P3_SP_A2 + 59 0x3b temp 3 H - 0x26 tps546b24a V3P3_SYS_A0 + 60 0x3c current 3 H - 0x26 tps546b24a V3P3_SYS_A0 + 61 0x3d voltage 3 H - 0x26 tps546b24a V3P3_SYS_A0 + 62 0x3e temp 3 H - 0x27 tps546b24a V5_SYS_A2 + 63 0x3f current 3 H - 0x27 tps546b24a V5_SYS_A2 + 64 0x40 voltage 3 H - 0x27 tps546b24a V5_SYS_A2 + 65 0x41 temp 3 H - 0x29 tps546b24a V1P8_SYS_A2 + 66 0x42 current 3 H - 0x29 tps546b24a V1P8_SYS_A2 + 67 0x43 voltage 3 H - 0x29 tps546b24a V1P8_SYS_A2 + 68 0x44 current 3 H - 0x3a max5970 V3P3_M2A_A0HP + 69 0x45 current 3 H - 0x3a max5970 V3P3_M2B_A0HP + 70 0x46 voltage 3 H - 0x3a max5970 V3P3_M2A_A0HP + 71 0x47 voltage 3 H - 0x3a max5970 V3P3_M2B_A0HP + 72 0x48 temp 3 H - 0x4c sbtsi CPU + 73 0x49 temp 3 H - 0x5a raa229618 VDD_VCORE + 74 0x4a temp 3 H - 0x5a raa229618 VDD_MEM_ABCD + 75 0x4b power 3 H - 0x5a raa229618 VDD_VCORE + 76 0x4c power 3 H - 0x5a raa229618 VDD_MEM_ABCD + 77 0x4d current 3 H - 0x5a raa229618 VDD_VCORE + 78 0x4e current 3 H - 0x5a raa229618 VDD_MEM_ABCD + 79 0x4f voltage 3 H - 0x5a raa229618 VDD_VCORE + 80 0x50 voltage 3 H - 0x5a raa229618 VDD_MEM_ABCD + 81 0x51 temp 3 H - 0x5b raa229618 VDDCR_SOC + 82 0x52 temp 3 H - 0x5b raa229618 VDD_MEM_EFGH + 83 0x53 power 3 H - 0x5b raa229618 VDDCR_SOC + 84 0x54 power 3 H - 0x5b raa229618 VDD_MEM_EFGH + 85 0x55 current 3 H - 0x5b raa229618 VDDCR_SOC + 86 0x56 current 3 H - 0x5b raa229618 VDD_MEM_EFGH + 87 0x57 voltage 3 H - 0x5b raa229618 VDDCR_SOC + 88 0x58 voltage 3 H - 0x5b raa229618 VDD_MEM_EFGH + 89 0x59 current 3 H - 0x5c isl68224 VPP_ABCD + 90 0x5a current 3 H - 0x5c isl68224 VPP_EFGH + 91 0x5b current 3 H - 0x5c isl68224 V1P8_SP3 + 92 0x5c voltage 3 H - 0x5c isl68224 VPP_ABCD + 93 0x5d voltage 3 H - 0x5c isl68224 VPP_EFGH + 94 0x5e voltage 3 H - 0x5c isl68224 V1P8_SP3 + 95 0x5f temp 4 F - 0x10 adm1272 V54_FAN + 96 0x60 current 4 F - 0x10 adm1272 V54_FAN + 97 0x61 voltage 4 F - 0x10 adm1272 V54_FAN + 98 0x62 temp 4 F - 0x14 adm1272 V54_HS_OUTPUT + 99 0x63 current 4 F - 0x14 adm1272 V54_HS_OUTPUT +100 0x64 voltage 4 F - 0x14 adm1272 V54_HS_OUTPUT +101 0x65 speed 4 F - 0x20 max31790 Southeast +102 0x66 speed 4 F - 0x20 max31790 Northeast +103 0x67 speed 4 F - 0x20 max31790 South +104 0x68 speed 4 F - 0x20 max31790 North +105 0x69 speed 4 F - 0x20 max31790 Southwest +106 0x6a speed 4 F - 0x20 max31790 Northwest +107 0x6b temp 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP +108 0x6c current 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP +109 0x6d voltage 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP +110 0x6e temp 4 F - 0x48 tmp117 Northeast +111 0x6f temp 4 F - 0x49 tmp117 North +112 0x70 temp 4 F - 0x4a tmp117 Northwest +113 0x71 temp 4 F - 0x67 bmr491 V12_SYS_A2 +114 0x72 power 4 F - 0x67 bmr491 V12_SYS_A2 +115 0x73 current 4 F - 0x67 bmr491 V12_SYS_A2 +116 0x74 voltage 4 F - 0x67 bmr491 V12_SYS_A2 +117 0x75 temp 3 H - 0x18 tse2004av DIMM_A0 +118 0x76 temp 3 H - 0x19 tse2004av DIMM_A1 +119 0x77 temp 3 H - 0x1a tse2004av DIMM_B0 +120 0x78 temp 3 H - 0x1b tse2004av DIMM_B1 +121 0x79 temp 3 H - 0x1c tse2004av DIMM_C0 +122 0x7a temp 3 H - 0x1d tse2004av DIMM_C1 +123 0x7b temp 3 H - 0x1e tse2004av DIMM_D0 +124 0x7c temp 3 H - 0x1f tse2004av DIMM_D1 +125 0x7d temp 4 F - 0x18 tse2004av DIMM_E0 +126 0x7e temp 4 F - 0x19 tse2004av DIMM_E1 +127 0x7f temp 4 F - 0x1a tse2004av DIMM_F0 +128 0x80 temp 4 F - 0x1b tse2004av DIMM_F1 +129 0x81 temp 4 F - 0x1c tse2004av DIMM_G0 +130 0x82 temp 4 F - 0x1d tse2004av DIMM_G1 +131 0x83 temp 4 F - 0x1e tse2004av DIMM_H0 +132 0x84 temp 4 F - 0x1f tse2004av DIMM_H1 diff --git a/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.toml b/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.toml index a13471017..05f2fc23b 100644 --- a/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.toml +++ b/humility-bin/tests/cmd/sensors/sensors.panic-on-boot.toml @@ -7,5 +7,3 @@ fs.base = "../cores" bin.name = "humility" args = "-d hubris.core.panic-on-boot sensors --list" - -status.code = 1 diff --git a/humility-bin/tests/cmd/sensors/sensors.sidecar-b-image-default.zip.stderr b/humility-bin/tests/cmd/sensors/sensors.sidecar-b-image-default.zip.stderr index f53ee36fe..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.sidecar-b-image-default.zip.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.sidecar-b-image-default.zip.stderr @@ -1 +0,0 @@ -humility: attached to archive diff --git a/humility-bin/tests/cmd/sensors/sensors.spoopy.0.stderr b/humility-bin/tests/cmd/sensors/sensors.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.spoopy.0.stdout b/humility-bin/tests/cmd/sensors/sensors.spoopy.0.stdout deleted file mode 100644 index cdd938109..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.spoopy.0.stdout +++ /dev/null @@ -1,62 +0,0 @@ -ID HEXID KIND C P MUX ADDR DEVICE NAME - 0 0x0 temp 2 F - 0x48 tmp117 Southwest - 1 0x1 temp 2 F - 0x49 tmp117 South - 2 0x2 temp 2 F - 0x4a tmp117 Southeast - 3 0x3 temp 2 B 1:4 0x4c tmp451 tmp451 - 4 0x4 temp 3 H - 0x24 tps546b24a V3P3_SP_A2 - 5 0x5 current 3 H - 0x24 tps546b24a V3P3_SP_A2 - 6 0x6 voltage 3 H - 0x24 tps546b24a V3P3_SP_A2 - 7 0x7 temp 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 8 0x8 current 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 9 0x9 voltage 3 H - 0x26 tps546b24a V3P3_SYS_A0 - 10 0xa temp 3 H - 0x27 tps546b24a V5_SYS_A2 - 11 0xb current 3 H - 0x27 tps546b24a V5_SYS_A2 - 12 0xc voltage 3 H - 0x27 tps546b24a V5_SYS_A2 - 13 0xd temp 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 14 0xe current 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 15 0xf voltage 3 H - 0x29 tps546b24a V1P8_SYS_A2 - 16 0x10 temp 3 H - 0x4c sbtsi CPU - 17 0x11 temp 3 H - 0x5a raa229618 VDD_VCORE - 18 0x12 temp 3 H - 0x5a raa229618 VDD_MEM_ABCD - 19 0x13 power 3 H - 0x5a raa229618 VDD_VCORE - 20 0x14 power 3 H - 0x5a raa229618 VDD_MEM_ABCD - 21 0x15 current 3 H - 0x5a raa229618 VDD_VCORE - 22 0x16 current 3 H - 0x5a raa229618 VDD_MEM_ABCD - 23 0x17 voltage 3 H - 0x5a raa229618 VDD_VCORE - 24 0x18 voltage 3 H - 0x5a raa229618 VDD_MEM_ABCD - 25 0x19 temp 3 H - 0x5b raa229618 VDDCR_SOC - 26 0x1a temp 3 H - 0x5b raa229618 VDD_MEM_EFGH - 27 0x1b power 3 H - 0x5b raa229618 VDDCR_SOC - 28 0x1c power 3 H - 0x5b raa229618 VDD_MEM_EFGH - 29 0x1d current 3 H - 0x5b raa229618 VDDCR_SOC - 30 0x1e current 3 H - 0x5b raa229618 VDD_MEM_EFGH - 31 0x1f voltage 3 H - 0x5b raa229618 VDDCR_SOC - 32 0x20 voltage 3 H - 0x5b raa229618 VDD_MEM_EFGH - 33 0x21 current 3 H - 0x5c isl68224 VPP_ABCD - 34 0x22 current 3 H - 0x5c isl68224 VPP_EFGH - 35 0x23 current 3 H - 0x5c isl68224 V1P8_SP3 - 36 0x24 voltage 3 H - 0x5c isl68224 VPP_ABCD - 37 0x25 voltage 3 H - 0x5c isl68224 VPP_EFGH - 38 0x26 voltage 3 H - 0x5c isl68224 V1P8_SP3 - 39 0x27 temp 4 F - 0x10 adm1272 V54_FAN - 40 0x28 current 4 F - 0x10 adm1272 V54_FAN - 41 0x29 voltage 4 F - 0x10 adm1272 V54_FAN - 42 0x2a temp 4 F - 0x14 adm1272 V54_HS_OUTPUT - 43 0x2b current 4 F - 0x14 adm1272 V54_HS_OUTPUT - 44 0x2c voltage 4 F - 0x14 adm1272 V54_HS_OUTPUT - 45 0x2d speed 4 F - 0x20 max31790 max31790 - 46 0x2e speed 4 F - 0x20 max31790 max31790#1 - 47 0x2f speed 4 F - 0x20 max31790 max31790#2 - 48 0x30 speed 4 F - 0x20 max31790 max31790#3 - 49 0x31 speed 4 F - 0x20 max31790 max31790#4 - 50 0x32 speed 4 F - 0x20 max31790 max31790#5 - 51 0x33 temp 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP - 52 0x34 current 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP - 53 0x35 voltage 4 F - 0x25 tps546b24a V0P96_NIC_VDD_A0HP - 54 0x36 temp 4 F - 0x48 tmp117 Northeast - 55 0x37 temp 4 F - 0x49 tmp117 North - 56 0x38 temp 4 F - 0x4a tmp117 Northwest - 57 0x39 temp 4 F - 0x67 bmr491 V12_SYS_A2 - 58 0x3a power 4 F - 0x67 bmr491 V12_SYS_A2 - 59 0x3b current 4 F - 0x67 bmr491 V12_SYS_A2 - 60 0x3c voltage 4 F - 0x67 bmr491 V12_SYS_A2 diff --git a/humility-bin/tests/cmd/sensors/sensors.spoopy.0.toml b/humility-bin/tests/cmd/sensors/sensors.spoopy.0.toml deleted file mode 100644 index fc2e794bc..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 sensors --list" - diff --git a/humility-bin/tests/cmd/sensors/sensors.sprot_status.stderr b/humility-bin/tests/cmd/sensors/sensors.sprot_status.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.sprot_status.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.sprot_status.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.stderr b/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.stdout b/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.stdout deleted file mode 100644 index 009693831..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.stdout +++ /dev/null @@ -1 +0,0 @@ -ID HEXID KIND C P MUX ADDR DEVICE NAME diff --git a/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.toml b/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.toml deleted file mode 100644 index c913f1cde..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 sensors --list" - diff --git a/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.stderr b/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.stdout b/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.stdout deleted file mode 100644 index 009693831..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.stdout +++ /dev/null @@ -1 +0,0 @@ -ID HEXID KIND C P MUX ADDR DEVICE NAME diff --git a/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.toml b/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.toml deleted file mode 100644 index 85440cf68..000000000 --- a/humility-bin/tests/cmd/sensors/sensors.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 sensors --list" - diff --git a/humility-bin/tests/cmd/sensors/sensors.task.net.stderr b/humility-bin/tests/cmd/sensors/sensors.task.net.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.task.net.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.task.net.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.task.power.stderr b/humility-bin/tests/cmd/sensors/sensors.task.power.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.task.power.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.task.power.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.u16-ringbuf.stderr b/humility-bin/tests/cmd/sensors/sensors.u16-ringbuf.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.u16-ringbuf.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.u16-ringbuf.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/sensors/sensors.v6.stderr b/humility-bin/tests/cmd/sensors/sensors.v6.stderr index da2ede4a0..e69de29bb 100644 --- a/humility-bin/tests/cmd/sensors/sensors.v6.stderr +++ b/humility-bin/tests/cmd/sensors/sensors.v6.stderr @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/spd/spd.chilly.0.stderr b/humility-bin/tests/cmd/spd/spd.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/spd/spd.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/spd/spd.chilly.0.stdout b/humility-bin/tests/cmd/spd/spd.chilly.0.stdout deleted file mode 100644 index 249e7e933..000000000 --- a/humility-bin/tests/cmd/spd/spd.chilly.0.stdout +++ /dev/null @@ -1,17 +0,0 @@ -ADDR MANUFACTURER PART WEEK YEAR - 0 Samsung M393A8G40AB2-CWE 1 2021 - 1 Samsung M393A8G40AB2-CWE 1 2021 - 2 Samsung M393A8G40AB2-CWE 1 2021 - 3 Samsung M393A8G40AB2-CWE 1 2021 - 4 Samsung M393A8G40AB2-CWE 1 2021 - 5 Samsung M393A8G40AB2-CWE 1 2021 - 6 Samsung M393A8G40AB2-CWE 1 2021 - 7 Samsung M393A8G40AB2-CWE 1 2021 - 8 Samsung M393A8G40AB2-CWE 1 2021 - 9 Samsung M393A8G40AB2-CWE 1 2021 - 10 Samsung M393A8G40AB2-CWE 1 2021 - 11 Samsung M393A8G40AB2-CWE 1 2021 - 12 Micron Technology 36ASF8G72PZ-3G2E1 1 2021 - 13 Micron Technology 36ASF8G72PZ-3G2E1 1 2021 - 14 Micron Technology 36ASF8G72PZ-3G2E1 1 2021 - 15 Micron Technology 36ASF8G72PZ-3G2E1 1 2021 diff --git a/humility-bin/tests/cmd/spd/spd.chilly.0.toml b/humility-bin/tests/cmd/spd/spd.chilly.0.toml deleted file mode 100644 index 104b231aa..000000000 --- a/humility-bin/tests/cmd/spd/spd.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 spd" - diff --git a/humility-bin/tests/cmd/spd/spd.kernel-panic.0.stderr b/humility-bin/tests/cmd/spd/spd.kernel-panic.0.stderr deleted file mode 100644 index 9710b931d..000000000 --- a/humility-bin/tests/cmd/spd/spd.kernel-panic.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility spd failed: no bus specified and no SPD_DATA found diff --git a/humility-bin/tests/cmd/spd/spd.kernel-panic.0.stdout b/humility-bin/tests/cmd/spd/spd.kernel-panic.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/spd/spd.kernel-panic.0.toml b/humility-bin/tests/cmd/spd/spd.kernel-panic.0.toml deleted file mode 100644 index 979b884fd..000000000 --- a/humility-bin/tests/cmd/spd/spd.kernel-panic.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 spd" - -status.code = 1 diff --git a/humility-bin/tests/cmd/spd/spd.kernel-panic.1.stderr b/humility-bin/tests/cmd/spd/spd.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/spd/spd.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/spd/spd.kernel-panic.1.stdout b/humility-bin/tests/cmd/spd/spd.kernel-panic.1.stdout deleted file mode 100644 index 0eba36fdf..000000000 --- a/humility-bin/tests/cmd/spd/spd.kernel-panic.1.stdout +++ /dev/null @@ -1,17 +0,0 @@ -ADDR MANUFACTURER PART WEEK YEAR - 0 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 1 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 2 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 3 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 4 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 5 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 6 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 7 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 8 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 9 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 10 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 11 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 12 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 13 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 14 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 - 15 Micron Technology 36ASF8G72PZ-3G2E1 44 2021 diff --git a/humility-bin/tests/cmd/spd/spd.kernel-panic.1.toml b/humility-bin/tests/cmd/spd/spd.kernel-panic.1.toml deleted file mode 100644 index db745ce25..000000000 --- a/humility-bin/tests/cmd/spd/spd.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 spd" - diff --git a/humility-bin/tests/cmd/spd/spd.spoopy.0.stderr b/humility-bin/tests/cmd/spd/spd.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/spd/spd.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/spd/spd.spoopy.0.stdout b/humility-bin/tests/cmd/spd/spd.spoopy.0.stdout deleted file mode 100644 index 44b910f1d..000000000 --- a/humility-bin/tests/cmd/spd/spd.spoopy.0.stdout +++ /dev/null @@ -1,5 +0,0 @@ -ADDR MANUFACTURER PART WEEK YEAR - 0 Samsung M393A8G40AB2-CWE 1 2021 - 1 Samsung M393A8G40AB2-CWE 1 2021 - 8 Samsung M393A8G40AB2-CWE 1 2021 - 9 Samsung M393A8G40AB2-CWE 1 2021 diff --git a/humility-bin/tests/cmd/spd/spd.spoopy.0.toml b/humility-bin/tests/cmd/spd/spd.spoopy.0.toml deleted file mode 100644 index 402a4dbcc..000000000 --- a/humility-bin/tests/cmd/spd/spd.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 spd" - diff --git a/humility-bin/tests/cmd/spd/spd.static-tasks.0.stderr b/humility-bin/tests/cmd/spd/spd.static-tasks.0.stderr deleted file mode 100644 index 9710b931d..000000000 --- a/humility-bin/tests/cmd/spd/spd.static-tasks.0.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility spd failed: no bus specified and no SPD_DATA found diff --git a/humility-bin/tests/cmd/spd/spd.static-tasks.0.stdout b/humility-bin/tests/cmd/spd/spd.static-tasks.0.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/spd/spd.static-tasks.0.toml b/humility-bin/tests/cmd/spd/spd.static-tasks.0.toml deleted file mode 100644 index fe0d226d3..000000000 --- a/humility-bin/tests/cmd/spd/spd.static-tasks.0.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 spd" - -status.code = 1 diff --git a/humility-bin/tests/cmd/spd/spd.static-tasks.1.stderr b/humility-bin/tests/cmd/spd/spd.static-tasks.1.stderr deleted file mode 100644 index 9710b931d..000000000 --- a/humility-bin/tests/cmd/spd/spd.static-tasks.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility spd failed: no bus specified and no SPD_DATA found diff --git a/humility-bin/tests/cmd/spd/spd.static-tasks.1.stdout b/humility-bin/tests/cmd/spd/spd.static-tasks.1.stdout deleted file mode 100644 index e69de29bb..000000000 diff --git a/humility-bin/tests/cmd/spd/spd.static-tasks.1.toml b/humility-bin/tests/cmd/spd/spd.static-tasks.1.toml deleted file mode 100644 index ccb6d505f..000000000 --- a/humility-bin/tests/cmd/spd/spd.static-tasks.1.toml +++ /dev/null @@ -1,11 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 spd" - -status.code = 1 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.stderr b/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.stdout b/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.stdout deleted file mode 100644 index 171ab4a93..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.stdout +++ /dev/null @@ -1,17 +0,0 @@ -ID TASK STACKBASE STACKSIZE MAXDEPTH MARGIN - 0 jefe 0x20017000 1536 336 1200 - 1 net 0x20002000 3800 3192 608 - 2 sys 0x2001a000 896 184 712 - 3 spi4_driver 0x20017800 872 320 552 - 4 spi2_driver 0x20018000 872 552 320 - 5 i2c_driver 0x20018800 896 568 328 - 6 spd 0x20004000 896 448 448 - 7 thermal 0x20010000 4504 3568 936 - 8 power 0x20014000 2048 1360 688 - 9 hiffy 0x20008000 1024 888 136 -10 gimlet_seq 0x20015000 1600 648 952 -11 hf 0x20019000 1920 632 1288 -12 sensor 0x20019800 1920 1408 512 -13 udpecho 0x20012000 4096 640 3456 -14 validate 0x20016000 1000 216 784 -15 idle 0x2001a400 256 112 144 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.toml b/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.toml deleted file mode 100644 index 90c149a84..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 stackmargin" - diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.stderr b/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.stdout b/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.stdout deleted file mode 100644 index e0743b781..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.stdout +++ /dev/null @@ -1,15 +0,0 @@ -ID TASK STACKBASE STACKSIZE MAXDEPTH MARGIN - 0 jefe 0x20001800 1536 736 800 - 1 sys 0x20001400 896 184 712 - 2 i2c_driver 0x20010000 896 336 560 - 3 spi_driver 0x20010800 880 320 560 - 4 net 0x20002000 3800 1704 2096 - 5 user_leds 0x20011000 896 248 648 - 6 ping 0x20011400 896 200 696 - 7 pong 0x20011800 896 208 688 - 8 udpecho 0x20004000 4096 640 3456 - 9 hiffy 0x20008000 2048 104 1944 -10 hf 0x20006000 2048 680 1368 -11 hash_driver 0x20007000 2048 1000 1048 -12 idle 0x20011e00 256 104 152 -13 rng_driver 0x20011c00 256 200 56 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.toml b/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.toml deleted file mode 100644 index 7791c418a..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 stackmargin" - diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.stderr b/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.stdout b/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.stdout deleted file mode 100644 index 614edb0f8..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.stdout +++ /dev/null @@ -1,25 +0,0 @@ -ID TASK STACKBASE STACKSIZE MAXDEPTH MARGIN - 0 jefe 0x24038000 1536 400 1136 - 1 net 0x24008000 6040 4304 1736 - 2 sys 0x2403a800 896 192 704 - 3 spi4_driver 0x24038800 872 320 552 - 4 spi2_driver 0x24039000 872 544 328 - 5 i2c_driver 0x24039800 896 592 304 - 6 spd 0x24004000 896 568 328 - 7 thermal 0x24002000 4504 3848 656 - 8 power 0x24032000 1000 384 616 - 9 hiffy 0x24010000 1024 608 416 -10 gimlet_seq 0x24033000 1600 704 896 -11 hash_driver 0x24034000 2048 984 1064 -12 hf 0x2403a000 1920 688 1232 -13 update_server 0x24035000 2048 1232 816 -14 sensor 0x2402c000 1024 272 752 -15 host_sp_comms 0x24018000 2048 872 1176 -16 udpecho 0x2402e000 4096 584 3512 -17 udpbroadcast 0x24036000 2048 312 1736 -18 udprpc 0x24030000 4096 2592 1504 -19 control_plane_agent 0x24028000 4096 1216 2880 -20 sprot 0x24020000 16384 2488 13896 -21 validate 0x24037000 1000 192 808 -22 vpd 0x2403ac00 800 416 384 -23 idle 0x2403b000 256 256 0 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.toml b/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.toml deleted file mode 100644 index f89de5d99..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 stackmargin" - diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.stderr b/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.stdout b/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.stdout deleted file mode 100644 index 8ae66c67e..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.stdout +++ /dev/null @@ -1,16 +0,0 @@ -ID TASK STACKBASE STACKSIZE MAXDEPTH MARGIN - 0 jefe 0x20014000 1536 336 1200 - 1 net 0x20002000 3800 3192 608 - 2 sys 0x20017800 896 184 712 - 3 spi4_driver 0x20014800 872 320 552 - 4 spi2_driver 0x20015000 872 552 320 - 5 i2c_driver 0x20015800 896 560 336 - 6 spd 0x20004000 896 448 448 - 7 thermal 0x20016000 1920 440 1480 - 8 power 0x20012000 2048 1352 696 - 9 hiffy 0x20008000 1024 888 136 -10 gimlet_seq 0x20013000 1600 648 952 -11 hf 0x20016800 1920 632 1288 -12 sensor 0x20017000 1920 1152 768 -13 udpecho 0x20010000 4096 640 3456 -14 idle 0x20017c00 256 112 144 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.toml b/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.toml deleted file mode 100644 index 1cf35a652..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 stackmargin" - diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.stderr b/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.stdout b/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.stdout deleted file mode 100644 index 172a4669f..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.stdout +++ /dev/null @@ -1,16 +0,0 @@ -ID TASK STACKBASE STACKSIZE MAXDEPTH MARGIN - 0 jefe 0x20013000 1536 336 1200 - 1 sys 0x20015000 896 200 696 - 2 i2c_driver 0x20013800 896 800 96 - 3 spi_driver 0x20014000 880 736 144 - 4 user_leds 0x20015400 896 264 632 - 5 pong 0x20015800 896 216 680 - 6 uartecho 0x20010000 2048 352 1696 - 7 hiffy 0x20008000 2048 104 1944 - 8 hf 0x20014800 1920 104 1816 - 9 net 0x20004000 4320 104 4216 -10 udpecho 0x20002000 4096 104 3992 -11 validate 0x20011000 1024 104 920 -12 idle 0x20015e00 256 104 152 -13 rng_driver 0x20015c00 256 104 152 -14 update_server 0x20012000 2048 104 1944 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.toml b/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.toml deleted file mode 100644 index faae32ec4..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 stackmargin" - diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.stderr b/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.stdout b/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.stdout deleted file mode 100644 index 6e858cd16..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.stdout +++ /dev/null @@ -1,16 +0,0 @@ -ID TASK STACKBASE STACKSIZE MAXDEPTH MARGIN - 0 jefe 0x20013000 1536 336 1200 - 1 sys 0x20015000 896 184 712 - 2 i2c_driver 0x20013800 896 384 512 - 3 spi_driver 0x20014000 880 320 560 - 4 user_leds 0x20015400 896 256 640 - 5 pong 0x20015800 896 208 688 - 6 uartecho 0x20010000 2048 352 1696 - 7 hiffy 0x20008000 2048 840 1208 - 8 hf 0x20014800 1920 616 1304 - 9 net 0x20004000 4320 2440 1880 -10 udpecho 0x20002000 4096 696 3400 -11 validate 0x20011000 1024 176 848 -12 idle 0x20015e00 256 112 144 -13 rng_driver 0x20015c00 256 200 56 -14 update_server 0x20012000 2048 1224 824 diff --git a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.toml b/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.toml deleted file mode 100644 index 24000fac9..000000000 --- a/humility-bin/tests/cmd/stackmargin/stackmargin.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 stackmargin" - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.stderr b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.stdout b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.stdout deleted file mode 100644 index f4b8a8d88..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.stdout +++ /dev/null @@ -1,1014 +0,0 @@ -system time = 687534 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+66) - | - +---> 0x20017538 0x08065548 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20017600 0x080642c6 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20017600 0x080642c6 userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20017600 0x080642c6 main - | @ /hubris/task/jefe/src/main.rs:132:23 - | - | - +---> R0 = 0x08065bf4 R1 = 0x00000000 R2 = 0x00000003 R3 = 0x200175dc - | R4 = 0x08065bf4 R5 = 0x00000000 R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x200175c8 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x200175a4 SP = 0x20017518 LR = 0x080642c7 PC = 0x08065548 - | PSR = 0x41000000 - | - +-----------> 0x20000408 Task { - save: SavedState { - r4: 0x8065bf4, - r5: 0x0, - r6: 0x3, - r7: 0x0, - r8: 0x200175c8, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x200174b0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0xffffffff - }, - priority: Priority(0x0), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xa7df0)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f08 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005358 (&TaskDesc) - } - - 1 net 0 2 recv, notif: bit0(irq61) bit1(T+21) - | - +---> 0x200028a8 0x0802e7b4 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20002ed8 0x080257fe userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20002ed8 0x080257fe idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:250:20 - | 0x20002ed8 0x080257fe main - | @ /hubris/task/net/src/main.rs:180:13 - | - | - +---> R0 = 0x20002c98 R1 = 0x0000001c R2 = 0x00000003 R3 = 0x20002d38 - | R4 = 0x20002c98 R5 = 0x0000001c R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x20002d38 R9 = 0x00000042 R10 = 0x00000010 R11 = 0x00000001 - | R12 = 0x20002cb4 SP = 0x20002888 LR = 0x080257ff PC = 0x0802e7b4 - | PSR = 0x41000000 - | - +-----------> 0x200004b8 Task { - save: SavedState { - r4: 0x20002c98, - r5: 0x1c, - r6: 0x3, - r7: 0x0, - r8: 0x20002d38, - r9: 0x42, - r10: 0x10, - r11: 0x1, - psp: 0x20002820, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xa7dc3)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f28 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005370 (&TaskDesc) - } - - 2 sys 0 1 recv - | - +---> 0x2001a350 0x0806a5d6 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x2001a380 0x0806a09e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x2001a380 0x0806a09e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x2001a380 0x0806a09e main - | @ /hubris/drv/stm32xx-sys/src/main.rs:131:9 - | - | - +---> R0 = 0x2001a358 R1 = 0x00000005 R2 = 0x00000000 R3 = 0x2001a360 - | R4 = 0x2001a358 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x5802447c R9 = 0x2001a374 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x2001a330 LR = 0x0806a09f PC = 0x0806a5d6 - | PSR = 0x41000000 - | - +-----------> 0x20000568 Task { - save: SavedState { - r4: 0x2001a358, - r5: 0x5, - r6: 0x0, - r7: 0x0, - r8: 0x5802447c, - r9: 0x2001a374, - r10: 0x1, - r11: 0x1, - psp: 0x2001a2c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x1), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f48 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005388 (&TaskDesc) - } - - 3 spi4_driver 0 2 recv - | - +---> 0x20017ae8 0x08049c30 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20017b68 0x0804869e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20017b68 0x0804869e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20017b68 0x0804869e main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x20017b02 R1 = 0x00000002 R2 = 0x00000000 R3 = 0x20017b04 - | R4 = 0x20017b02 R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x20017b02 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x0804a0b0 SP = 0x20017ac8 LR = 0x0804869f PC = 0x08049c30 - | PSR = 0x41000000 - | - +-----------> 0x20000618 Task { - save: SavedState { - r4: 0x20017b02, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x20017b02, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x20017a60, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f68 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80053a0 (&TaskDesc) - } - - 4 spi2_driver 0 2 recv - | - +---> 0x200182e0 0x0804dd58 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20018368 0x0804c670 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20018368 0x0804c670 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20018368 0x0804c670 main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x20018302 R1 = 0x00000002 R2 = 0x00000000 R3 = 0x20018304 - | R4 = 0x20018302 R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x20018302 R9 = 0x00000001 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x20018448 SP = 0x200182c0 LR = 0x0804c671 PC = 0x0804dd58 - | PSR = 0x41000000 - | - +-----------> 0x200006c8 Task { - save: SavedState { - r4: 0x20018302, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x20018302, - r9: 0x1, - r10: 0x0, - r11: 0x1, - psp: 0x20018258, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f88 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80053b8 (&TaskDesc) - } - - 5 i2c_driver 0 2 notif: bit2(irq72/irq73) - | - +---> 0x20018a30 0x080520d0 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20018a50 0x08050064 core::ops::function::FnOnce::call_once - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/ops/function.rs:227:5 - | 0x20018b80 0x08050a8c drv_stm32h7_i2c::I2cController::write_read - | @ /hubris/drv/stm32h7-i2c/src/lib.rs:495:21 - | 0x20018b80 0x08050a8c drv_stm32h7_i2c_server::main::{{closure}} - | @ /hubris/drv/stm32h7-i2c-server/src/main.rs:237:23 - | 0x20018b80 0x08050a8c userlib::hl::recv_without_notification::{{closure}} - | @ /hubris/sys/userlib/src/hl.rs:128:47 - | 0x20018b80 0x08050a8c userlib::hl::recv - | @ /hubris/sys/userlib/src/hl.rs:105:29 - | 0x20018b80 0x08050a8c userlib::hl::recv_without_notification - | @ /hubris/sys/userlib/src/hl.rs:128:5 - | 0x20018b80 0x08050a8c main - | @ /hubris/drv/stm32h7-i2c-server/src/main.rs:178:9 - | - | - +---> R0 = 0x08052678 R1 = 0x00000000 R2 = 0x00000004 R3 = 0x20018a34 - | R4 = 0x08052678 R5 = 0x00000000 R6 = 0x00000004 R7 = 0x8000ffff - | R8 = 0x20018b48 R9 = 0x20018a98 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20018a10 LR = 0x08050065 PC = 0x080520d0 - | PSR = 0x41000000 - | - +-----------> 0x20000778 Task { - save: SavedState { - r4: 0x8052678, - r5: 0x0, - r6: 0x4, - r7: 0x8000ffff, - r8: 0x20018b48, - r9: 0x20018a98, - r10: 0x1, - r11: 0x1, - psp: 0x200189a8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fa8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0xa, - descriptor: 0x80053d0 (&TaskDesc) - } - - 6 spd 0 2 notif: bit0(irq31/irq32) - | - +---> 0x20004250 0x08055f02 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20004270 0x0805467c core::ops::function::FnOnce::call_once - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/ops/function.rs:227:5 - | 0x200042a8 0x08054444 drv_stm32h7_i2c::I2cController::operate_as_target - | @ /hubris/drv/stm32h7-i2c/src/lib.rs:901:17 - | 0x20004380 0x08054e4a main - | @ /hubris/task/spd/src/main.rs:404:5 - | - | - +---> R0 = 0x080565a8 R1 = 0x00000000 R2 = 0x00000001 R3 = 0x20004254 - | R4 = 0x080565a8 R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x40005400 R9 = 0x00000000 R10 = 0x2000448c R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20004230 LR = 0x0805467d PC = 0x08055f02 - | PSR = 0x41000000 - | - +-----------> 0x20000828 Task { - save: SavedState { - r4: 0x80565a8, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x40005400, - r9: 0x0, - r10: 0x2000448c, - r11: 0x1, - psp: 0x200041c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fc8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80053e8 (&TaskDesc) - } - - 7 thermal 0 3 wait: send to i2c_driver/gen0 - | - +---> 0x20010498 0x0800a114 userlib::sys_send_stub - | @ /hubris/sys/userlib/src/lib.rs:194:13 - | 0x200104f0 0x08009b20 drv_i2c_api::I2cDevice::read_reg - | @ /hubris/drv/i2c-api/src/lib.rs:307:12 - | 0x20010560 0x08008196 drv_i2c_devices::max31790::read_reg16 - | @ /hubris/drv/i2c-devices/src/max31790.rs:231:5 - | 0x20010560 0x08008196 drv_i2c_devices::max31790::Max31790::fan_rpm - | @ /hubris/drv/i2c-devices/src/max31790.rs:279:19 - | 0x20010560 0x08008196 task_thermal::FanControl::fan_rpm - | @ /hubris/task/thermal/src/main.rs:96:34 - | 0x20010560 0x08008196 task_thermal::control::ThermalControl::read_sensors - | @ /hubris/task/thermal/src/control.rs:103:37 - | 0x20011198 0x08008cd0 as idol_runtime::NotificationHandler>::handle_notification - | @ /hubris//task/thermal/src/main.rs:202 - | 0x20011198 0x08008c6e idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:242 - | 0x20011198 0x08008d2e main - | @ /hubris//task/thermal/src/main.rs:229 - | - | - +---> R0 = 0x200104c4 R1 = 0x2001049c R2 = 0x20010499 R3 = 0x00000000 - | R4 = 0x00050001 R5 = 0x200104a0 R6 = 0x00000004 R7 = 0x2001049c - | R8 = 0x00000004 R9 = 0x200104ac R10 = 0x00000002 R11 = 0x00000000 - | R12 = 0x20010550 SP = 0x20010478 LR = 0x08009b21 PC = 0x0800a114 - | PSR = 0x01000000 - | - +-----------> 0x200008d8 Task { - save: SavedState { - r4: 0x50001, - r5: 0x200104a0, - r6: 0x4, - r7: 0x2001049c, - r8: 0x4, - r9: 0x200104ac, - r10: 0x2, - r11: 0x0, - psp: 0x20010410, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InSend(TaskId(0x5))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x1) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fe8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x1, - descriptor: 0x8005400 (&TaskDesc) - } - - 8 power 0 3 wait: reply from i2c_driver/gen0 - | - +---> 0x20014368 0x0805a220 userlib::sys_send_stub - | @ /hubris/sys/userlib/src/lib.rs:194:13 - | 0x200143c0 0x080595c8 drv_i2c_api::I2cDevice::read_reg - | @ /hubris/drv/i2c-api/src/lib.rs:307:12 - | 0x20014800 0x0805865e >::read_iout - | @ /hubris/drv/i2c-devices/src/tps546b24a.rs:81:20 - | 0x20014800 0x0805865e task_power::read_current - | @ /hubris/task/power/src/main.rs:76:11 - | 0x20014800 0x0805865e task_power::PowerController::read_iout - | @ /hubris/task/power/src/main.rs:116:33 - | 0x20014800 0x0805865e main - | @ /hubris/task/power/src/main.rs:266:19 - | - | - +---> R0 = 0x20014394 R1 = 0x2001436c R2 = 0x20014369 R3 = 0x00000000 - | R4 = 0x00050001 R5 = 0x20014370 R6 = 0x00000004 R7 = 0x2001436c - | R8 = 0x00000004 R9 = 0x2001437c R10 = 0x00000002 R11 = 0x00000000 - | R12 = 0x00000007 SP = 0x20014348 LR = 0x080595c9 PC = 0x0805a220 - | PSR = 0x01000000 - | - +-----------> 0x20000988 Task { - save: SavedState { - r4: 0x50001, - r5: 0x20014370, - r6: 0x4, - r7: 0x2001436c, - r8: 0x4, - r9: 0x2001437c, - r10: 0x2, - r11: 0x0, - psp: 0x200142e0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InReply(TaskId(0x5))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001008 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005418 (&TaskDesc) - } - - 9 hiffy 0 3 notif: bit31(T+6) - | - +---> 0x20008140 0x08043672 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20008180 0x080436e2 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1060:9 - | 0x20008180 0x080436e2 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:625:12 - | 0x20008180 0x080436e2 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:636:5 - | 0x20008400 0x0804111c core::sync::atomic::atomic_sub - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/sync/atomic.rs:2409:23 - | 0x20008400 0x0804111c core::sync::atomic::AtomicU32::fetch_sub - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/sync/atomic.rs:1774:26 - | 0x20008400 0x0804111c main - | @ /hubris/task/hiffy/src/main.rs:117:9 - | - | - +---> R0 = 0x0804477c R1 = 0x00000000 R2 = 0x80000000 R3 = 0x20008148 - | R4 = 0x0804477c R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x0804477c R9 = 0x8000ffff R10 = 0x0000038b R11 = 0x00000001 - | R12 = 0x00000016 SP = 0x20008120 LR = 0x080436e3 PC = 0x08043672 - | PSR = 0x41000000 - | - +-----------> 0x20000a38 Task { - save: SavedState { - r4: 0x804477c, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x804477c, - r9: 0x8000ffff, - r10: 0x38b, - r11: 0x1, - psp: 0x200080b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0xa7db4)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001028 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005430 (&TaskDesc) - } - -10 gimlet_seq 0 3 recv - | - +---> 0x200154f0 0x080135a2 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015640 0x08010874 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015640 0x08010874 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20015640 0x08010874 main - | @ /hubris/drv/gimlet-seq-server/src/main.rs:302:9 - | - | - +---> R0 = 0x20015517 R1 = 0x00000001 R2 = 0x00000000 R3 = 0x20015530 - | R4 = 0x20015517 R5 = 0x00000001 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000008 R9 = 0x00000000 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000008 SP = 0x200154d0 LR = 0x08010875 PC = 0x080135a2 - | PSR = 0x41000000 - | - +-----------> 0x20000ae8 Task { - save: SavedState { - r4: 0x20015517, - r5: 0x1, - r6: 0x0, - r7: 0x0, - r8: 0x8, - r9: 0x0, - r10: 0x1, - r11: 0x1, - psp: 0x20015468, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001048 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005448 (&TaskDesc) - } - -11 hf 0 3 recv - | - +---> 0x200195f8 0x0805d82c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20019780 0x0805c37e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20019780 0x0805c37e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20019780 0x0805c37e main - | @ /hubris/drv/gimlet-hf-server/src/main.rs:145:9 - | - | - +---> R0 = 0x20019630 R1 = 0x00000008 R2 = 0x00000000 R3 = 0x20019760 - | R4 = 0x20019630 R5 = 0x00000008 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x0000000a R9 = 0x00000000 R10 = 0x20019630 R11 = 0x00000001 - | R12 = 0x2001974c SP = 0x200195d8 LR = 0x0805c37f PC = 0x0805d82c - | PSR = 0x61000000 - | - +-----------> 0x20000b98 Task { - save: SavedState { - r4: 0x20019630, - r5: 0x8, - r6: 0x0, - r7: 0x0, - r8: 0xa, - r9: 0x0, - r10: 0x20019630, - r11: 0x1, - psp: 0x20019570, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001068 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005460 (&TaskDesc) - } - -12 sensor 0 3 recv, notif: bit0(T+466) - | - +---> 0x20019a88 0x08066bca userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20019f80 0x080660ba userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20019f80 0x080660ba idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:250:20 - | 0x20019f80 0x080660ba main - | @ /hubris/task/sensor/src/main.rs:111:9 - | - | - +---> R0 = 0x20019f68 R1 = 0x00000008 R2 = 0x00000001 R3 = 0x20019d00 - | R4 = 0x20019f68 R5 = 0x00000008 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x20019a90 R9 = 0x20019f74 R10 = 0x08066ffc R11 = 0x00000001 - | R12 = 0x00000264 SP = 0x20019a68 LR = 0x080660bb PC = 0x08066bca - | PSR = 0x41000000 - | - +-----------> 0x20000c48 Task { - save: SavedState { - r4: 0x20019f68, - r5: 0x8, - r6: 0x1, - r7: 0x0, - r8: 0x20019a90, - r9: 0x20019f74, - r10: 0x8066ffc, - r11: 0x1, - psp: 0x20019a00, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xa7f80)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001088 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005478 (&TaskDesc) - } - -13 udpecho 0 3 notif: bit0 - | - +---> 0x20012e08 0x0806157e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20013000 0x080607e4 core::result::Result::unwrap - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/result.rs:1297:9 - | 0x20013000 0x080607e4 main - | @ /hubris/task/udpecho/src/main.rs:36:17 - | - | - +---> R0 = 0x08061b2c R1 = 0x00000000 R2 = 0x00000001 R3 = 0x20012fdc - | R4 = 0x08061b2c R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x00000001 R9 = 0x00000001 R10 = 0x20013000 R11 = 0x00000001 - | R12 = 0x20012fd8 SP = 0x20012de8 LR = 0x080607e5 PC = 0x0806157e - | PSR = 0x21000000 - | - +-----------> 0x20000cf8 Task { - save: SavedState { - r4: 0x8061b2c, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x1, - r9: 0x1, - r10: 0x20013000, - r11: 0x1, - psp: 0x20012d80, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x200010a8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005490 (&TaskDesc) - } - -14 validate 0 3 recv - | - +---> 0x20016398 0x0806957e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x200163e8 0x08068258 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x200163e8 0x08068258 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x200163e8 0x08068258 main - | @ /hubris/task/validate/src/main.rs:61:9 - | - | - +---> R0 = 0x200163b4 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x200163b8 - | R4 = 0x200163b4 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x08069790 R9 = 0x00000000 R10 = 0x200163b8 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20016378 LR = 0x08068259 PC = 0x0806957e - | PSR = 0x61000000 - | - +-----------> 0x20000da8 Task { - save: SavedState { - r4: 0x200163b4, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x8069790, - r9: 0x0, - r10: 0x200163b8, - r11: 0x1, - psp: 0x20016310, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x200010c8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80054a8 (&TaskDesc) - } - -15 idle 0 5 RUNNING - | - +---> 0x2001a500 0x0806a856 main - | @ /hubris/task/idle/src/main.rs:14:5 - | - | - +---> R0 = 0x2001a500 R1 = 0x2001a500 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x2001a4f8 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x2001a4f8 LR = 0x0806a84f PC = 0x0806a856 - | PSR = 0x61000000 - | - +-----------> 0x20000e58 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x2001a4f8, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x2001a490, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x200010e8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80054c0 (&TaskDesc) - } - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.toml b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.toml deleted file mode 100644 index 46bb2e231..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 tasks -slvr --guess" - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.stderr b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.stdout b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.stdout deleted file mode 100644 index f2941f1a1..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.stdout +++ /dev/null @@ -1,858 +0,0 @@ -system time = 10001 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+99) - | - +---> 0x20001d38 0x0800754c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20001e00 0x080062ca userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20001e00 0x080062ca userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20001e00 0x080062ca main - | @ /hubris/task/jefe/src/main.rs:132:23 - | - | - +---> R0 = 0x08007bf4 R1 = 0x00000000 R2 = 0x00000003 R3 = 0x20001ddc - | R4 = 0x08007bf4 R5 = 0x00000000 R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x20001dc8 R9 = 0x00cafe00 R10 = 0x0000000e R11 = 0x00000001 - | R12 = 0x20001dbc SP = 0x20001d18 LR = 0x080062cb PC = 0x0800754c - | PSR = 0x61000000 - | - +-----------> 0x20000408 Task { - save: SavedState { - r4: 0x8007bf4, - r5: 0x0, - r6: 0x3, - r7: 0x0, - r8: 0x20001dc8, - r9: 0xcafe00, - r10: 0xe, - r11: 0x1, - psp: 0x20001cb0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0xffffffff - }, - priority: Priority(0x0), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0x2774)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000da8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80051b8 (&TaskDesc) - } - - 1 sys 0 1 recv - | - +---> 0x20001750 0x0804a5d6 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20001780 0x0804a09e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20001780 0x0804a09e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20001780 0x0804a09e main - | @ /hubris/drv/stm32xx-sys/src/main.rs:131:9 - | - | - +---> R0 = 0x20001758 R1 = 0x00000005 R2 = 0x00000000 R3 = 0x20001760 - | R4 = 0x20001758 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x5802447c R9 = 0x20001774 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20001730 LR = 0x0804a09f PC = 0x0804a5d6 - | PSR = 0x41000000 - | - +-----------> 0x200004b8 Task { - save: SavedState { - r4: 0x20001758, - r5: 0x5, - r6: 0x0, - r7: 0x0, - r8: 0x5802447c, - r9: 0x20001774, - r10: 0x1, - r11: 0x1, - psp: 0x200016c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x1), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000dc8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80051d0 (&TaskDesc) - } - - 2 i2c_driver 0 2 recv - | - +---> 0x200102f0 0x080197e8 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20010380 0x0801842a userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20010380 0x0801842a userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20010380 0x0801842a userlib::hl::recv - | @ /hubris/sys/userlib/src/hl.rs:93:14 - | 0x20010380 0x0801842a userlib::hl::recv_without_notification - | @ /hubris/sys/userlib/src/hl.rs:128:5 - | 0x20010380 0x0801842a main - | @ /hubris/drv/stm32h7-i2c-server/src/main.rs:178:9 - | - | - +---> R0 = 0x20010354 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x20010358 - | R4 = 0x20010354 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x3060767f R9 = 0x000084c4 R10 = 0x20010330 R11 = 0x00000001 - | R12 = 0x20010358 SP = 0x200102d0 LR = 0x0801842b PC = 0x080197e8 - | PSR = 0x41000000 - | - +-----------> 0x20000568 Task { - save: SavedState { - r4: 0x20010354, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x3060767f, - r9: 0x84c4, - r10: 0x20010330, - r11: 0x1, - psp: 0x20010268, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000de8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x2, - descriptor: 0x80051e8 (&TaskDesc) - } - - 3 spi_driver 0 2 recv - | - +---> 0x20010af0 0x0801dc30 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20010b70 0x0801c69c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20010b70 0x0801c69c idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20010b70 0x0801c69c main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x20010b0a R1 = 0x00000002 R2 = 0x00000000 R3 = 0x20010b0c - | R4 = 0x20010b0a R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x20010b0a R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x0801e0b4 SP = 0x20010ad0 LR = 0x0801c69d PC = 0x0801dc30 - | PSR = 0x41000000 - | - +-----------> 0x20000618 Task { - save: SavedState { - r4: 0x20010b0a, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x20010b0a, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x20010a68, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e08 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005200 (&TaskDesc) - } - - 4 net 0 2 recv, notif: bit0(irq61) bit1 - | - +---> 0x20002908 0x08029cac userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20002ed8 0x08021b04 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20002ed8 0x08021b04 idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:250:20 - | 0x20002ed8 0x08021b04 main - | @ /hubris/task/net/src/main.rs:180:13 - | - | - +---> R0 = 0x20002c78 R1 = 0x0000001c R2 = 0x00000003 R3 = 0x20002d40 - | R4 = 0x20002c78 R5 = 0x0000001c R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000040 R11 = 0x00000001 - | R12 = 0x20002c94 SP = 0x200028e8 LR = 0x08021b05 PC = 0x08029cac - | PSR = 0x41000000 - | - +-----------> 0x200006c8 Task { - save: SavedState { - r4: 0x20002c78, - r5: 0x1c, - r6: 0x3, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x40, - r11: 0x1, - psp: 0x20002880, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e28 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005218 (&TaskDesc) - } - - 5 user_leds 0 2 recv - | - +---> 0x20011348 0x0804ab50 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20011380 0x0804a92c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20011380 0x0804a92c idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20011380 0x0804a92c main - | @ /hubris/drv/user-leds/src/main.rs:118:9 - | - | - +---> R0 = 0x2001134c R1 = 0x00000004 R2 = 0x00000000 R3 = 0x20011358 - | R4 = 0x2001134c R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x20011358 R10 = 0x00000003 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20011328 LR = 0x0804a92d PC = 0x0804ab50 - | PSR = 0x61000000 - | - +-----------> 0x20000778 Task { - save: SavedState { - r4: 0x2001134c, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x20011358, - r10: 0x3, - r11: 0x1, - psp: 0x200112c0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e48 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005230 (&TaskDesc) - } - - 6 ping 10301 4 wait: reply from pong/gen0 - | - +---> 0x20011740 0x08044a90 userlib::sys_send_stub - | @ /hubris/sys/userlib/src/lib.rs:194:13 - | 0x20011780 0x080440c6 main - | @ /hubris/task/ping/src/main.rs:54:12 - | - | - +---> R0 = 0x2001175c R1 = 0x0000002d R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00070001 R5 = 0x08044b8c R6 = 0x00000005 R7 = 0x2001174c - | R8 = 0x00000010 R9 = 0x08044cd4 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20011720 LR = 0x080440c7 PC = 0x08044a90 - | PSR = 0x61000000 - | - +-----------> 0x20000828 Task { - save: SavedState { - r4: 0x70001, - r5: 0x8044b8c, - r6: 0x5, - r7: 0x2001174c, - r8: 0x10, - r9: 0x8044cd4, - r10: 0x0, - r11: 0x0, - psp: 0x200116b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InReply(TaskId(0x7))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x283d, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e68 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005248 (&TaskDesc) - } - - 7 pong 0 3 RUNNING - | - +---> 0x20011b38 0x08005d98 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20011b80 0x08005cb8 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20011b80 0x08005cb8 userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20011b80 0x08005cb8 main - | @ /hubris/task/pong/src/main.rs:26:23 - | - | - +---> R0 = 0x20011b44 R1 = 0x00000010 R2 = 0x00000001 R3 = 0x20011b58 - | R4 = 0x00000000 R5 = 0x0000f406 R6 = 0x00000001 R7 = 0x00000005 - | R8 = 0x00000010 R9 = 0x00000000 R10 = 0x20011b54 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20011b18 LR = 0x08005cb9 PC = 0x08005d98 - | PSR = 0x41000000 - | - +-----------> 0x200008d8 Task { - save: SavedState { - r4: 0x0, - r5: 0xf406, - r6: 0x1, - r7: 0x5, - r8: 0x10, - r9: 0x0, - r10: 0x20011b54, - r11: 0x1, - psp: 0x20011ab0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: Some(Timestamp(0x2904)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e88 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005260 (&TaskDesc) - } - - 8 udpecho 0 3 notif: bit0 - | - +---> 0x20004e08 0x0800957e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20005000 0x080087e4 core::result::Result::unwrap - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/result.rs:1297:9 - | 0x20005000 0x080087e4 main - | @ /hubris/task/udpecho/src/main.rs:36:17 - | - | - +---> R0 = 0x08009b2c R1 = 0x00000000 R2 = 0x00000001 R3 = 0x20004fdc - | R4 = 0x08009b2c R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x00000001 R9 = 0x00000001 R10 = 0x20005000 R11 = 0x00000001 - | R12 = 0x20004fd8 SP = 0x20004de8 LR = 0x080087e5 PC = 0x0800957e - | PSR = 0x21000000 - | - +-----------> 0x20000988 Task { - save: SavedState { - r4: 0x8009b2c, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x1, - r9: 0x1, - r10: 0x20005000, - r11: 0x1, - psp: 0x20004d80, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ea8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005278 (&TaskDesc) - } - - 9 hiffy 0 5 ready - | - +---> 0x20008800 0x08010001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20008800 LR = 0xffffffff PC = 0x08010001 - | PSR = 0x01000000 - | - +-----------> 0x20000a38 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20008798, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ec8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005290 (&TaskDesc) - } - -10 hf 0 4 notif: bit31(T+22) - | - +---> 0x20006608 0x08041b80 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20006648 0x08041bfa userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1060:9 - | 0x20006648 0x08041bfa userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:625:12 - | 0x20006648 0x08041bfa userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:647:5 - | 0x20006800 0x080402ba main - | @ /hubris/drv/gimlet-hf-server/src/main.rs:126:9 - | - | - +---> R0 = 0x0804228c R1 = 0x00000000 R2 = 0x80000000 R3 = 0x20006610 - | R4 = 0x0804228c R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x0804228c R9 = 0x8000ffff R10 = 0x00000002 R11 = 0x00000001 - | R12 = 0x20006698 SP = 0x200065e8 LR = 0x08041bfb PC = 0x08041b80 - | PSR = 0x41000000 - | - +-----------> 0x20000ae8 Task { - save: SavedState { - r4: 0x804228c, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x804228c, - r9: 0x8000ffff, - r10: 0x2, - r11: 0x1, - psp: 0x20006580, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0x2727)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ee8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80052a8 (&TaskDesc) - } - -11 hash_driver 0 3 recv - | - +---> 0x20007528 0x080475c2 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20007800 0x0804638c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20007800 0x0804638c idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20007800 0x0804638c main - | @ /hubris/drv/stm32h7-hash-server/src/main.rs:53:9 - | - | - +---> R0 = 0x20007540 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x200077d4 - | R4 = 0x20007540 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x080478fc R10 = 0x200077d4 R11 = 0x00000001 - | R12 = 0x2000779c SP = 0x20007508 LR = 0x0804638d PC = 0x080475c2 - | PSR = 0x41000000 - | - +-----------> 0x20000b98 Task { - save: SavedState { - r4: 0x20007540, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x80478fc, - r10: 0x200077d4, - r11: 0x1, - psp: 0x200074a0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f08 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80052c0 (&TaskDesc) - } - -12 idle 0 6 ready - | - +---> 0x20011f00 0x08005a01 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20011f00 LR = 0xffffffff PC = 0x08005a01 - | PSR = 0x01000000 - | - +-----------> 0x20000c48 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20011e98, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x6), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f28 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80052d8 (&TaskDesc) - } - -13 rng_driver 0 3 recv - | - +---> 0x20011cc0 0x08048e7e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20011d00 0x080481ea userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20011d00 0x080481ea idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20011d00 0x080481ea main - | @ /hubris/drv/stm32h7-rng/src/main.rs:144:9 - | - | - +---> R0 = 0x20011cf7 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x20011cd8 - | R4 = 0x20011cf7 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20011ca0 LR = 0x080481eb PC = 0x08048e7e - | PSR = 0x41000000 - | - +-----------> 0x20000cf8 Task { - save: SavedState { - r4: 0x20011cf7, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x20011c38, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f48 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80052f0 (&TaskDesc) - } - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.toml b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.toml deleted file mode 100644 index 9244fea30..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 tasks -slvr --guess" - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.stderr b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.stderr deleted file mode 100644 index 56eef6002..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: WARNING: kernel has panicked: "panicked at 'explicit panic', sys/kern/src/task.rs:829:5" diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.stdout b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.stdout deleted file mode 100644 index 27a18892e..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.stdout +++ /dev/null @@ -1,1410 +0,0 @@ -system time = 61927 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+73) - | - +---> 0x240384f8 0x080a574a userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24038600 0x080a4324 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24038600 0x080a4324 idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:269:20 - | 0x24038600 0x080a4324 main - | @ /hubris/task/jefe/src/main.rs:148:9 - | - | - +---> R0 = 0x24038598 R1 = 0x00000008 R2 = 0x00000003 R3 = 0x240385b8 - | R4 = 0x24038598 R5 = 0x00000008 R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x00000004 R9 = 0x0000ffff R10 = 0x00000002 R11 = 0x00000001 - | R12 = 0x240385b8 SP = 0x240384d8 LR = 0x080a4325 PC = 0x080a574a - | PSR = 0x61000000 - | - +-----------> 0x24000490 Task { - save: SavedState { - r4: 0x24038598, - r5: 0x8, - r6: 0x3, - r7: 0x0, - r8: 0x4, - r9: 0xffff, - r10: 0x2, - r11: 0x1, - psp: 0x24038470, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0xffffffff - }, - priority: Priority(0x0), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xf230)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004b28 (&kern::descs::TaskDesc) - } - - 1 net 0 5 RUNNING - | - +---> 0x24008cd8 0x080309a2 userlib::sys_panic_stub - | @ /hubris/sys/userlib/src/lib.rs:1018:13 - | 0x24008d10 0x080309dc userlib::sys_panic - | @ /hubris/sys/userlib/src/lib.rs:984:14 - | 0x24008d10 0x080309dc rust_begin_unwind - | @ /hubris/sys/userlib/src/lib.rs:1438:5 - | 0x24008d30 0x08028d6a core::panicking::panic_fmt - | @ /rustc/95a3a7277b44bbd2dd3485703d9a05f64652b60e/library/core/src/panicking.rs:65:14 - | 0x24009798 0x080271d2 main - | @ /hubris/task/net/src/main.rs:151 - | - | - +---> R0 = 0x2400f524 R1 = 0x0000003a R2 = 0x2400f55e R3 = 0x2400f55e - | R4 = 0x2400f524 R5 = 0x0000003a R6 = 0x24009528 R7 = 0x24008d08 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x24009548 R11 = 0x00000008 - | R12 = 0x2400f554 SP = 0x24008cc8 LR = 0x080309dd PC = 0x080309a2 - | PSR = 0x61000000 - | - +-----------> 0x24000538 Task { - save: SavedState { - r4: 0x2400f524, - r5: 0x3a, - r6: 0x24009528, - r7: 0x24008d08, - r8: 0x0, - r9: 0x0, - r10: 0x24009548, - r11: 0x8, - psp: 0x24008c60, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(Runnable), - timer: TimerState { - deadline: Some(Timestamp(0xf3db)), - to_post: NotificationSet(0x4) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004b54 (&kern::descs::TaskDesc) - } - - 2 sys 0 1 recv - | - +---> 0x2403ab48 0x080ae632 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x2403ab80 0x080ae19a userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x2403ab80 0x080ae19a idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x2403ab80 0x080ae19a main - | @ /hubris/drv/stm32xx-sys/src/main.rs:143:9 - | - | - +---> R0 = 0x2403ab50 R1 = 0x00000005 R2 = 0x00000000 R3 = 0x2403ab58 - | R4 = 0x2403ab50 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x080ae6c4 R9 = 0x2403ab77 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x2403ab28 LR = 0x080ae19b PC = 0x080ae632 - | PSR = 0x41000000 - | - +-----------> 0x240005e0 Task { - save: SavedState { - r4: 0x2403ab50, - r5: 0x5, - r6: 0x0, - r7: 0x0, - r8: 0x80ae6c4, - r9: 0x2403ab77, - r10: 0x1, - r11: 0x1, - psp: 0x2403aac0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x1), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004b80 (&kern::descs::TaskDesc) - } - - 3 spi4_driver 0 3 recv - | - +---> 0x24038b00 0x08081d6e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24038b68 0x08080618 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24038b68 0x08080618 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x24038b68 0x08080618 main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x24038b1a R1 = 0x00000002 R2 = 0x00000000 R3 = 0x24038b1c - | R4 = 0x24038b1a R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x24038b1a R9 = 0x00000000 R10 = 0x08082318 R11 = 0x00000001 - | R12 = 0x080822d0 SP = 0x24038ae0 LR = 0x08080619 PC = 0x08081d6e - | PSR = 0x61000000 - | - +-----------> 0x24000688 Task { - save: SavedState { - r4: 0x24038b1a, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x24038b1a, - r9: 0x0, - r10: 0x8082318, - r11: 0x1, - psp: 0x24038a78, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004bac (&kern::descs::TaskDesc) - } - - 4 spi2_driver 0 3 recv - | - +---> 0x24039300 0x08085eb2 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24039368 0x080845da userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24039368 0x080845da idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x24039368 0x080845da main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x2403931a R1 = 0x00000002 R2 = 0x00000000 R3 = 0x2403931c - | R4 = 0x2403931a R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x2403931c R9 = 0x2403931a R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x240396c4 SP = 0x240392e0 LR = 0x080845db PC = 0x08085eb2 - | PSR = 0x61000000 - | - +-----------> 0x24000730 Task { - save: SavedState { - r4: 0x2403931a, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x2403931c, - r9: 0x2403931a, - r10: 0x1, - r11: 0x1, - psp: 0x24039278, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004bd8 (&kern::descs::TaskDesc) - } - - 5 i2c_driver 0 3 recv - | - +---> 0x24039a50 0x0808a6f8 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24039b80 0x0808876e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24039b80 0x0808876e userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:241:11 - | 0x24039b80 0x0808876e userlib::hl::recv - | @ /hubris/sys/userlib/src/hl.rs:92:14 - | 0x24039b80 0x0808876e userlib::hl::recv_without_notification - | @ /hubris/sys/userlib/src/hl.rs:125:5 - | 0x24039b80 0x0808876e main - | @ /hubris/drv/stm32xx-i2c-server/src/main.rs:231:9 - | - | - +---> R0 = 0x24039b44 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x24039b58 - | R4 = 0x24039b44 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00008061 R9 = 0x24039b44 R10 = 0x00000002 R11 = 0x00000001 - | R12 = 0x24039c38 SP = 0x24039a30 LR = 0x0808876f PC = 0x0808a6f8 - | PSR = 0x41000000 - | - +-----------> 0x240007d8 Task { - save: SavedState { - r4: 0x24039b44, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x8061, - r9: 0x24039b44, - r10: 0x2, - r11: 0x1, - psp: 0x240399c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0xe, - descriptor: 0x8004c04 (&kern::descs::TaskDesc) - } - - 6 spd 0 2 notif: bit0(irq31/irq32) - | - +---> 0x24004290 0x0808e37c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x240042b0 0x0808c7f4 core::ops::function::FnOnce::call_once - | @ /rustc/95a3a7277b44bbd2dd3485703d9a05f64652b60e/library/core/src/ops/function.rs:251:5 - | 0x240042e8 0x0808c118 core::ptr::read_volatile - | @ /rustc/95a3a7277b44bbd2dd3485703d9a05f64652b60e/library/core/src/ptr/mod.rs:1503:9 - | 0x240042e8 0x0808c118 vcell::VolatileCell::get - | @ /crates.io/vcell-0.1.3/src/lib.rs:33:18 - | 0x240042e8 0x0808c118 stm32h7::generic::Reg::modify - | @ /crates.io/stm32h7-0.14.0/src/generic.rs:163:20 - | 0x240042e8 0x0808c118 drv_stm32xx_i2c::I2cController::operate_as_target - | @ /hubris/drv/stm32xx-i2c/src/lib.rs:823:17 - | 0x24004380 0x0808d074 main - | @ /hubris/task/spd/src/main.rs:420:5 - | - | - +---> R0 = 0x0808eab8 R1 = 0x00000000 R2 = 0x00000001 R3 = 0x24004294 - | R4 = 0x0808eab8 R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x00000001 R9 = 0x0808c801 R10 = 0x0808c7e1 R11 = 0x00000001 - | R12 = 0x2400436c SP = 0x24004270 LR = 0x0808c7f5 PC = 0x0808e37c - | PSR = 0x41000000 - | - +-----------> 0x24000880 Task { - save: SavedState { - r4: 0x808eab8, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x1, - r9: 0x808c801, - r10: 0x808c7e1, - r11: 0x1, - psp: 0x24004208, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004c30 (&kern::descs::TaskDesc) - } - - 7 thermal 0 5 recv, notif: bit0(T+251) - | - +---> 0x24002700 0x0800b5ca userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24003198 0x0800916c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24003198 0x0800916c idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:269:20 - | 0x24003198 0x0800916c main - | @ /hubris/task/thermal/src/main.rs:352:9 - | - | - +---> R0 = 0x24002bac R1 = 0x00000020 R2 = 0x00000001 R3 = 0x24002bd8 - | R4 = 0x24002bac R5 = 0x00000020 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x0000eefa R9 = 0x000001e0 R10 = 0x24002fa0 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x240026e0 LR = 0x0800916d PC = 0x0800b5ca - | PSR = 0x61000000 - | - +-----------> 0x24000928 Task { - save: SavedState { - r4: 0x24002bac, - r5: 0x20, - r6: 0x1, - r7: 0x0, - r8: 0xeefa, - r9: 0x1e0, - r10: 0x24002fa0, - r11: 0x1, - psp: 0x24002678, - exc_return: 0xffffffed, - s16: 0x42700000, - s17: 0x42b40000, - s18: 0x7f7fffff, - s19: 0x42be0000, - s20: 0x437f0000, - s21: 0x3f000000, - s22: 0x447a0000, - s23: 0x0, - s24: 0x7f800000, - s25: 0x0, - s26: 0xff800000, - s27: 0x0, - s28: 0x419e0000, - s29: 0x0, - s30: 0x42a00000, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xf2e2)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004c5c (&kern::descs::TaskDesc) - } - - 8 power 0 6 notif: bit31(T+616) - | - +---> 0x24032380 0x08062d8a userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x240323e8 0x08060272 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1061:9 - | 0x240323e8 0x08060272 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:437:12 - | 0x240323e8 0x08060272 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:463:5 - | 0x240323e8 0x08060272 main - | @ /hubris/task/power/src/main.rs:429:9 - | - | - +---> R0 = 0x08063fe8 R1 = 0x00000000 R2 = 0x80000000 R3 = 0x240323c0 - | R4 = 0x08063fe8 R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x08063fe8 R9 = 0x8000ffff R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x240324bc SP = 0x24032360 LR = 0x08060273 PC = 0x08062d8a - | PSR = 0x41000000 - | - +-----------> 0x240009d0 Task { - save: SavedState { - r4: 0x8063fe8, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x8063fe8, - r9: 0x8000ffff, - r10: 0x0, - r11: 0x1, - psp: 0x240322f8, - exc_return: 0xffffffed, - s16: 0x42580d1c, - s17: 0x0, - s18: 0x44800000, - s19: 0x0, - s20: 0x42c80000, - s21: 0x0, - s22: 0x42480000, - s23: 0x0, - s24: 0x41c80000, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x6), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0xf44f)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004c88 (&kern::descs::TaskDesc) - } - - 9 hiffy 0 5 notif: bit31(T+204) - | - +---> 0x24010228 0x0806d754 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24010270 0x0806d7d0 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1061:9 - | 0x24010270 0x0806d7d0 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:437:12 - | 0x24010270 0x0806d7d0 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:463:5 - | 0x24010400 0x0806a6c6 core::sync::atomic::atomic_sub - | @ /rustc/95a3a7277b44bbd2dd3485703d9a05f64652b60e/library/core/src/sync/atomic.rs:3041:23 - | 0x24010400 0x0806a6c6 core::sync::atomic::AtomicU32::fetch_sub - | @ /rustc/95a3a7277b44bbd2dd3485703d9a05f64652b60e/library/core/src/sync/atomic.rs:2373:26 - | 0x24010400 0x0806a6c6 main - | @ /hubris/task/hiffy/src/main.rs:142:9 - | - | - +---> R0 = 0x0806f1a8 R1 = 0x00000000 R2 = 0x80000000 R3 = 0x24010234 - | R4 = 0x0806f1a8 R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x00000000 R9 = 0x8000ffff R10 = 0x80000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x24010208 LR = 0x0806d7d1 PC = 0x0806d754 - | PSR = 0x41000000 - | - +-----------> 0x24000a78 Task { - save: SavedState { - r4: 0x806f1a8, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x0, - r9: 0x8000ffff, - r10: 0x80000000, - r11: 0x1, - psp: 0x240101a0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0xf2b3)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004cb4 (&kern::descs::TaskDesc) - } - -10 gimlet_seq 0 4 recv, notif: bit0 - | - +---> 0x240334d8 0x080132ea userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24033640 0x08010a82 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24033640 0x08010a82 idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:269:20 - | 0x24033640 0x08010a82 main - | @ /hubris/drv/gimlet-seq-server/src/main.rs:354:9 - | - | - +---> R0 = 0x24033507 R1 = 0x00000001 R2 = 0x00000001 R3 = 0x24033520 - | R4 = 0x24033507 R5 = 0x00000001 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x24033510 R9 = 0x00000008 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x240334b8 LR = 0x08010a83 PC = 0x080132ea - | PSR = 0x41000000 - | - +-----------> 0x24000b20 Task { - save: SavedState { - r4: 0x24033507, - r5: 0x1, - r6: 0x1, - r7: 0x0, - r8: 0x24033510, - r9: 0x8, - r10: 0x1, - r11: 0x1, - psp: 0x24033450, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004ce0 (&kern::descs::TaskDesc) - } - -11 hash_driver 0 2 recv - | - +---> 0x24034540 0x080917ba userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24034800 0x080902ec userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24034800 0x080902ec idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x24034800 0x080902ec main - | @ /hubris/drv/stm32h7-hash-server/src/main.rs:53:9 - | - | - +---> R0 = 0x2403455c R1 = 0x00000004 R2 = 0x00000000 R3 = 0x240347d4 - | R4 = 0x2403455c R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x08091c1c R9 = 0x240347d4 R10 = 0x0000fe02 R11 = 0x00000001 - | R12 = 0x240347b8 SP = 0x24034520 LR = 0x080902ed PC = 0x080917ba - | PSR = 0x41000000 - | - +-----------> 0x24000bc8 Task { - save: SavedState { - r4: 0x2403455c, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x8091c1c, - r9: 0x240347d4, - r10: 0xfe02, - r11: 0x1, - psp: 0x240344b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004d0c (&kern::descs::TaskDesc) - } - -12 hf 0 3 recv - | - +---> 0x2403a5c8 0x08095eac userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x2403a780 0x08094386 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x2403a780 0x08094386 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x2403a780 0x08094386 main - | @ /hubris/drv/gimlet-hf-server/src/main.rs:154:9 - | - | - +---> R0 = 0x2403a610 R1 = 0x00000008 R2 = 0x00000000 R3 = 0x2403a730 - | R4 = 0x2403a610 R5 = 0x00000008 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x08096384 R9 = 0x00000002 R10 = 0x08096550 R11 = 0x00000001 - | R12 = 0x2403a72c SP = 0x2403a5a8 LR = 0x08094387 PC = 0x08095eac - | PSR = 0x41000000 - | - +-----------> 0x24000c70 Task { - save: SavedState { - r4: 0x2403a610, - r5: 0x8, - r6: 0x0, - r7: 0x0, - r8: 0x8096384, - r9: 0x2, - r10: 0x8096550, - r11: 0x1, - psp: 0x2403a540, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004d38 (&kern::descs::TaskDesc) - } - -13 update_server 0 3 recv - | - +---> 0x240353b8 0x080994b2 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24035800 0x080981ce userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24035800 0x080981ce idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x24035800 0x080981ce main - | @ /hubris/drv/stm32h7-update-server/src/main.rs:405:9 - | - | - +---> R0 = 0x240353dc R1 = 0x00000004 R2 = 0x00000000 R3 = 0x240353e0 - | R4 = 0x240353dc R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x240353e0 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x24035398 LR = 0x080981cf PC = 0x080994b2 - | PSR = 0x61000000 - | - +-----------> 0x24000d18 Task { - save: SavedState { - r4: 0x240353dc, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x240353e0, - r10: 0x0, - r11: 0x1, - psp: 0x24035330, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004d64 (&kern::descs::TaskDesc) - } - -14 sensor 0 4 recv, notif: bit0(T+73) - | - +---> 0x2402c378 0x080a7134 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x2402c400 0x080a61ae userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x2402c400 0x080a61ae idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:269:20 - | 0x2402c400 0x080a61ae main - | @ /hubris/task/sensor/src/main.rs:189:9 - | - | - +---> R0 = 0x2402c3b8 R1 = 0x00000010 R2 = 0x00000001 R3 = 0x2402c3d8 - | R4 = 0x2402c3b8 R5 = 0x00000010 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x2402c488 R9 = 0x2402c401 R10 = 0x0000000d R11 = 0x00000001 - | R12 = 0x0000003b SP = 0x2402c358 LR = 0x080a61af PC = 0x080a7134 - | PSR = 0x41000000 - | - +-----------> 0x24000dc0 Task { - save: SavedState { - r4: 0x2402c3b8, - r5: 0x10, - r6: 0x1, - r7: 0x0, - r8: 0x2402c488, - r9: 0x2402c401, - r10: 0xd, - r11: 0x1, - psp: 0x2402c2f0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xf230)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004d90 (&kern::descs::TaskDesc) - } - -15 host_sp_comms 0 7 recv, notif: bit0(irq82) bit1 bit2(T+58) bit3 - | - +---> 0x24018620 0x08073624 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24018800 0x08070c80 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24018800 0x08070c80 idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:269:20 - | 0x24018800 0x08070c80 main - | @ /hubris/task/host-sp-comms/src/main.rs:146:9 - | - | - +---> R0 = 0x24018710 R1 = 0x00000008 R2 = 0x0000000f R3 = 0x24018748 - | R4 = 0x24018710 R5 = 0x00000008 R6 = 0x0000000f R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000002 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x24018600 LR = 0x08070c81 PC = 0x08073624 - | PSR = 0x41000000 - | - +-----------> 0x24000e68 Task { - save: SavedState { - r4: 0x24018710, - r5: 0x8, - r6: 0xf, - r7: 0x0, - r8: 0x0, - r9: 0x2, - r10: 0x0, - r11: 0x1, - psp: 0x24018598, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x7), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xf221)), - to_post: NotificationSet(0x4) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004dbc (&kern::descs::TaskDesc) - } - -16 udpecho 0 6 notif: bit0 - | - +---> 0x2402ee40 0x080a9724 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x2402f000 0x080a85f0 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x2402f000 0x080a85f0 userlib::sys_recv_closed - | @ /hubris/sys/userlib/src/lib.rs:267:5 - | 0x2402f000 0x080a85f0 main - | @ /hubris/task/udpecho/src/main.rs:52:17 - | - | - +---> R0 = 0x080a9dac R1 = 0x00000000 R2 = 0x00000001 R3 = 0x2402ef90 - | R4 = 0x080a9dac R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x00000002 R9 = 0x00000008 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x2402efac SP = 0x2402ee20 LR = 0x080a85f1 PC = 0x080a9724 - | PSR = 0x21000000 - | - +-----------> 0x24000f10 Task { - save: SavedState { - r4: 0x80a9dac, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x2, - r9: 0x8, - r10: 0x1, - r11: 0x1, - psp: 0x2402edb8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x6), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004de8 (&kern::descs::TaskDesc) - } - -17 udpbroadcast 0 6 notif: bit31(T+120) - | - +---> 0x24036750 0x080ab3fe userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24036800 0x080aa1b2 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1061:9 - | 0x24036800 0x080aa1b2 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:437:12 - | 0x24036800 0x080aa1b2 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:463:5 - | 0x24036800 0x080aa1b2 main - | @ /hubris/task/udpbroadcast/src/main.rs:47:9 - | - | - +---> R0 = 0x080aba14 R1 = 0x00000000 R2 = 0x80000000 R3 = 0x240367ac - | R4 = 0x080aba14 R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x24036788 R9 = 0x240367ac R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x240367cc SP = 0x24036730 LR = 0x080aa1b3 PC = 0x080ab3fe - | PSR = 0x41000000 - | - +-----------> 0x24000fb8 Task { - save: SavedState { - r4: 0x80aba14, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x24036788, - r9: 0x240367ac, - r10: 0x0, - r11: 0x1, - psp: 0x240366c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x6), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0xf25f)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004e14 (&kern::descs::TaskDesc) - } - -18 udprpc 0 6 notif: bit0 - | - +---> 0x24030668 0x0809de18 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24031000 0x0809c246 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24031000 0x0809c246 userlib::sys_recv_closed - | @ /hubris/sys/userlib/src/lib.rs:267:5 - | 0x24031000 0x0809c246 main - | @ /hubris/task/udprpc/src/main.rs:149:17 - | - | - +---> R0 = 0x0809e640 R1 = 0x00000000 R2 = 0x00000001 R3 = 0x24030fb0 - | R4 = 0x0809e640 R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x24030f90 R9 = 0x240306b0 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x24030fac SP = 0x24030648 LR = 0x0809c247 PC = 0x0809de18 - | PSR = 0x21000000 - | - +-----------> 0x24001060 Task { - save: SavedState { - r4: 0x809e640, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x24030f90, - r9: 0x240306b0, - r10: 0x1, - r11: 0x1, - psp: 0x240305e0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x6), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004e40 (&kern::descs::TaskDesc) - } - -19 control_plane_agent 0 6 recv, notif: bit0 bit1(irq37) bit2 - | - +---> 0x24028bf0 0x0804b384 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24029000 0x080462c8 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24029000 0x080462c8 idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:269:20 - | 0x24029000 0x080462c8 main - | @ /hubris/task/control-plane-agent/src/main.rs:154:9 - | - | - +---> R0 = 0x24028dfc R1 = 0x00000029 R2 = 0x00000007 R3 = 0x24028e28 - | R4 = 0x24028dfc R5 = 0x00000029 R6 = 0x00000007 R7 = 0x00000000 - | R8 = 0x0000000c R9 = 0x24028cb8 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x24028e24 SP = 0x24028bd0 LR = 0x080462c9 PC = 0x0804b384 - | PSR = 0x61000000 - | - +-----------> 0x24001108 Task { - save: SavedState { - r4: 0x24028dfc, - r5: 0x29, - r6: 0x7, - r7: 0x0, - r8: 0xc, - r9: 0x24028cb8, - r10: 0x1, - r11: 0x1, - psp: 0x24028b68, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x6), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x4) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004e6c (&kern::descs::TaskDesc) - } - -20 sprot 0 4 recv - | - +---> 0x240236d0 0x0807b274 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x24024000 0x08078444 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x24024000 0x08078444 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x24024000 0x08078444 main - | @ /hubris/drv/stm32h7-sprot-server/src/main.rs:168:9 - | - | - +---> R0 = 0x24023718 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x24023fb0 - | R4 = 0x24023718 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x24023fb0 R9 = 0x00000005 R10 = 0x24023718 R11 = 0x00000001 - | R12 = 0x24023fac SP = 0x240236b0 LR = 0x08078445 PC = 0x0807b274 - | PSR = 0x41000000 - | - +-----------> 0x240011b0 Task { - save: SavedState { - r4: 0x24023718, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x24023fb0, - r9: 0x5, - r10: 0x24023718, - r11: 0x1, - psp: 0x24023648, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004e98 (&kern::descs::TaskDesc) - } - -21 validate 0 5 recv - | - +---> 0x240373b0 0x080a1d0e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x240373e8 0x080a0258 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x240373e8 0x080a0258 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x240373e8 0x080a0258 main - | @ /hubris/task/validate/src/main.rs:61:9 - | - | - +---> R0 = 0x240373b4 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x240373c0 - | R4 = 0x240373b4 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x080a1ff0 R9 = 0x00000000 R10 = 0x240373c0 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x24037390 LR = 0x080a0259 PC = 0x080a1d0e - | PSR = 0x61000000 - | - +-----------> 0x24001258 Task { - save: SavedState { - r4: 0x240373b4, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x80a1ff0, - r9: 0x0, - r10: 0x240373c0, - r11: 0x1, - psp: 0x24037328, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004ec4 (&kern::descs::TaskDesc) - } - -22 vpd 0 4 recv - | - +---> 0x2403ae08 0x080ad400 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:388:13 - | 0x2403af20 0x080ac088 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:307:8 - | 0x2403af20 0x080ac088 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/b2f4c9e/runtime/src/lib.rs:193:20 - | 0x2403af20 0x080ac088 main - | @ /hubris/task/vpd/src/main.rs:120:9 - | - | - +---> R0 = 0x2403ae40 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x2403ae50 - | R4 = 0x2403ae40 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x2403aef8 R10 = 0x2403ae40 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x2403ade8 LR = 0x080ac089 PC = 0x080ad400 - | PSR = 0x41000000 - | - +-----------> 0x24001300 Task { - save: SavedState { - r4: 0x2403ae40, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x2403aef8, - r10: 0x2403ae40, - r11: 0x1, - psp: 0x2403ad80, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004ef0 (&kern::descs::TaskDesc) - } - -23 idle 0 8 ready - | - +---> 0x2403b100 0x080ae852 main - | @ /hubris/task/idle/src/main.rs:14:5 - | - | - +---> R0 = 0x2403b100 R1 = 0x2403b100 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x2403b100 LR = 0x080ae84f PC = 0x080ae852 - | PSR = 0x61000000 - | - +-----------> 0x240013a8 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x2403b098, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x8), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - notifications: 0x0, - descriptor: 0x8004f1c (&kern::descs::TaskDesc) - } - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.toml b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.toml deleted file mode 100644 index b07b0abf5..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 tasks -slvr --guess" - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.stderr b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.stdout b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.stdout deleted file mode 100644 index 6a1a67d45..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.stdout +++ /dev/null @@ -1,936 +0,0 @@ -system time = 444064 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+36) - | - +---> 0x20014538 0x0805d54c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20014600 0x0805c2ca userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20014600 0x0805c2ca userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20014600 0x0805c2ca main - | @ /hubris/task/jefe/src/main.rs:132:23 - | - | - +---> R0 = 0x0805dbf4 R1 = 0x00000000 R2 = 0x00000003 R3 = 0x200145dc - | R4 = 0x0805dbf4 R5 = 0x00000000 R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x200145c8 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x200145a4 SP = 0x20014518 LR = 0x0805c2cb PC = 0x0805d54c - | PSR = 0x41000000 - | - +-----------> 0x20000408 Task { - save: SavedState { - r4: 0x805dbf4, - r5: 0x0, - r6: 0x3, - r7: 0x0, - r8: 0x200145c8, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x200144b0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0xffffffff - }, - priority: Priority(0x0), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0x6c6c4)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e58 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005358 (&TaskDesc) - } - - 1 net 0 2 recv, notif: bit0(irq61) bit1(T+179) - | - +---> 0x200028a8 0x0802e7f8 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20002ed8 0x080257fe userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20002ed8 0x080257fe idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:250:20 - | 0x20002ed8 0x080257fe main - | @ /hubris/task/net/src/main.rs:180:13 - | - | - +---> R0 = 0x20002c98 R1 = 0x0000001c R2 = 0x00000003 R3 = 0x20002d38 - | R4 = 0x20002c98 R5 = 0x0000001c R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x20002d38 R9 = 0x00000042 R10 = 0x00000010 R11 = 0x00000001 - | R12 = 0x20002cb4 SP = 0x20002888 LR = 0x080257ff PC = 0x0802e7f8 - | PSR = 0x41000000 - | - +-----------> 0x200004b8 Task { - save: SavedState { - r4: 0x20002c98, - r5: 0x1c, - r6: 0x3, - r7: 0x0, - r8: 0x20002d38, - r9: 0x42, - r10: 0x10, - r11: 0x1, - psp: 0x20002820, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0x6c753)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e78 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005370 (&TaskDesc) - } - - 2 sys 0 1 recv - | - +---> 0x20017b50 0x080625d6 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20017b80 0x0806209e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20017b80 0x0806209e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20017b80 0x0806209e main - | @ /hubris/drv/stm32xx-sys/src/main.rs:131:9 - | - | - +---> R0 = 0x20017b58 R1 = 0x00000005 R2 = 0x00000000 R3 = 0x20017b60 - | R4 = 0x20017b58 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x5802447c R9 = 0x20017b74 R10 = 0x00000001 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20017b30 LR = 0x0806209f PC = 0x080625d6 - | PSR = 0x41000000 - | - +-----------> 0x20000568 Task { - save: SavedState { - r4: 0x20017b58, - r5: 0x5, - r6: 0x0, - r7: 0x0, - r8: 0x5802447c, - r9: 0x20017b74, - r10: 0x1, - r11: 0x1, - psp: 0x20017ac8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x1), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e98 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005388 (&TaskDesc) - } - - 3 spi4_driver 0 2 recv - | - +---> 0x20014ae8 0x08041c30 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20014b68 0x0804069e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20014b68 0x0804069e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20014b68 0x0804069e main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x20014b02 R1 = 0x00000002 R2 = 0x00000000 R3 = 0x20014b04 - | R4 = 0x20014b02 R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x20014b02 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x080420b0 SP = 0x20014ac8 LR = 0x0804069f PC = 0x08041c30 - | PSR = 0x41000000 - | - +-----------> 0x20000618 Task { - save: SavedState { - r4: 0x20014b02, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x20014b02, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x20014a60, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000eb8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80053a0 (&TaskDesc) - } - - 4 spi2_driver 0 2 recv - | - +---> 0x200152e0 0x08045d58 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015368 0x08044670 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015368 0x08044670 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20015368 0x08044670 main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x20015302 R1 = 0x00000002 R2 = 0x00000000 R3 = 0x20015304 - | R4 = 0x20015302 R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x20015302 R9 = 0x00000001 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x200153e8 SP = 0x200152c0 LR = 0x08044671 PC = 0x08045d58 - | PSR = 0x41000000 - | - +-----------> 0x200006c8 Task { - save: SavedState { - r4: 0x20015302, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x20015302, - r9: 0x1, - r10: 0x0, - r11: 0x1, - psp: 0x20015258, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ed8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80053b8 (&TaskDesc) - } - - 5 i2c_driver 0 2 recv - | - +---> 0x20015a58 0x0804a06c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015b80 0x0804869e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015b80 0x0804869e userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20015b80 0x0804869e userlib::hl::recv - | @ /hubris/sys/userlib/src/hl.rs:93:14 - | 0x20015b80 0x0804869e userlib::hl::recv_without_notification - | @ /hubris/sys/userlib/src/hl.rs:128:5 - | 0x20015b80 0x0804869e main - | @ /hubris/drv/stm32h7-i2c-server/src/main.rs:177:9 - | - | - +---> R0 = 0x20015b48 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x20015b58 - | R4 = 0x20015b48 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x20015b48 R9 = 0x08048051 R10 = 0x08048059 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20015a38 LR = 0x0804869f PC = 0x0804a06c - | PSR = 0x41000000 - | - +-----------> 0x20000778 Task { - save: SavedState { - r4: 0x20015b48, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x20015b48, - r9: 0x8048051, - r10: 0x8048059, - r11: 0x1, - psp: 0x200159d0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ef8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0xe, - descriptor: 0x80053d0 (&TaskDesc) - } - - 6 spd 0 2 notif: bit0(irq31/irq32) - | - +---> 0x20004250 0x0804deee userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20004270 0x0804c674 core::ops::function::FnOnce::call_once - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/ops/function.rs:227:5 - | 0x200042a8 0x0804c444 drv_stm32h7_i2c::I2cController::operate_as_target - | @ /hubris/drv/stm32h7-i2c/src/lib.rs:905:17 - | 0x20004380 0x0804ce46 main - | @ /hubris/task/spd/src/main.rs:414:5 - | - | - +---> R0 = 0x0804e58c R1 = 0x00000000 R2 = 0x00000001 R3 = 0x20004254 - | R4 = 0x0804e58c R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x40005400 R9 = 0x00000000 R10 = 0x2000448c R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20004230 LR = 0x0804c675 PC = 0x0804deee - | PSR = 0x41000000 - | - +-----------> 0x20000828 Task { - save: SavedState { - r4: 0x804e58c, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x40005400, - r9: 0x0, - r10: 0x2000448c, - r11: 0x1, - psp: 0x200041c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f18 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80053e8 (&TaskDesc) - } - - 7 thermal 0 3 recv, notif: bit0(T+943) - | - +---> 0x200166c0 0x0805f512 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20016780 0x0805e20c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20016780 0x0805e20c idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:250:20 - | 0x20016780 0x0805e20c main - | @ /hubris/task/thermal/src/main.rs:245:9 - | - | - +---> R0 = 0x2001675e R1 = 0x00000002 R2 = 0x00000001 R3 = 0x20016760 - | R4 = 0x2001675e R5 = 0x00000002 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x2001674a R9 = 0x0805f734 R10 = 0x200166d0 R11 = 0x00000001 - | R12 = 0x00480000 SP = 0x200166a0 LR = 0x0805e20d PC = 0x0805f512 - | PSR = 0x61000000 - | - +-----------> 0x200008d8 Task { - save: SavedState { - r4: 0x2001675e, - r5: 0x2, - r6: 0x1, - r7: 0x0, - r8: 0x2001674a, - r9: 0x805f734, - r10: 0x200166d0, - r11: 0x1, - psp: 0x20016638, - exc_return: 0xffffffed, - s16: 0x3c000000, - s17: 0x0, - s18: 0x3e000000, - s19: 0x0, - s20: 0x42c80000, - s21: 0x0, - s22: 0x43ff8000, - s23: 0x0, - s24: 0x477fff00, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0x6ca4f)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f38 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005400 (&TaskDesc) - } - - 8 power 0 3 notif: bit31(T+618) - | - +---> 0x200123c8 0x0805229e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20012800 0x08050322 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1060:9 - | 0x20012800 0x08050322 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:625:12 - | 0x20012800 0x08050322 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:636:5 - | 0x20012800 0x08050322 main - | @ /hubris/task/power/src/main.rs:239:9 - | - | - +---> R0 = 0x08052b9c R1 = 0x00000000 R2 = 0x80000000 R3 = 0x200127d8 - | R4 = 0x08052b9c R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x0000000a R9 = 0x08052b9c R10 = 0x200127d8 R11 = 0x00000001 - | R12 = 0x00000003 SP = 0x200123a8 LR = 0x08050323 PC = 0x0805229e - | PSR = 0x41000000 - | - +-----------> 0x20000988 Task { - save: SavedState { - r4: 0x8052b9c, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0xa, - r9: 0x8052b9c, - r10: 0x200127d8, - r11: 0x1, - psp: 0x20012340, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0x6c90a)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f58 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005418 (&TaskDesc) - } - - 9 hiffy 0 3 notif: bit31(T+172) - | - +---> 0x20008140 0x0800b672 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20008180 0x0800b6e2 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1060:9 - | 0x20008180 0x0800b6e2 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:625:12 - | 0x20008180 0x0800b6e2 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:636:5 - | 0x20008400 0x0800911c core::sync::atomic::atomic_sub - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/sync/atomic.rs:2409:23 - | 0x20008400 0x0800911c core::sync::atomic::AtomicU32::fetch_sub - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/sync/atomic.rs:1774:26 - | 0x20008400 0x0800911c main - | @ /hubris/task/hiffy/src/main.rs:117:9 - | - | - +---> R0 = 0x0800c77c R1 = 0x00000000 R2 = 0x80000000 R3 = 0x20008148 - | R4 = 0x0800c77c R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x0800c77c R9 = 0x8000ffff R10 = 0x000007f1 R11 = 0x00000001 - | R12 = 0x00000008 SP = 0x20008120 LR = 0x0800b6e3 PC = 0x0800b672 - | PSR = 0x41000000 - | - +-----------> 0x20000a38 Task { - save: SavedState { - r4: 0x800c77c, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x800c77c, - r9: 0x8000ffff, - r10: 0x7f1, - r11: 0x1, - psp: 0x200080b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0x6c74c)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f78 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005430 (&TaskDesc) - } - -10 gimlet_seq 0 3 recv - | - +---> 0x200134f0 0x080135da userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20013640 0x0801089c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20013640 0x0801089c idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20013640 0x0801089c main - | @ /hubris/drv/gimlet-seq-server/src/main.rs:297:9 - | - | - +---> R0 = 0x20013517 R1 = 0x00000001 R2 = 0x00000000 R3 = 0x20013530 - | R4 = 0x20013517 R5 = 0x00000001 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000008 R9 = 0x20013530 R10 = 0x20013640 R11 = 0x00000001 - | R12 = 0x00000008 SP = 0x200134d0 LR = 0x0801089d PC = 0x080135da - | PSR = 0x41000000 - | - +-----------> 0x20000ae8 Task { - save: SavedState { - r4: 0x20013517, - r5: 0x1, - r6: 0x0, - r7: 0x0, - r8: 0x8, - r9: 0x20013530, - r10: 0x20013640, - r11: 0x1, - psp: 0x20013468, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f98 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005448 (&TaskDesc) - } - -11 hf 0 3 recv - | - +---> 0x20016df8 0x0805582c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20016f80 0x0805437e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20016f80 0x0805437e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:174:20 - | 0x20016f80 0x0805437e main - | @ /hubris/drv/gimlet-hf-server/src/main.rs:145:9 - | - | - +---> R0 = 0x20016e30 R1 = 0x00000008 R2 = 0x00000000 R3 = 0x20016f60 - | R4 = 0x20016e30 R5 = 0x00000008 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x0000000a R9 = 0x00000000 R10 = 0x20016e30 R11 = 0x00000001 - | R12 = 0x20016f4c SP = 0x20016dd8 LR = 0x0805437f PC = 0x0805582c - | PSR = 0x61000000 - | - +-----------> 0x20000b98 Task { - save: SavedState { - r4: 0x20016e30, - r5: 0x8, - r6: 0x0, - r7: 0x0, - r8: 0xa, - r9: 0x0, - r10: 0x20016e30, - r11: 0x1, - psp: 0x20016d70, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fb8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005460 (&TaskDesc) - } - -12 sensor 0 3 recv, notif: bit0(T+936) - | - +---> 0x20017388 0x08060bbe userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20017780 0x080600b8 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20017780 0x080600b8 idol_runtime::dispatch_n - | @ /git/idolatry-1ebf1c2fd2f30300/4e12855/runtime/src/lib.rs:250:20 - | 0x20017780 0x080600b8 main - | @ /hubris/task/sensor/src/main.rs:111:9 - | - | - +---> R0 = 0x20017768 R1 = 0x00000008 R2 = 0x00000001 R3 = 0x20017580 - | R4 = 0x20017768 R5 = 0x00000008 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x20017390 R9 = 0x20017774 R10 = 0x08060ffc R11 = 0x00000001 - | R12 = 0x000001e4 SP = 0x20017368 LR = 0x080600b9 PC = 0x08060bbe - | PSR = 0x41000000 - | - +-----------> 0x20000c48 Task { - save: SavedState { - r4: 0x20017768, - r5: 0x8, - r6: 0x1, - r7: 0x0, - r8: 0x20017390, - r9: 0x20017774, - r10: 0x8060ffc, - r11: 0x1, - psp: 0x20017300, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0x6ca48)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fd8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005478 (&TaskDesc) - } - -13 udpecho 0 3 notif: bit0 - | - +---> 0x20010e08 0x0805957e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20011000 0x080587e4 core::result::Result::unwrap - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/result.rs:1297:9 - | 0x20011000 0x080587e4 main - | @ /hubris/task/udpecho/src/main.rs:36:17 - | - | - +---> R0 = 0x08059b2c R1 = 0x00000000 R2 = 0x00000001 R3 = 0x20010fdc - | R4 = 0x08059b2c R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x00000001 R9 = 0x00000001 R10 = 0x20011000 R11 = 0x00000001 - | R12 = 0x20010fd8 SP = 0x20010de8 LR = 0x080587e5 PC = 0x0805957e - | PSR = 0x21000000 - | - +-----------> 0x20000cf8 Task { - save: SavedState { - r4: 0x8059b2c, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x1, - r9: 0x1, - r10: 0x20011000, - r11: 0x1, - psp: 0x20010d80, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ff8 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8005490 (&TaskDesc) - } - -14 idle 0 5 RUNNING - | - +---> 0x20017d00 0x08062856 main - | @ /hubris/task/idle/src/main.rs:14:5 - | - | - +---> R0 = 0x20017d00 R1 = 0x20017d00 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x20017cf8 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20017cf8 LR = 0x0806284f PC = 0x08062856 - | PSR = 0x61000000 - | - +-----------> 0x20000da8 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x20017cf8, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20017c90, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001018 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80054a8 (&TaskDesc) - } - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.toml b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.toml deleted file mode 100644 index 7ec92e19b..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 tasks -slvr --guess" - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.stderr b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.stdout b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.stdout deleted file mode 100644 index af557800d..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.stdout +++ /dev/null @@ -1,933 +0,0 @@ -system time = 0 -ID TASK GEN PRI STATE - 0 jefe 0 0 wait: send to jefe/gen0 - | - +---> 0x20013538 0x0803554c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20013600 0x080342ca userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20013600 0x080342ca userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20013600 0x080342ca main - | @ /hubris/task/jefe/src/main.rs:132:23 - | - | - +---> R0 = 0x08035bf4 R1 = 0x00000000 R2 = 0x00000003 R3 = 0x200135dc - | R4 = 0x00000000 R5 = 0x0000ffff R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20013518 LR = 0x080342cb PC = 0x0803554c - | PSR = 0x41000000 - | - +-----------> 0x20000410 Task { - save: SavedState { - r4: 0x0, - r5: 0xffff, - r6: 0x1, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x200134b0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0xffffffff - }, - priority: Priority(0x0), - state: Healthy(InSend(TaskId(0x0))), - timer: TimerState { - deadline: Some(Timestamp(0x300000000)), - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e60 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x1, - descriptor: 0x8004870 (&TaskDesc) - } - - 1 sys 0 1 FAULT: illegal instruction (was: ready) - | - +---> 0x20015330 0x0803e60a userlib::sys_panic_stub - | @ /hubris/sys/userlib/src/lib.rs:1017:13 - | 0x20015338 0x0803e618 userlib::sys_panic - | @ /hubris/sys/userlib/src/lib.rs:983:14 - | 0x20015338 0x0803e618 rust_begin_unwind - | @ /hubris/sys/userlib/src/lib.rs:1446:5 - | 0x20015340 0x0803e47c core::panicking::panic_fmt - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:103:14 - | 0x20015348 0x0803e486 core::panicking::panic - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:50:5 - | 0x20015350 0x0803e46c drv_stm32xx_sys::idl::InOrderSysImpl::closed_recv_fail - | @ /build/drv-stm32xx-sys-c6d586730361d51c/out/server_stub.rs:245:9 - | 0x20015380 0x0803e406 drv_stm32xx_sys::idl:: for (core::marker::PhantomData,&mut S)>::closed_recv_fail - | @ /build/drv-stm32xx-sys-c6d586730361d51c/out/server_stub.rs:309:9 - | 0x20015380 0x0803e406 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:177:13 - | 0x20015380 0x0803e406 main - | @ /hubris/drv/stm32xx-sys/src/main.rs:131:9 - | - | - +---> R0 = 0x0803e674 R1 = 0x00000005 R2 = 0x00000000 R3 = 0x20015360 - | R4 = 0x0803e674 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x20015330 - | R8 = 0x5802447c R9 = 0x20015374 R10 = 0x00000000 R11 = 0x00000008 - | R12 = 0x00000000 SP = 0x20015320 LR = 0x0803e619 PC = 0x0803e60a - | PSR = 0x21000000 - | - +-----------> 0x200004c0 Task { - save: SavedState { - r4: 0x803e674, - r5: 0x5, - r6: 0x0, - r7: 0x20015330, - r8: 0x5802447c, - r9: 0x20015374, - r10: 0x0, - r11: 0x8, - psp: 0x200152b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x1), - state: Faulted { - fault: IllegalInstruction, - original_state: Runnable - }, - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e80 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004884 (&TaskDesc) - } - - 2 i2c_driver 0 2 FAULT: illegal instruction (was: ready) - | - +---> 0x20013a48 0x0802995a userlib::sys_panic_stub - | @ /hubris/sys/userlib/src/lib.rs:1017:13 - | 0x20013a80 0x08029996 userlib::sys_panic - | @ /hubris/sys/userlib/src/lib.rs:983:14 - | 0x20013a80 0x08029996 rust_begin_unwind - | @ /hubris/sys/userlib/src/lib.rs:1437:5 - | 0x20013a98 0x08028e62 core::panicking::panic_fmt - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:103:14 - | 0x20013ac0 0x080291d4 core::panicking::panic - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:50:5 - | 0x20013b80 0x08028af8 main - | @ /hubris//drv/stm32h7-i2c-server/src/main.rs:149 - | - | - +---> R0 = 0x20013f58 R1 = 0x00000080 R2 = 0x00000000 R3 = 0x0802973f - | R4 = 0x20013f58 R5 = 0x00000080 R6 = 0x00000000 R7 = 0x20013a78 - | R8 = 0x00000000 R9 = 0x00000096 R10 = 0x08029e08 R11 = 0x00000008 - | R12 = 0x0000ff9c SP = 0x20013a38 LR = 0x08029997 PC = 0x0802995a - | PSR = 0x61000000 - | - +-----------> 0x20000570 Task { - save: SavedState { - r4: 0x20013f58, - r5: 0x80, - r6: 0x0, - r7: 0x20013a78, - r8: 0x0, - r9: 0x96, - r10: 0x8029e08, - r11: 0x8, - psp: 0x200139d0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Faulted { - fault: IllegalInstruction, - original_state: Runnable - }, - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ea0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004898 (&TaskDesc) - } - - 3 spi_driver 0 2 FAULT: illegal instruction (was: ready) - | - +---> 0x20014278 0x0802dcaa userlib::sys_panic_stub - | @ /hubris/sys/userlib/src/lib.rs:1017:13 - | 0x200142b0 0x0802dce6 userlib::sys_panic - | @ /hubris/sys/userlib/src/lib.rs:983:14 - | 0x200142b0 0x0802dce6 rust_begin_unwind - | @ /hubris/sys/userlib/src/lib.rs:1437:5 - | 0x200142c8 0x0802d272 core::panicking::panic_fmt - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:103:14 - | 0x200142f0 0x0802d626 core::panicking::panic - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:50:5 - | 0x20014370 0x0802c3bc main - | @ /hubris//drv/stm32h7-spi-server/src/main.rs:59 - | - | - +---> R0 = 0x2001477c R1 = 0x00000080 R2 = 0x00000000 R3 = 0x0802db1b - | R4 = 0x2001477c R5 = 0x00000080 R6 = 0x00000000 R7 = 0x200142a8 - | R8 = 0x0802e694 R9 = 0x00000004 R10 = 0x20014367 R11 = 0x00000008 - | R12 = 0x0000ff9c SP = 0x20014268 LR = 0x0802dce7 PC = 0x0802dcaa - | PSR = 0x61000000 - | - +-----------> 0x20000620 Task { - save: SavedState { - r4: 0x2001477c, - r5: 0x80, - r6: 0x0, - r7: 0x200142a8, - r8: 0x802e694, - r9: 0x4, - r10: 0x20014367, - r11: 0x8, - psp: 0x20014200, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Faulted { - fault: IllegalInstruction, - original_state: Runnable - }, - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ec0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048ac (&TaskDesc) - } - - 4 user_leds 0 2 FAULT: illegal instruction (was: ready) - | - +---> 0x200156f0 0x0803ebf2 userlib::sys_panic_stub - | @ /hubris/sys/userlib/src/lib.rs:1017:13 - | 0x200156f8 0x0803ec00 userlib::sys_panic - | @ /hubris/sys/userlib/src/lib.rs:983:14 - | 0x200156f8 0x0803ec00 rust_begin_unwind - | @ /hubris/sys/userlib/src/lib.rs:1446:5 - | 0x20015700 0x0803eaa8 core::panicking::panic_fmt - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:103:14 - | 0x20015708 0x0803eab2 core::panicking::panic - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:50:5 - | 0x20015740 0x0803eb42 drv_stm32xx_sys_api::Sys::gpio_set_reset - | @ /build/drv-stm32xx-sys-api-8f1eaa8811658a88/out/client_stub.rs:367:13 - | 0x20015780 0x0803e8a2 drv_user_leds::enable_led_pins - | @ /hubris/drv/user-leds/src/main.rs:405:9 - | 0x20015780 0x0803e8a2 main - | @ /hubris/drv/user-leds/src/main.rs:112:5 - | - | - +---> R0 = 0x0803ec8a R1 = 0x00000005 R2 = 0x00000000 R3 = 0x00000004 - | R4 = 0x0803ec8a R5 = 0x00000005 R6 = 0x0803ec1c R7 = 0x200156f0 - | R8 = 0x2001574c R9 = 0x00000004 R10 = 0x20015758 R11 = 0x00000008 - | R12 = 0x00000000 SP = 0x200156e0 LR = 0x0803ec01 PC = 0x0803ebf2 - | PSR = 0x01000000 - | - +-----------> 0x200006d0 Task { - save: SavedState { - r4: 0x803ec8a, - r5: 0x5, - r6: 0x803ec1c, - r7: 0x200156f0, - r8: 0x2001574c, - r9: 0x4, - r10: 0x20015758, - r11: 0x8, - psp: 0x20015678, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Faulted { - fault: IllegalInstruction, - original_state: Runnable - }, - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ee0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048c0 (&TaskDesc) - } - - 5 pong 0 3 FAULT: illegal instruction (was: ready) - | - +---> 0x20015b20 0x0803f1fa userlib::sys_panic_stub - | @ /hubris/sys/userlib/src/lib.rs:1017:13 - | 0x20015b28 0x0803f208 userlib::sys_panic - | @ /hubris/sys/userlib/src/lib.rs:983:14 - | 0x20015b28 0x0803f208 rust_begin_unwind - | @ /hubris/sys/userlib/src/lib.rs:1446:5 - | 0x20015b30 0x0803f160 core::panicking::panic_fmt - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:103:14 - | 0x20015b38 0x0803f16a core::panicking::panic - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/panicking.rs:50:5 - | 0x20015b80 0x0803f132 main - | @ /hubris//task/pong/src/main.rs:13 - | - | - +---> R0 = 0x0803f282 R1 = 0x00000005 R2 = 0x00000001 R3 = 0x20015b58 - | R4 = 0x0803f282 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x20015b20 - | R8 = 0x00040003 R9 = 0x00000000 R10 = 0x20015b54 R11 = 0x00000008 - | R12 = 0x00000000 SP = 0x20015b10 LR = 0x0803f209 PC = 0x0803f1fa - | PSR = 0x01000000 - | - +-----------> 0x20000780 Task { - save: SavedState { - r4: 0x803f282, - r5: 0x5, - r6: 0x0, - r7: 0x20015b20, - r8: 0x40003, - r9: 0x0, - r10: 0x20015b54, - r11: 0x8, - psp: 0x20015aa8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Faulted { - fault: IllegalInstruction, - original_state: Runnable - }, - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f00 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048d4 (&TaskDesc) - } - - 6 uartecho 0 3 RUNNING - | - +---> 0x20010728 0x080372ae userlib::sys_send_stub - | @ /hubris/sys/userlib/src/lib.rs:194:13 - | 0x20010800 0x08036244 drv_stm32xx_sys_api::Sys::enable_clock_raw - | @ /build/drv-stm32xx-sys-api-f1c4139af0e99a98/out/client_stub.rs:64:12 - | 0x20010800 0x08036244 drv_stm32xx_sys_api::Sys::enable_clock - | @ /hubris/drv/stm32xx-sys-api/src/lib.rs:46:9 - | 0x20010800 0x08036244 drv_stm32h7_usart::Usart::turn_on - | @ /hubris/drv/stm32h7-usart/src/lib.rs:48:9 - | 0x20010800 0x08036244 task_uartecho::configure_uart_device - | @ /hubris/task/uartecho/src/main.rs:243:5 - | 0x20010800 0x08036244 main - | @ /hubris/task/uartecho/src/main.rs:45:16 - | - | - +---> R0 = 0x20010778 R1 = 0x000003fe R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00010001 R5 = 0x2001073c R6 = 0x00000004 R7 = 0x20010768 - | R8 = 0x00000000 R9 = 0x08037aa8 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20010708 LR = 0x08036245 PC = 0x080372ae - | PSR = 0x01000000 - | - +-----------> 0x20000830 Task { - save: SavedState { - r4: 0x10001, - r5: 0x2001073c, - r6: 0x4, - r7: 0x20010768, - r8: 0x0, - r9: 0x8037aa8, - r10: 0x0, - r11: 0x0, - psp: 0x200106a0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f20 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048e8 (&TaskDesc) - } - - 7 hiffy 0 4 ready - | - +---> 0x20008800 0x08008001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20008800 LR = 0xffffffff PC = 0x08008001 - | PSR = 0x01000000 - | - +-----------> 0x200008e0 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20008798, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f40 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048fc (&TaskDesc) - } - - 8 hf 0 3 ready - | - +---> 0x20014f80 0x08030001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20014f80 LR = 0xffffffff PC = 0x08030001 - | PSR = 0x01000000 - | - +-----------> 0x20000990 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20014f18, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f60 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004910 (&TaskDesc) - } - - 9 net 0 3 ready - | - +---> 0x200050e0 0x08010001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x200050e0 LR = 0xffffffff PC = 0x08010001 - | PSR = 0x01000000 - | - +-----------> 0x20000a40 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20005078, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f80 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004924 (&TaskDesc) - } - -10 udpecho 0 4 ready - | - +---> 0x20003000 0x08038001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20003000 LR = 0xffffffff PC = 0x08038001 - | PSR = 0x01000000 - | - +-----------> 0x20000af0 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20002f98, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fa0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004938 (&TaskDesc) - } - -11 validate 0 3 ready - | - +---> 0x20011400 0x08020001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20011400 LR = 0xffffffff PC = 0x08020001 - | PSR = 0x01000000 - | - +-----------> 0x20000ba0 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20011398, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fc0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x800494c (&TaskDesc) - } - -12 idle 0 5 ready - | - +---> 0x20015f00 0x0803f401 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20015f00 LR = 0xffffffff PC = 0x0803f401 - | PSR = 0x01000000 - | - +-----------> 0x20000c50 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20015e98, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fe0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004960 (&TaskDesc) - } - -13 rng_driver 0 3 ready - | - +---> 0x20015d00 0x0803a001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20015d00 LR = 0xffffffff PC = 0x0803a001 - | PSR = 0x01000000 - | - +-----------> 0x20000d00 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20015c98, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001000 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004974 (&TaskDesc) - } - -14 update_server 0 3 ready - | - +---> 0x20012800 0x0803c001 _start - | @ /hubris/sys/userlib/src/lib.rs:1225:13 - | - | - +---> R0 = 0x00000000 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20012800 LR = 0xffffffff PC = 0x0803c001 - | PSR = 0x01000000 - | - +-----------> 0x20000db0 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20012798, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001020 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004988 (&TaskDesc) - } - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.toml b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.toml deleted file mode 100644 index 4dbe772b3..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 tasks -slvr --guess" - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.stderr b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.stdout b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.stdout deleted file mode 100644 index 8f13866a0..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.stdout +++ /dev/null @@ -1,942 +0,0 @@ -system time = 695346 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+54) - | - +---> 0x20013538 0x0803554c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20013600 0x080342ca userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20013600 0x080342ca userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20013600 0x080342ca main - | @ /hubris/task/jefe/src/main.rs:132:23 - | - | - +---> R0 = 0x08035bf4 R1 = 0x00000000 R2 = 0x00000003 R3 = 0x200135dc - | R4 = 0x08035bf4 R5 = 0x00000000 R6 = 0x00000003 R7 = 0x00000000 - | R8 = 0x200135c8 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x200135a4 SP = 0x20013518 LR = 0x080342cb PC = 0x0803554c - | PSR = 0x41000000 - | - +-----------> 0x20000410 Task { - save: SavedState { - r4: 0x8035bf4, - r5: 0x0, - r6: 0x3, - r7: 0x0, - r8: 0x200135c8, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x200134b0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0xffffffff - }, - priority: Priority(0x0), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xa9c68)), - to_post: NotificationSet(0x2) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e60 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004880 (&TaskDesc) - } - - 1 sys 0 1 recv - | - +---> 0x20015350 0x0803e5d6 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015380 0x0803e09e userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015380 0x0803e09e idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20015380 0x0803e09e main - | @ /hubris/drv/stm32xx-sys/src/main.rs:131:9 - | - | - +---> R0 = 0x20015358 R1 = 0x00000005 R2 = 0x00000000 R3 = 0x20015360 - | R4 = 0x20015358 R5 = 0x00000005 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x5802447c R9 = 0x20015374 R10 = 0x00000010 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20015330 LR = 0x0803e09f PC = 0x0803e5d6 - | PSR = 0x41000000 - | - +-----------> 0x200004c0 Task { - save: SavedState { - r4: 0x20015358, - r5: 0x5, - r6: 0x0, - r7: 0x0, - r8: 0x5802447c, - r9: 0x20015374, - r10: 0x10, - r11: 0x1, - psp: 0x200152c8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x1), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000e80 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004894 (&TaskDesc) - } - - 2 i2c_driver 0 2 recv - | - +---> 0x20013ac0 0x08029898 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20013b80 0x080284c2 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20013b80 0x080284c2 userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20013b80 0x080284c2 userlib::hl::recv - | @ /hubris/sys/userlib/src/hl.rs:93:14 - | 0x20013b80 0x080284c2 userlib::hl::recv_without_notification - | @ /hubris/sys/userlib/src/hl.rs:128:5 - | 0x20013b80 0x080284c2 main - | @ /hubris/drv/stm32h7-i2c-server/src/main.rs:178:9 - | - | - +---> R0 = 0x20013b54 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x20013b58 - | R4 = 0x20013b54 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x000084c4 R10 = 0x3060767f R11 = 0x00000001 - | R12 = 0x20013b58 SP = 0x20013aa0 LR = 0x080284c3 PC = 0x08029898 - | PSR = 0x41000000 - | - +-----------> 0x20000570 Task { - save: SavedState { - r4: 0x20013b54, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x84c4, - r10: 0x3060767f, - r11: 0x1, - psp: 0x20013a38, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ea0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048a8 (&TaskDesc) - } - - 3 spi_driver 0 2 recv - | - +---> 0x200142f0 0x0802dc34 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20014370 0x0802c6a0 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20014370 0x0802c6a0 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20014370 0x0802c6a0 main - | @ /hubris/drv/stm32h7-spi-server/src/main.rs:119:9 - | - | - +---> R0 = 0x2001430a R1 = 0x00000002 R2 = 0x00000000 R3 = 0x2001430c - | R4 = 0x2001430a R5 = 0x00000002 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x2001430a R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x0802e0b0 SP = 0x200142d0 LR = 0x0802c6a1 PC = 0x0802dc34 - | PSR = 0x41000000 - | - +-----------> 0x20000620 Task { - save: SavedState { - r4: 0x2001430a, - r5: 0x2, - r6: 0x0, - r7: 0x0, - r8: 0x2001430a, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x20014268, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ec0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048bc (&TaskDesc) - } - - 4 user_leds 0 2 recv - | - +---> 0x20015740 0x0803eb60 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015780 0x0803e930 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015780 0x0803e930 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20015780 0x0803e930 main - | @ /hubris/drv/user-leds/src/main.rs:118:9 - | - | - +---> R0 = 0x2001574c R1 = 0x00000004 R2 = 0x00000000 R3 = 0x20015758 - | R4 = 0x2001574c R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x20015758 R10 = 0x00000006 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20015720 LR = 0x0803e931 PC = 0x0803eb60 - | PSR = 0x61000000 - | - +-----------> 0x200006d0 Task { - save: SavedState { - r4: 0x2001574c, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x20015758, - r10: 0x6, - r11: 0x1, - psp: 0x200156b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x2), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000ee0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048d0 (&TaskDesc) - } - - 5 pong 0 3 recv, notif: bit0(T+154) - | - +---> 0x20015b38 0x0803f198 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015b80 0x0803f0b8 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015b80 0x0803f0b8 userlib::sys_recv_open - | @ /hubris/sys/userlib/src/lib.rs:240:11 - | 0x20015b80 0x0803f0b8 main - | @ /hubris/task/pong/src/main.rs:26:23 - | - | - +---> R0 = 0x20015b44 R1 = 0x00000010 R2 = 0x00000001 R3 = 0x20015b58 - | R4 = 0x20015b44 R5 = 0x00000010 R6 = 0x00000001 R7 = 0x00000000 - | R8 = 0x00040003 R9 = 0x00000006 R10 = 0x20015b54 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20015b18 LR = 0x0803f0b9 PC = 0x0803f198 - | PSR = 0x41000000 - | - +-----------> 0x20000780 Task { - save: SavedState { - r4: 0x20015b44, - r5: 0x10, - r6: 0x1, - r7: 0x0, - r8: 0x40003, - r9: 0x6, - r10: 0x20015b54, - r11: 0x1, - psp: 0x20015ab0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: Some(Timestamp(0xa9ccc)), - to_post: NotificationSet(0x1) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f00 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048e4 (&TaskDesc) - } - - 6 uartecho 0 3 notif: bit0(irq38) - | - +---> 0x20010728 0x08037292 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20010800 0x0803638c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:293:9 - | 0x20010800 0x0803638c userlib::sys_recv_closed - | @ /hubris/sys/userlib/src/lib.rs:266:5 - | 0x20010800 0x0803638c main - | @ /hubris/task/uartecho/src/main.rs:54:17 - | - | - +---> R0 = 0x08037aa8 R1 = 0x00000000 R2 = 0x00000001 R3 = 0x20010778 - | R4 = 0x08037aa8 R5 = 0x00000000 R6 = 0x00000001 R7 = 0x8000ffff - | R8 = 0x20010738 R9 = 0x0803789c R10 = 0x2001073e R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20010708 LR = 0x0803638d PC = 0x08037292 - | PSR = 0x01000000 - | - +-----------> 0x20000830 Task { - save: SavedState { - r4: 0x8037aa8, - r5: 0x0, - r6: 0x1, - r7: 0x8000ffff, - r8: 0x20010738, - r9: 0x803789c, - r10: 0x2001073e, - r11: 0x1, - psp: 0x200106a0, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f20 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x80048f8 (&TaskDesc) - } - - 7 hiffy 0 4 notif: bit31(T+175) - | - +---> 0x20008540 0x0800bd62 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20008580 0x0800bdde userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1060:9 - | 0x20008580 0x0800bdde userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:625:12 - | 0x20008580 0x0800bdde userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:647:5 - | 0x20008800 0x08009554 core::sync::atomic::atomic_sub - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/sync/atomic.rs:2409:23 - | 0x20008800 0x08009554 core::sync::atomic::AtomicU32::fetch_sub - | @ /rustc/ac2d9fc509e36d1b32513744adf58c34bcc4f43c/library/core/src/sync/atomic.rs:1774:26 - | 0x20008800 0x08009554 main - | @ /hubris/task/hiffy/src/main.rs:117:9 - | - | - +---> R0 = 0x0800d1bc R1 = 0x00000000 R2 = 0x80000000 R3 = 0x20008548 - | R4 = 0x0800d1bc R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x0800d1bc R9 = 0x8000ffff R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x200087b0 SP = 0x20008520 LR = 0x0800bddf PC = 0x0800bd62 - | PSR = 0x41000000 - | - +-----------> 0x200008e0 Task { - save: SavedState { - r4: 0x800d1bc, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x800d1bc, - r9: 0x8000ffff, - r10: 0x0, - r11: 0x1, - psp: 0x200084b8, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0xa9ce1)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f40 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x800490c (&TaskDesc) - } - - 8 hf 0 3 recv - | - +---> 0x20014e08 0x080317b4 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20014f80 0x0803031c userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20014f80 0x0803031c idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20014f80 0x0803031c main - | @ /hubris/drv/gimlet-hf-server/src/main.rs:145:9 - | - | - +---> R0 = 0x20014e30 R1 = 0x00000008 R2 = 0x00000000 R3 = 0x20014f60 - | R4 = 0x20014e30 R5 = 0x00000008 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000002 R9 = 0x08031b20 R10 = 0x20014e30 R11 = 0x00000001 - | R12 = 0x20014f4c SP = 0x20014de8 LR = 0x0803031d PC = 0x080317b4 - | PSR = 0x41000000 - | - +-----------> 0x20000990 Task { - save: SavedState { - r4: 0x20014e30, - r5: 0x8, - r6: 0x0, - r7: 0x0, - r8: 0x2, - r9: 0x8031b20, - r10: 0x20014e30, - r11: 0x1, - psp: 0x20014d80, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f60 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004920 (&TaskDesc) - } - - 9 net 0 3 notif: bit31(T+2) - | - +---> 0x200047e0 0x0801b68c userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20004820 0x0801b706 userlib::sys_get_timer - | @ /hubris/sys/userlib/src/lib.rs:1060:9 - | 0x20004820 0x0801b706 userlib::hl::sleep_until - | @ /hubris/sys/userlib/src/hl.rs:625:12 - | 0x20004820 0x0801b706 userlib::hl::sleep_for - | @ /hubris/sys/userlib/src/hl.rs:647:5 - | 0x200050e0 0x08011066 drv_stm32h7_eth::crappy_spin_until - | @ /hubris/drv/stm32h7-eth/src/lib.rs:51:9 - | 0x200050e0 0x08011066 drv_stm32h7_eth::Ethernet::new - | @ /hubris/drv/stm32h7-eth/src/lib.rs:80:9 - | 0x200050e0 0x08011066 main - | @ /hubris/task/net/src/main.rs:128:15 - | - | - +---> R0 = 0x0801d668 R1 = 0x00000000 R2 = 0x80000000 R3 = 0x200047e8 - | R4 = 0x0801d668 R5 = 0x00000000 R6 = 0x80000000 R7 = 0x8000ffff - | R8 = 0x0801d668 R9 = 0x8000ffff R10 = 0x30000080 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x200047c0 LR = 0x0801b707 PC = 0x0801b68c - | PSR = 0x41000000 - | - +-----------> 0x20000a40 Task { - save: SavedState { - r4: 0x801d668, - r5: 0x0, - r6: 0x80000000, - r7: 0x8000ffff, - r8: 0x801d668, - r9: 0x8000ffff, - r10: 0x30000080, - r11: 0x1, - psp: 0x20004758, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(Some(TaskId(0xffff)))), - timer: TimerState { - deadline: Some(Timestamp(0xa9c34)), - to_post: NotificationSet(0x80000000) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000f80 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004934 (&TaskDesc) - } - -10 udpecho 0 4 wait: send to net/gen0 - | - +---> 0x20002dd0 0x08039726 userlib::sys_send_stub - | @ /hubris/sys/userlib/src/lib.rs:194:13 - | 0x20003000 0x08038134 userlib::sys_send - | @ /hubris/sys/userlib/src/lib.rs:135:14 - | 0x20003000 0x08038134 task_net_api::Net::recv_packet - | @ /build/task-net-api-4ffcac6de28e7694/out/client_stub.rs:54:25 - | 0x20003000 0x08038134 main - | @ /hubris/task/udpecho/src/main.rs:23:15 - | - | - +---> R0 = 0x20002fbc R1 = 0x00000001 R2 = 0x20002fc0 R3 = 0x08039be4 - | R4 = 0x00090001 R5 = 0x20002e8b R6 = 0x00000001 R7 = 0x20002f9c - | R8 = 0x0000001c R9 = 0x20002f8c R10 = 0x00000001 R11 = 0x00000000 - | R12 = 0x20002fb8 SP = 0x20002db0 LR = 0x08038135 PC = 0x08039726 - | PSR = 0x01000000 - | - +-----------> 0x20000af0 Task { - save: SavedState { - r4: 0x90001, - r5: 0x20002e8b, - r6: 0x1, - r7: 0x20002f9c, - r8: 0x1c, - r9: 0x20002f8c, - r10: 0x1, - r11: 0x0, - psp: 0x20002d48, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x4), - state: Healthy(InSend(TaskId(0x9))), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fa0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004948 (&TaskDesc) - } - -11 validate 0 3 recv - | - +---> 0x200113d8 0x08020bda userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20011400 0x08020128 userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20011400 0x08020128 idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20011400 0x08020128 main - | @ /hubris/task/validate/src/main.rs:61:9 - | - | - +---> R0 = 0x200113e0 R1 = 0x00000004 R2 = 0x00000000 R3 = 0x200113e4 - | R4 = 0x200113e0 R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x08020f5c R9 = 0x20011400 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x200113b8 LR = 0x08020129 PC = 0x08020bda - | PSR = 0x61000000 - | - +-----------> 0x20000ba0 Task { - save: SavedState { - r4: 0x200113e0, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x8020f5c, - r9: 0x20011400, - r10: 0x0, - r11: 0x1, - psp: 0x20011350, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fc0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x800495c (&TaskDesc) - } - -12 idle 0 5 ready - | - +---> 0x20015f00 0x0803f456 main - | @ /hubris/task/idle/src/main.rs:14:5 - | - | - +---> R0 = 0x20015f00 R1 = 0x20015f00 R2 = 0x00000000 R3 = 0x00000000 - | R4 = 0x00000000 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x20015ef8 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000000 - | R12 = 0x00000000 SP = 0x20015ef8 LR = 0x0803f44f PC = 0x0803f456 - | PSR = 0x61000000 - | - +-----------> 0x20000c50 Task { - save: SavedState { - r4: 0x0, - r5: 0x0, - r6: 0x0, - r7: 0x20015ef8, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x0, - psp: 0x20015e90, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x5), - state: Healthy(Runnable), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20000fe0 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004970 (&TaskDesc) - } - -13 rng_driver 0 3 recv - | - +---> 0x20015cc0 0x0803ae7e userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20015d00 0x0803a1ea userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20015d00 0x0803a1ea idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20015d00 0x0803a1ea main - | @ /hubris/drv/stm32h7-rng/src/main.rs:144:9 - | - | - +---> R0 = 0x20015cf7 R1 = 0x00000000 R2 = 0x00000000 R3 = 0x20015cd8 - | R4 = 0x20015cf7 R5 = 0x00000000 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x00000000 R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x20015ca0 LR = 0x0803a1eb PC = 0x0803ae7e - | PSR = 0x41000000 - | - +-----------> 0x20000d00 Task { - save: SavedState { - r4: 0x20015cf7, - r5: 0x0, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x0, - r11: 0x1, - psp: 0x20015c38, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001000 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004984 (&TaskDesc) - } - -14 update_server 0 3 recv - | - +---> 0x200123c0 0x0803d046 userlib::sys_recv_stub - | @ /hubris/sys/userlib/src/lib.rs:387:13 - | 0x20012800 0x0803c1dc userlib::sys_recv - | @ /hubris/sys/userlib/src/lib.rs:306:8 - | 0x20012800 0x0803c1dc idol_runtime::dispatch - | @ /git/idolatry-1ebf1c2fd2f30300/add88a5/runtime/src/lib.rs:174:20 - | 0x20012800 0x0803c1dc main - | @ /hubris/drv/stm32h7-update-server/src/main.rs:325:9 - | - | - +---> R0 = 0x200123dc R1 = 0x00000004 R2 = 0x00000000 R3 = 0x200123e0 - | R4 = 0x200123dc R5 = 0x00000004 R6 = 0x00000000 R7 = 0x00000000 - | R8 = 0x00000000 R9 = 0x00000000 R10 = 0x200123dc R11 = 0x00000001 - | R12 = 0x00000000 SP = 0x200123a0 LR = 0x0803c1dd PC = 0x0803d046 - | PSR = 0x61000000 - | - +-----------> 0x20000db0 Task { - save: SavedState { - r4: 0x200123dc, - r5: 0x4, - r6: 0x0, - r7: 0x0, - r8: 0x0, - r9: 0x0, - r10: 0x200123dc, - r11: 0x1, - psp: 0x20012338, - exc_return: 0xffffffed, - s16: 0x0, - s17: 0x0, - s18: 0x0, - s19: 0x0, - s20: 0x0, - s21: 0x0, - s22: 0x0, - s23: 0x0, - s24: 0x0, - s25: 0x0, - s26: 0x0, - s27: 0x0, - s28: 0x0, - s29: 0x0, - s30: 0x0, - s31: 0x0 - }, - priority: Priority(0x3), - state: Healthy(InRecv(None)), - timer: TimerState { - deadline: None, - to_post: NotificationSet(0x0) - }, - generation: 0x0, - region_table: &[&abi::RegionDesc] { - data_ptr: 0x20001020 (*const &RegionDesc), - length: 0x8 - }, - notifications: 0x0, - descriptor: 0x8004998 (&TaskDesc) - } - diff --git a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.toml b/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.toml deleted file mode 100644 index 25110fa23..000000000 --- a/humility-bin/tests/cmd/tasks-slvr/tasks-slvr.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 tasks -slvr --guess" - diff --git a/humility-bin/tests/cmd/tasks/tasks.chilly.0.stderr b/humility-bin/tests/cmd/tasks/tasks.chilly.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.chilly.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks/tasks.chilly.0.stdout b/humility-bin/tests/cmd/tasks/tasks.chilly.0.stdout deleted file mode 100644 index 615c9d0d0..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.chilly.0.stdout +++ /dev/null @@ -1,18 +0,0 @@ -system time = 687534 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+66) - 1 net 0 2 recv, notif: bit0(irq61) bit1(T+21) - 2 sys 0 1 recv - 3 spi4_driver 0 2 recv - 4 spi2_driver 0 2 recv - 5 i2c_driver 0 2 notif: bit2(irq72/irq73) - 6 spd 0 2 notif: bit0(irq31/irq32) - 7 thermal 0 3 wait: send to i2c_driver/gen0 - 8 power 0 3 wait: reply from i2c_driver/gen0 - 9 hiffy 0 3 notif: bit31(T+6) -10 gimlet_seq 0 3 recv -11 hf 0 3 recv -12 sensor 0 3 recv, notif: bit0(T+466) -13 udpecho 0 3 notif: bit0 -14 validate 0 3 recv -15 idle 0 5 RUNNING diff --git a/humility-bin/tests/cmd/tasks/tasks.chilly.0.toml b/humility-bin/tests/cmd/tasks/tasks.chilly.0.toml deleted file mode 100644 index b347f3030..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.chilly.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.chilly.0 tasks" - diff --git a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.stderr b/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.stdout b/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.stdout deleted file mode 100644 index f1307dbb5..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.stdout +++ /dev/null @@ -1,16 +0,0 @@ -system time = 10001 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+99) - 1 sys 0 1 recv - 2 i2c_driver 0 2 recv - 3 spi_driver 0 2 recv - 4 net 0 2 recv, notif: bit0(irq61) bit1 - 5 user_leds 0 2 recv - 6 ping 10301 4 wait: reply from pong/gen0 - 7 pong 0 3 RUNNING - 8 udpecho 0 3 notif: bit0 - 9 hiffy 0 5 ready -10 hf 0 4 notif: bit31(T+22) -11 hash_driver 0 3 recv -12 idle 0 6 ready -13 rng_driver 0 3 recv diff --git a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.toml b/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.toml deleted file mode 100644 index dd83aa3fb..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.0 tasks" - diff --git a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.stderr b/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.stderr deleted file mode 100644 index 56eef6002..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.stderr +++ /dev/null @@ -1,2 +0,0 @@ -humility: attached to dump -humility: WARNING: kernel has panicked: "panicked at 'explicit panic', sys/kern/src/task.rs:829:5" diff --git a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.stdout b/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.stdout deleted file mode 100644 index 9438254c9..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.stdout +++ /dev/null @@ -1,26 +0,0 @@ -system time = 61927 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+73) - 1 net 0 5 RUNNING - 2 sys 0 1 recv - 3 spi4_driver 0 3 recv - 4 spi2_driver 0 3 recv - 5 i2c_driver 0 3 recv - 6 spd 0 2 notif: bit0(irq31/irq32) - 7 thermal 0 5 recv, notif: bit0(T+251) - 8 power 0 6 notif: bit31(T+616) - 9 hiffy 0 5 notif: bit31(T+204) -10 gimlet_seq 0 4 recv, notif: bit0 -11 hash_driver 0 2 recv -12 hf 0 3 recv -13 update_server 0 3 recv -14 sensor 0 4 recv, notif: bit0(T+73) -15 host_sp_comms 0 7 recv, notif: bit0(irq82) bit1 bit2(T+58) bit3 -16 udpecho 0 6 notif: bit0 -17 udpbroadcast 0 6 notif: bit31(T+120) -18 udprpc 0 6 notif: bit0 -19 control_plane_agent 0 6 recv, notif: bit0 bit1(irq37) bit2 -20 sprot 0 4 recv -21 validate 0 5 recv -22 vpd 0 4 recv -23 idle 0 8 ready diff --git a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.toml b/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.toml deleted file mode 100644 index c11219a97..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.kernel-panic.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.kernel-panic.1 tasks" - diff --git a/humility-bin/tests/cmd/tasks/tasks.spoopy.0.stderr b/humility-bin/tests/cmd/tasks/tasks.spoopy.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.spoopy.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks/tasks.spoopy.0.stdout b/humility-bin/tests/cmd/tasks/tasks.spoopy.0.stdout deleted file mode 100644 index 364e87eae..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.spoopy.0.stdout +++ /dev/null @@ -1,17 +0,0 @@ -system time = 444064 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+36) - 1 net 0 2 recv, notif: bit0(irq61) bit1(T+179) - 2 sys 0 1 recv - 3 spi4_driver 0 2 recv - 4 spi2_driver 0 2 recv - 5 i2c_driver 0 2 recv - 6 spd 0 2 notif: bit0(irq31/irq32) - 7 thermal 0 3 recv, notif: bit0(T+943) - 8 power 0 3 notif: bit31(T+618) - 9 hiffy 0 3 notif: bit31(T+172) -10 gimlet_seq 0 3 recv -11 hf 0 3 recv -12 sensor 0 3 recv, notif: bit0(T+936) -13 udpecho 0 3 notif: bit0 -14 idle 0 5 RUNNING diff --git a/humility-bin/tests/cmd/tasks/tasks.spoopy.0.toml b/humility-bin/tests/cmd/tasks/tasks.spoopy.0.toml deleted file mode 100644 index 3fea98b09..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.spoopy.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.spoopy.0 tasks" - diff --git a/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.stderr b/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.stdout b/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.stdout deleted file mode 100644 index 5e7178264..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.stdout +++ /dev/null @@ -1,17 +0,0 @@ -system time = 0 -ID TASK GEN PRI STATE - 0 jefe 0 0 wait: send to jefe/gen0 - 1 sys 0 1 FAULT: illegal instruction (was: ready) - 2 i2c_driver 0 2 FAULT: illegal instruction (was: ready) - 3 spi_driver 0 2 FAULT: illegal instruction (was: ready) - 4 user_leds 0 2 FAULT: illegal instruction (was: ready) - 5 pong 0 3 FAULT: illegal instruction (was: ready) - 6 uartecho 0 3 RUNNING - 7 hiffy 0 4 ready - 8 hf 0 3 ready - 9 net 0 3 ready -10 udpecho 0 4 ready -11 validate 0 3 ready -12 idle 0 5 ready -13 rng_driver 0 3 ready -14 update_server 0 3 ready diff --git a/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.toml b/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.toml deleted file mode 100644 index ab4b2a494..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.static-tasks.0.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.0 tasks" - diff --git a/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.stderr b/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.stderr deleted file mode 100644 index da2ede4a0..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.stderr +++ /dev/null @@ -1 +0,0 @@ -humility: attached to dump diff --git a/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.stdout b/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.stdout deleted file mode 100644 index 524982f61..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.stdout +++ /dev/null @@ -1,17 +0,0 @@ -system time = 695346 -ID TASK GEN PRI STATE - 0 jefe 0 0 recv, notif: bit0 bit1(T+54) - 1 sys 0 1 recv - 2 i2c_driver 0 2 recv - 3 spi_driver 0 2 recv - 4 user_leds 0 2 recv - 5 pong 0 3 recv, notif: bit0(T+154) - 6 uartecho 0 3 notif: bit0(irq38) - 7 hiffy 0 4 notif: bit31(T+175) - 8 hf 0 3 recv - 9 net 0 3 notif: bit31(T+2) -10 udpecho 0 4 wait: send to net/gen0 -11 validate 0 3 recv -12 idle 0 5 ready -13 rng_driver 0 3 recv -14 update_server 0 3 recv diff --git a/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.toml b/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.toml deleted file mode 100644 index 0fe58cf10..000000000 --- a/humility-bin/tests/cmd/tasks/tasks.static-tasks.1.toml +++ /dev/null @@ -1,10 +0,0 @@ - -# -# This test case has been automatically created, but can be edited and -# should be checked in. Should it ever be regenerated, simply delete -# it and re-run "cargo test" -# -fs.base = "../cores" -bin.name = "humility" -args = "-d hubris.core.static-tasks.1 tasks" - diff --git a/humility-cli/Cargo.toml b/humility-cli/Cargo.toml index 18f1d3638..8096e7f71 100644 --- a/humility-cli/Cargo.toml +++ b/humility-cli/Cargo.toml @@ -14,4 +14,11 @@ regex.workspace = true serde.workspace = true serde_json.workspace = true +humility-net-core.workspace = true +humility-probes-core = { workspace = true, optional = true } humility.workspace = true +hubtools.workspace = true + +[features] +default = ["probes"] +probes = ["humility-probes-core"] diff --git a/humility-cli/src/lib.rs b/humility-cli/src/lib.rs index 712333398..fe8c47d72 100644 --- a/humility-cli/src/lib.rs +++ b/humility-cli/src/lib.rs @@ -4,10 +4,15 @@ pub mod env; -use anyhow::{Context, Result, bail}; +use anyhow::{Context, Result, anyhow, bail}; use clap::{ArgGroup, ArgMatches, Parser, parser::ValueSource}; use env::Environment; -use humility::{core::Core, hubris::HubrisArchive, msg, net, warn}; +use humility::{ + core::Core, + hubris::{HubrisArchive, HubrisValidate}, + msg, net, warn, +}; +use std::time::Duration; #[derive(Parser, Debug, Clone)] #[clap( @@ -162,11 +167,223 @@ impl Cli { None => Ok(subargs_serial.map(|s| s.to_owned())), } } + + /// Loads an archive based on CLI arguments + /// + /// If `--archive` is specified, then that archive is loaded. + /// + /// If `--dump` is specified, then the dump is loaded and the archive is + /// extracted from the dump. + /// + /// Otherwise, returns `Ok(None)` + pub fn try_archive(&self) -> Result> { + if let Some(archive) = &self.archive { + let data = std::fs::read(archive)?; + let raw_archive = hubtools::RawHubrisArchive::from_vec(data)?; + HubrisArchive::load(raw_archive, None).map(Some) + } else if let Some(dump) = &self.dump { + let (raw_archive, dump_task) = HubrisArchive::load_dump(dump)?; + HubrisArchive::load(raw_archive, dump_task).map(Some) + } else { + Ok(None) + } + } + + /// Tries to load a raw archive based on CLI arguments + /// + /// If `--archive` is specified, then that archive is loaded. + /// + /// If `--dump` is specified, then the dump is loaded and the archive is + /// extracted from the dump. + /// + /// Otherwise, returns `Ok(None)` + fn try_raw_archive(&self) -> Result> { + if let Some(archive) = &self.archive { + let data = std::fs::read(archive)?; + let raw_archive = hubtools::RawHubrisArchive::from_vec(data)?; + Ok(Some(raw_archive)) + } else if let Some(dump) = &self.dump { + let (raw_archive, _) = HubrisArchive::load_dump(dump)?; + Ok(Some(raw_archive)) + } else { + Ok(None) + } + } + + /// Attaches to a live core + /// + /// Uses the network-based core if `--ip` is provided in the [`Cli`]; + /// otherwises attaches to a probe. + pub fn attach_live( + &self, + hubris: Option<&HubrisArchive>, + validate: Option, + ) -> Result> { + let mut core = if self.dump.is_some() { + bail!("must be run against a live system"); + } else if let Some(ip) = &self.ip { + let Some(hubris) = hubris else { + bail!("cannot attach over net without Hubris archive"); + }; + let timeout = Duration::from_millis(self.timeout as u64); + humility_net_core::attach_net(*ip, hubris, timeout) + } else { + self.attach_probe(hubris) + }?; + if let Some(validate) = validate { + let Some(hubris) = hubris else { + bail!("cannot validate without Hubris archive"); + }; + hubris.validate(&mut *core, validate)?; + } + Ok(core) + } + + /// Attaches to a live core and check that the firmware id matches + /// + /// This is a thin wrapper around [`attach_live`](Self::attach_live) + pub fn attach_live_match( + &self, + hubris: &HubrisArchive, + ) -> Result> { + self.attach_live(Some(hubris), Some(HubrisValidate::ArchiveMatch)) + } + + /// Attaches to a live core and check that it has booted + /// + /// This is a thin wrapper around [`attach_live`](Self::attach_live) + pub fn attach_live_booted( + &self, + hubris: &HubrisArchive, + ) -> Result> { + self.attach_live(Some(hubris), Some(HubrisValidate::Booted)) + } + + #[cfg(feature = "probes")] + pub fn attach_probe( + &self, + hubris: Option<&HubrisArchive>, + ) -> Result> { + let probe = match self.probe.as_deref() { + Some("archive") => { + if let Some(hubris) = hubris { + return humility::core::attach_archive(hubris); + } else { + bail!("cannot specify `--probe=archive` with no archive"); + } + } + Some(p) => p, + None => "auto", + }; + + let chip = hubris.and_then(|h| h.chip()); + humility_probes_core::attach_to_chip(probe, chip.as_deref(), self.speed) + } + + #[cfg(not(feature = "probes"))] + pub fn attach_probe( + &self, + _hubris: Option<&HubrisArchive>, + ) -> Result> { + bail!("Did not build with probes!"); + } + + /// Attaches to a either a dump or a live system, depending on CLI arguments + /// + /// The `hubris` archive is mandatory if `validate` is `Some(..)` or if we + /// are trying to connect over the network. + pub fn attach_live_or_dump( + &self, + hubris: Option<&HubrisArchive>, + validate: Option, + ) -> Result> { + let mut core = if let Some(dump) = &self.dump { + humility::core::attach_dump(dump)? + } else if let Some(ip) = &self.ip { + let Some(hubris) = hubris else { + bail!("cannot connect over the network without archive"); + }; + let timeout = Duration::from_millis(self.timeout as u64); + humility_net_core::attach_net(*ip, hubris, timeout)? + } else { + self.attach_probe(hubris)? + }; + if let Some(validate) = validate { + let Some(hubris) = hubris else { + bail!("cannot validate without Hubris archive"); + }; + hubris.validate(&mut *core, validate)?; + } + Ok(core) + } + + /// Attaches to a dump or a live system and checks that it has booted + /// + /// This is a thin wrapper around + /// [`attach_live_or_dump`](Self::attach_live_or_dump). + pub fn attach_live_or_dump_booted( + &self, + hubris: &HubrisArchive, + ) -> Result> { + self.attach_live_or_dump(Some(hubris), Some(HubrisValidate::Booted)) + } + + /// Attaches to a dump or a live system and validates the version + /// + /// This is a thin wrapper around + /// [`attach_live_or_dump`](Self::attach_live_or_dump). + pub fn attach_live_or_dump_match( + &self, + hubris: &HubrisArchive, + ) -> Result> { + self.attach_live_or_dump( + Some(hubris), + Some(HubrisValidate::ArchiveMatch), + ) + } + + /// Attaches to a dump + /// + /// Reads from the `--dump` argument to pick a target file + pub fn attach_dump(&self) -> Result> { + let core = if let Some(dump) = &self.dump { + humility::core::attach_dump(dump)? + } else { + bail!("must be run against a dump"); + }; + Ok(core) + } + + /// Returns a [`HubrisArchive`] built from the context's [`Cli`] data + /// + /// If loading the archive fails, then an error is returned + pub fn archive(&self) -> Result { + self.try_archive()?.ok_or_else(|| { + if self.environment.is_some() { + anyhow!("must provide a Hubris archive, dump, or name") + } else { + anyhow!("must provide a Hubris archive or dump") + } + }) + } + + /// Returns a raw archive built from the context's [`Cli`] data + /// + /// The raw archive is equivalent to the bytes of a ZIP file + /// + /// If loading the archive fails, then an error is returned + pub fn raw_archive(&self) -> Result { + self.try_raw_archive()?.ok_or_else(|| { + if self.environment.is_some() { + anyhow!("must provide a Hubris archive, dump, or name") + } else { + anyhow!("must provide a Hubris archive or dump") + } + }) + } } pub struct ExecutionContext { - pub core: Option>, - pub archive: Option, pub environment: Option, pub cli: Cli, } @@ -354,6 +571,6 @@ impl ExecutionContext { } } - Ok(ExecutionContext { core: None, archive: None, environment, cli }) + Ok(ExecutionContext { environment, cli }) } } diff --git a/humility-cmd/Cargo.toml b/humility-cmd/Cargo.toml index e0fcdf48b..53a0c6b8d 100644 --- a/humility-cmd/Cargo.toml +++ b/humility-cmd/Cargo.toml @@ -8,11 +8,4 @@ anyhow.workspace = true clap.workspace = true humility.workspace = true -humility-net-core.workspace = true humility-cli.workspace = true - -humility-probes-core = { workspace = true, optional = true } - -[features] -default = ["probes"] -probes = ["humility-probes-core"] diff --git a/humility-cmd/src/lib.rs b/humility-cmd/src/lib.rs index 9e44fc78d..83e1a9223 100644 --- a/humility-cmd/src/lib.rs +++ b/humility-cmd/src/lib.rs @@ -2,47 +2,12 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -use anyhow::{Result, bail}; +use anyhow::Result; use clap::Command as ClapCommand; -use humility::core::Core; -use humility::hubris::*; -use humility_cli::Cli; -use std::time::Duration; - -#[allow(dead_code)] -#[derive(Copy, Clone, Debug, PartialEq, Eq)] -pub enum Archive { - /// Load a Hubris archive, failing if one is not present - Required, - /// Load a Hubris archive if available (as either a command-line flag or - /// environmental variable); continue to run if no archive is present - Optional, - /// Do not load a Hubris archive, even if the command-line flag or - /// environmental variable is set. This saves a small amount of start-up - /// time for subcommands which don't require a Hubris archive. - Ignored, -} - -#[allow(dead_code)] -#[derive(Copy, Clone, Debug)] -pub enum Attach { - LiveOnly, - DumpOnly, - Any, -} - -#[allow(dead_code)] -#[derive(Copy, Clone, Debug)] -pub enum Validate { - Match, - Booted, - None, -} pub struct Command { pub app: ClapCommand, pub name: &'static str, - pub kind: CommandKind, pub run: fn(&mut humility_cli::ExecutionContext) -> Result<()>, } @@ -52,143 +17,6 @@ impl Command { } } -pub enum CommandKind { - /// Attached to a live system or dump - Attached { archive: Archive, attach: Attach, validate: Validate }, - /// Not attached to a live system or dump - Unattached { archive: Archive }, - /// Will never attach: any options attaching should be an error - Detached { archive: Archive }, - /// Operate on a raw archive, from either the command line or a dump - Raw, -} - -#[cfg(feature = "probes")] -pub fn attach_probe( - args: &Cli, - hubris: &HubrisArchive, -) -> Result> { - let probe = match &args.probe { - Some(p) => p, - None => "auto", - }; - - humility_probes_core::attach(probe, hubris, None) -} - -#[cfg(not(feature = "probes"))] -pub fn attach_probe( - _args: &Cli, - _hubris: &HubrisArchive, -) -> Result> { - bail!("Did not build with probes!"); -} - -pub fn attach_live( - args: &Cli, - hubris: &HubrisArchive, -) -> Result> { - if args.dump.is_some() { - bail!("must be run against a live system"); - } else if args.ip.is_some() { - attach_net(args, hubris) - } else { - attach_probe(args, hubris) - } -} - -pub fn attach_dump( - args: &Cli, - hubris: &HubrisArchive, -) -> Result> { - if let Some(dump) = &args.dump { - humility::core::attach_dump(dump, hubris) - } else { - bail!("must be run against a dump"); - } -} - -pub fn attach_net(args: &Cli, hubris: &HubrisArchive) -> Result> { - if let Some(ip) = args.ip { - let timeout = Duration::from_millis(args.timeout as u64); - humility_net_core::attach_net(ip, hubris, timeout) - } else { - bail!("must be run against a specified IP address"); - } -} - -pub fn attach( - context: &mut humility_cli::ExecutionContext, - attach: Attach, - validate: Validate, - mut run: impl FnMut(&mut humility_cli::ExecutionContext) -> Result<()>, -) -> Result<()> { - let hubris = context.archive.as_ref().unwrap(); - - if context.core.is_none() { - context.core = Some(match attach { - Attach::LiveOnly => attach_live(&context.cli, hubris), - Attach::DumpOnly => attach_dump(&context.cli, hubris), - Attach::Any => { - // - // Our Clap constraints prevent us from having more than one - // of these set. - // - if context.cli.dump.is_some() { - attach_dump(&context.cli, hubris) - } else if context.cli.probe == Some("archive".to_string()) { - // - // If our probe is set to the special "archive" token, we - // will always attach as an archive. This allows for - // commands to be run against an archive even on a machine - // that has probes attached. - // - humility::core::attach_archive(hubris) - } else { - use humility::core::ProbeError; - - match attach_live(&context.cli, hubris) { - Ok(core) => Ok(core), - Err(err) if context.cli.probe.is_none() => { - if let Some(ProbeError::NoProbeFound) = - err.downcast_ref::() - { - // - // We don't have a dump, we don't seem to - // be plugged into anything and the user - // didn't indicate a probe. In this case, - // we will attach to the archive itself, - // hopefully violating the principle of least - // surprise! - // - humility::core::attach_archive(hubris) - } else { - Err(err) - } - } - Err(err) => Err(err), - } - } - } - }?); - } - - // we know from above we have set up a core if we hadn't previously - let core = context.core.as_mut().unwrap(); - - match validate { - Validate::Booted => { - hubris.validate(&mut **core, HubrisValidate::Booted)?; - } - Validate::Match => { - hubris.validate(&mut **core, HubrisValidate::ArchiveMatch)?; - } - Validate::None => {} - } - - (run)(context) -} - pub struct Dumper { /// Word size, in bytes pub size: usize, diff --git a/humility-core/Cargo.toml b/humility-core/Cargo.toml index 8f3aa756e..a9923b470 100644 --- a/humility-core/Cargo.toml +++ b/humility-core/Cargo.toml @@ -8,10 +8,10 @@ license = "MPL-2.0" addr2line.workspace = true anyhow.workspace = true bitfield.workspace = true -clap.workspace = true gimli.workspace = true goblin.workspace = true hubpack.workspace = true +hubtools.workspace = true humility-arch-arm.workspace = true humility-log.workspace = true humility_load_derive.workspace = true diff --git a/humility-core/src/core.rs b/humility-core/src/core.rs index 98a21cc3d..883ef9b03 100644 --- a/humility-core/src/core.rs +++ b/humility-core/src/core.rs @@ -129,11 +129,8 @@ pub enum NetAgent { Hiffy, } -pub fn attach_dump( - dump: &str, - hubris: &HubrisArchive, -) -> Result> { - let core = DumpCore::new(dump, hubris)?; +pub fn attach_dump(dump: &str) -> Result> { + let core = DumpCore::new(dump)?; crate::msg!("attached to dump"); Ok(Box::new(core)) } diff --git a/humility-core/src/dump.rs b/humility-core/src/dump.rs index 06790c4bc..261292376 100644 --- a/humility-core/src/dump.rs +++ b/humility-core/src/dump.rs @@ -3,10 +3,11 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. use crate::core::Core; -use crate::hubris::HubrisArchive; -use anyhow::{Result, anyhow, bail}; +use crate::hubris::OXIDE_NT_HUBRIS_REGISTERS; +use anyhow::{Context, Result, anyhow, bail}; use goblin::elf::Elf; use humility_arch_arm::ARMRegister; +use num_traits::FromPrimitive; use std::collections::{BTreeMap, HashMap}; use std::fs::File; use std::io::Read; @@ -15,11 +16,11 @@ use std::path::Path; pub struct DumpCore { contents: Vec, regions: BTreeMap, - registers: HashMap, + registers: Option>, } impl DumpCore { - pub(crate) fn new(dump: &str, hubris: &HubrisArchive) -> Result { + pub(crate) fn new(dump: &str) -> Result { let mut file = File::open(dump)?; let mut regions = BTreeMap::new(); @@ -41,7 +42,23 @@ impl DumpCore { ); } - Ok(Self { contents, regions, registers: hubris.dump_registers() }) + let mut registers = None; + if let Some(notes) = elf.iter_note_headers(&contents) { + for note in notes { + let note = note.context("failed to parse note")?; + if note.n_type == OXIDE_NT_HUBRIS_REGISTERS { + if registers.is_some() { + bail!( + "multiple copies of OXIDE_NT_HUBRIS_REGISTERS \ + found in dump" + ); + } + registers = Some(load_registers(note.desc)?); + } + } + } + + Ok(Self { contents, regions, registers }) } fn check_offset(&self, addr: u32, rsize: usize, offs: usize) -> Result<()> { @@ -67,6 +84,38 @@ impl DumpCore { } } +fn load_registers(r: &[u8]) -> Result> { + if !r.len().is_multiple_of(8) { + bail!("bad length {} in registers note", r.len()); + } + let mut registers = HashMap::new(); + for (i, chunk) in r.chunks_exact(8).enumerate() { + let (id, val) = chunk.split_at(4); + // We unwrap here because it can only fail if the length is wrong, + // but we've explicitly broken a chunk of 8 into two chunks of 4, + // so a failure here would mean this code has been changed. + let id = u32::from_le_bytes(id.try_into().unwrap()); + let val = u32::from_le_bytes(val.try_into().unwrap()); + + let reg = match ARMRegister::from_u32(id) { + Some(r) => r, + None => { + // This can totally happen if we encounter a future coredump + // where we decided to store, say, additional MSRs or a + // floating point register. Since this version of Humility + // doesn't understand them, we'll just skip it. + continue; + } + }; + + if registers.insert(reg, val).is_some() { + bail!("duplicate register {} ({}) at offset {}", reg, id, i * 8); + } + } + + Ok(registers) +} + #[rustfmt::skip::macros(bail)] impl Core for DumpCore { fn info(&self) -> (String, Option) { @@ -114,10 +163,15 @@ impl Core for DumpCore { } fn read_reg(&mut self, reg: ARMRegister) -> Result { - if let Some(val) = self.registers.get(®) { - Ok(*val) - } else { - bail!("register {} not found in dump", reg); + match &self.registers { + Some(regs) => { + if let Some(val) = regs.get(®) { + Ok(*val) + } else { + bail!("register {} not found in dump", reg); + } + } + None => bail!("dump does not include register info"), } } diff --git a/humility-core/src/hubris.rs b/humility-core/src/hubris.rs index 580c467b6..7610fdda2 100644 --- a/humility-core/src/hubris.rs +++ b/humility-core/src/hubris.rs @@ -6,14 +6,12 @@ use capstone::prelude::*; use humility_arch_arm::{ARMRegister, presyscall_pushes}; use indexmap::IndexMap; use serde::{Deserialize, Serialize}; -use std::io::prelude::*; use std::borrow::Cow; use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet, btree_map}; use std::convert::TryInto; use std::fmt::{self, Write}; use std::fs::{self, OpenOptions}; -use std::io::Cursor; use std::mem::size_of; use std::num::TryFromIntError; use std::path::{Path, PathBuf}; @@ -25,6 +23,7 @@ use anyhow::{Context, Result, anyhow, bail, ensure}; use capstone::InsnGroupType; use gimli::UnwindSection; use goblin::elf::Elf; +use hubtools::RawHubrisArchive; use humpty::DumpTask; use idol::syntax::send::Interface; use multimap::MultiMap; @@ -33,30 +32,30 @@ use rustc_demangle::demangle; use scroll::{IOwrite, Pwrite}; use zerocopy::{FromBytes, IntoBytes}; -const OXIDE_NT_NAME: &str = "Oxide Computer Company"; -const OXIDE_NT_BASE: u32 = 0x1de << 20; -const OXIDE_NT_HUBRIS_ARCHIVE: u32 = OXIDE_NT_BASE + 1; -const OXIDE_NT_HUBRIS_REGISTERS: u32 = OXIDE_NT_BASE + 2; -const OXIDE_NT_HUBRIS_TASK: u32 = OXIDE_NT_BASE + 3; +pub const OXIDE_NT_NAME: &str = "Oxide Computer Company"; +pub const OXIDE_NT_BASE: u32 = 0x1de << 20; +pub const OXIDE_NT_HUBRIS_ARCHIVE: u32 = OXIDE_NT_BASE + 1; +pub const OXIDE_NT_HUBRIS_REGISTERS: u32 = OXIDE_NT_BASE + 2; +pub const OXIDE_NT_HUBRIS_TASK: u32 = OXIDE_NT_BASE + 3; const MAX_HUBRIS_VERSION: u32 = 11; -#[derive(Default, Debug, Serialize)] +#[derive(Debug, Serialize)] pub struct HubrisManifest { - pub version: Option, + pub version: String, pub gitrev: Option, pub features: Vec, - pub board: Option, + pub board: String, pub image: Option, - pub name: Option, - pub target: Option, + pub name: String, + pub target: String, pub task_features: HashMap>, pub task_irqs: HashMap>, pub task_notifications: HashMap>, pub peripherals: BTreeMap, pub peripherals_byaddr: BTreeMap, pub i2c_devices: Vec, - pub i2c_buses: Vec, + pub i2c_buses: HubrisI2cBusList, pub sensors: Vec, pub sockets: Vec, pub auxflash: Option, @@ -68,193 +67,667 @@ impl HubrisManifest { anyhow!("couldn't find socket with owner {:?}", task) }) } -} - -// -// This structure (and the structures that it refers to) contain everything -// that we might want to pull out of the config TOML -- which will be a subset -// of the entire config. Unless it is known that the field has always existed -// (like `target` and `board`), the fields should generally be `Option`s to -// allow a new Humility to work on an old Hubris. -// -#[derive(Clone, Debug, Deserialize)] -struct HubrisConfig { - target: String, - name: String, - board: String, - kernel: HubrisConfigKernel, - tasks: IndexMap, - peripherals: Option>, - chip: Option, - config: Option, -} - -#[derive(Clone, Debug, Deserialize)] -#[serde(deny_unknown_fields)] -pub struct HubrisConfigPatches { - name: String, - features: IndexMap>, -} - -/// Deserialization `struct` for a memory region in the `memory.toml` file -/// -/// The file contains other fields associated with each region (e.g. size, name, -/// whether it's read / write / execute); we skip those fields because they -/// aren't used below. -#[derive(Clone, Debug, Deserialize)] -struct HubrisMemoryRegion { - address: u32, -} - -#[derive(Clone, Debug, Deserialize)] -struct HubrisConfigKernel { - features: Option>, -} - -#[derive(Clone, Debug, Deserialize)] -#[serde(rename_all = "kebab-case")] -struct HubrisConfigTask { - features: Option>, - extern_regions: Option>, - #[serde(default)] - notifications: Vec, - interrupts: Option>, -} - -#[derive(Clone, Debug, Deserialize)] -#[serde(untagged)] -enum HubrisTaskInterrupt { - Mask(u32), - Named(String), -} - -#[derive(Clone, Debug, Deserialize)] -#[allow(dead_code)] -struct HubrisConfigPeripheral { - address: u32, - size: u32, - interrupts: Option>, -} - -#[derive(Clone, Debug, Deserialize)] -struct HubrisConfigI2cPort { - name: Option, - description: Option, -} - -#[derive(Clone, Debug, Deserialize)] -struct HubrisConfigI2cController { - controller: u8, - ports: BTreeMap, - target: Option, -} - -/// -/// This is a legacy way of expressing PMBus devices that is no longer -/// present in new archives -- but we retain our ability to read it. -/// -#[derive(Clone, Debug, Deserialize, Serialize)] -struct HubrisConfigI2cPmbus { - rails: Option>, -} -#[derive(Clone, Debug, Deserialize, Serialize)] -struct HubrisConfigI2cPower { - rails: Option>, - phases: Option>>, - #[serde(default = "HubrisConfigI2cPower::default_pmbus")] - pmbus: bool, + /// Loads a manifest from a `HubrisConfig` and revision + fn from_config( + config: &HubrisConfig, + rev: HubrisManifestRev, + ) -> Result { + let board = config.board.clone(); + let name = config.name.clone(); + let target = config.target.clone(); + let features = match config.kernel.features { + Some(ref features) => features.clone(), + None => vec![], + }; + let auxflash = config.config.as_ref().and_then(|c| c.auxflash.clone()); - /// Lists which sensor types have a one-to-one association with power rails - /// - /// When `None`, we assume that all sensor types are mapped one-to-one with - /// rails. Otherwise, *only* the listed sensor types are associated with - /// rails (which is the case in systems with independent temperature sensor - /// and power rails). - sensors: Option>, -} + let mut named_interrupts = HashMap::new(); -impl HubrisConfigI2cPower { - fn default_pmbus() -> bool { - true - } -} + let mut peripherals = BTreeMap::new(); + let mut peripherals_byaddr = BTreeMap::new(); + if let Some(periphs) = config.peripherals.as_ref() { + for (name, p) in periphs { + peripherals.insert(name.clone(), p.address); + peripherals_byaddr.insert(p.address, name.clone()); -#[derive(Clone, Debug, Deserialize, Serialize)] -#[serde(rename_all = "kebab-case")] -struct HubrisConfigI2cSensors { - #[serde(default)] - temperature: usize, + if let Some(ref interrupts) = p.interrupts { + for (interrupt, irq) in interrupts { + named_interrupts + .insert(format!("{}.{}", name, interrupt), *irq); + } + } + } + } - #[serde(default)] - power: usize, + let mut task_features = HashMap::new(); + let mut task_irqs = HashMap::new(); + let mut task_notifications = HashMap::new(); + for (name, task) in &config.tasks { + if let Some(ref features) = task.features { + task_features.insert(name.clone(), features.clone()); + } - #[serde(default)] - current: usize, + if let Some(ref interrupts) = task.interrupts { + let mut this_task_irqs = vec![]; - #[serde(default)] - voltage: usize, + for (irq_str, notification) in interrupts { + let irq = match irq_str.parse::() { + Ok(irq_num) => irq_num, + Err(_) => { + // + // If our IRQ number doesn't parse, it may be + // because it's named; look it up before failing. + // + match named_interrupts.get(irq_str) { + Some(irq_num) => *irq_num, + None => { + bail!( + "unrecognized irq {} on task {}", + irq_str, + name + ) + } + } + } + }; + let notification = match notification { + HubrisTaskInterrupt::Mask(i) => *i, + HubrisTaskInterrupt::Named(name) => match task + .notifications + .iter() + .position(|n| n == name) + { + Some(i) => 1 << i, + None => bail!( + "could not find notification '{name}' \ + (options are {:?})", + task.notifications + ), + }, + }; - #[serde(default)] - input_current: usize, + this_task_irqs.push((notification, irq)); + } - #[serde(default)] - input_voltage: usize, + task_irqs.insert(name.clone(), this_task_irqs); + } - #[serde(default)] - speed: usize, + task_notifications.insert(name.clone(), task.notifications.clone()); + } - names: Option>, -} + let mut sockets = vec![]; + let mut sensors = vec![]; + let mut i2c_devices = vec![]; + let mut i2c_buses = HubrisI2cBusList(vec![]); + if let Some(ref config) = config.config { + if let Some(i2c) = config.i2c.as_ref() { + let cfg = HubrisManifestI2cConfig::from_config(i2c)?; + i2c_buses = cfg.i2c_buses; + i2c_devices = cfg.i2c_devices; + sensors.extend(cfg.sensors); + } -#[derive(Clone, Debug, Deserialize, Serialize)] -struct HubrisConfigI2cDevice { - device: String, - name: Option, - controller: Option, - bus: Option, - address: u8, - port: Option, - mux: Option, - segment: Option, - description: String, - pmbus: Option, - power: Option, - sensors: Option, - removable: Option, -} + if let Some(sensor) = config.sensor.as_ref() { + sensors.extend(Self::load_sensor_config(sensor)); + } + if let Some(net) = config.net.as_ref() { + sockets = net + .sockets + .iter() + .map(|(name, cfg)| HubrisSocket { + name: name.clone(), + kind: cfg.kind.clone(), + owner: cfg.owner.clone(), + port: cfg.port, + tx: cfg.tx, + rx: cfg.rx, + }) + .collect(); + } + } -#[derive(Clone, Debug, Deserialize)] -struct HubrisConfigI2c { - controllers: Option>, - devices: Option>, -} + // Destructure the `HubrisManifestRev` + let HubrisManifestRev { version, gitrev, image } = rev; -#[derive(Clone, Debug, Deserialize, Serialize)] -#[serde(deny_unknown_fields, rename_all = "kebab-case")] -pub struct HubrisConfigAuxflash { - pub memory_size: usize, - pub slot_count: usize, -} + Ok(Self { + version, + gitrev, + board, + features, + task_features, + image, + name, + target, + task_irqs, + task_notifications, + peripherals, + peripherals_byaddr, + auxflash, + sockets, + sensors, + i2c_buses, + i2c_devices, + }) + } -impl HubrisConfigAuxflash { - pub fn slot_size_bytes(&self) -> Result { - if !self.memory_size.is_multiple_of(self.slot_count) { - bail!("Cannot evenly divide auxflash into slots"); + fn load_sensor_config(sensor: &HubrisConfigSensor) -> Vec { + let mut out = vec![]; + for device in &sensor.devices { + for (kind, &count) in &device.sensors { + for i in 0..count { + out.push(HubrisSensor { + name: device.name.clone(), + kind: HubrisSensorKind::from(kind.as_str()), + device: HubrisSensorDevice::Other( + device.device.clone(), + i, + ), + }); + } + } } - Ok(self.memory_size / self.slot_count) + out } } -#[derive(Clone, Debug, Deserialize)] -struct HubrisConfigConfig { - i2c: Option, - net: Option, - sensor: Option, - auxflash: Option, +struct HubrisManifestI2cConfig { + pub i2c_devices: Vec, + pub i2c_buses: HubrisI2cBusList, + pub sensors: Vec, } -#[derive(Clone, Debug, Deserialize)] +impl HubrisManifestI2cConfig { + fn from_config(i2c: &HubrisConfigI2c) -> Result { + let mut i2c_buses = Vec::new(); + let mut i2c_devices = Vec::new(); + let mut sensors = Vec::new(); + let mut buses = HashMap::new(); + + if let Some(ref controllers) = i2c.controllers { + for controller in controllers { + for (index, (name, port)) in controller.ports.iter().enumerate() + { + i2c_buses.push(HubrisI2cBus { + controller: controller.controller, + port: HubrisI2cPort { + name: name.clone(), + index: index as u8, + }, + name: port.name.as_ref().cloned(), + description: port.description.as_ref().cloned(), + target: controller.target.unwrap_or(false), + }); + } + } + } + + let i2c_buses = HubrisI2cBusList(i2c_buses); + for bus in &i2c_buses.0 { + if let Some(ref name) = bus.name { + buses.insert(name, bus); + } + } + + let sensor_name = |d: &HubrisConfigI2cDevice, + idx: usize, + kind: &HubrisSensorKind| + -> Result { + if let Some(pmbus) = &d.pmbus { + if let Some(rails) = &pmbus.rails { + if idx < rails.len() { + return Ok(rails[idx].clone()); + } else { + bail!("sensor count exceeds rails for {:?}", d); + } + } + } else if d.power.is_some() + && d.power + .as_ref() + .unwrap() + .sensors + .as_ref() + .is_none_or(|s| s.contains(kind)) + && let Some(rails) = &d.power.as_ref().unwrap().rails + { + if idx < rails.len() { + return Ok(rails[idx].clone()); + } else { + bail!("sensor count exceeds rails for {:?}", d); + } + } + + if let Some(names) = &d.sensors.as_ref().unwrap().names { + if idx >= names.len() { + bail!( + "name array is too short ({}) for sensor index ({})", + names.len(), + idx + ); + } else { + Ok(names[idx].clone()) + } + } else if let Some(name) = &d.name { + if idx == 0 { + Ok(name.clone()) + } else { + Ok(format!("{}#{}", name, idx)) + } + } else if idx == 0 { + Ok(d.device.clone()) + } else { + Ok(format!("{}#{}", d.device, idx)) + } + }; + let get_sensor = |d: &HubrisConfigI2cDevice, + i: usize, + ndx: usize, + kind: HubrisSensorKind| + -> Result { + let name = sensor_name(d, i, &kind)?; + Ok(HubrisSensor { + name, + kind, + device: HubrisSensorDevice::I2c(ndx), + }) + }; + + if let Some(ref devices) = i2c.devices { + for device in devices { + let name = &device.device; + + let (controller, port) = match &device.bus { + Some(bus) => match buses.get(&bus) { + Some(bus) => (bus.controller, &bus.port), + None => { + // + // This really shouldn't happen: we have + // a bus that doesn't exist. + // + bail!("{}: unknown bus {}", name, bus); + } + }, + None => match (device.controller, &device.port) { + (Some(controller), Some(port)) => ( + controller, + i2c_buses.lookup_i2c_port(controller, port)?, + ), + (None, _) => { + bail!("{}: missing controller", name); + } + (Some(controller), None) => { + (controller, i2c_buses.i2c_port(controller)?) + } + }, + }; + + let port = port.clone(); + + if let Some(dev_sensors) = &device.sensors { + let ndx = i2c_devices.len(); + + for i in 0..dev_sensors.temperature { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::Temperature, + )?); + } + + for i in 0..dev_sensors.power { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::Power, + )?); + } + for i in 0..dev_sensors.current { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::Current, + )?); + } + for i in 0..dev_sensors.voltage { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::Voltage, + )?); + } + for i in 0..dev_sensors.input_current { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::InputCurrent, + )?); + } + for i in 0..dev_sensors.input_voltage { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::InputVoltage, + )?); + } + + for i in 0..dev_sensors.speed { + sensors.push(get_sensor( + device, + i, + ndx, + HubrisSensorKind::Speed, + )?); + } + } + + i2c_devices.push(HubrisI2cDevice { + device: device.device.clone(), + name: device.name.clone(), + controller, + port, + mux: device.mux, + segment: device.segment, + address: device.address, + description: device.description.clone(), + class: HubrisI2cDeviceClass::from(device), + removable: device.removable.unwrap_or(false), + }); + } + } + + Ok(Self { i2c_devices, i2c_buses, sensors }) + } +} + +/// Wrapper around a `Vec` with a few helper functions +#[derive(Debug, Serialize)] +#[serde(transparent)] +pub struct HubrisI2cBusList(Vec); + +impl HubrisI2cBusList { + /// For a given controller and port name, return the matching port (if any) + pub fn lookup_i2c_port( + &self, + controller: u8, + port: &str, + ) -> Result<&HubrisI2cPort> { + let mut found = false; + + for bus in &self.0 { + if bus.controller != controller { + continue; + } + + found = true; + + if bus.port.name.eq_ignore_ascii_case(port) { + return Ok(&bus.port); + } + } + + if !found { + bail!("unknown I2C controller {}", controller); + } + + let ports = self + .0 + .iter() + .filter(|bus| bus.controller == controller) + .map(|bus| bus.port.name.clone()) + .collect::>() + .join(", "); + + bail!("invalid port \"{}\" (must be one of: {})", port, ports); + } + + pub fn i2c_port(&self, controller: u8) -> Result<&HubrisI2cPort> { + let found = self + .0 + .iter() + .filter(|bus| bus.controller == controller) + .collect::>(); + + if found.is_empty() { + bail!("unknown I2C controller {}", controller); + } else if found.len() == 1 { + Ok(&found[0].port) + } else { + let ports = found + .iter() + .map(|bus| bus.port.name.clone()) + .collect::>() + .join(", "); + + bail!( + "I2C{} has multiple ports; expected one of: {}", + controller, + ports + ) + } + } + + pub fn lookup_i2c_bus(&self, bus: &str) -> Result<&HubrisI2cBus> { + self.0 + .iter() + .find(|&b| b.name == Some(bus.to_string())) + .ok_or_else(|| anyhow!("couldn't find bus {}", bus)) + } + + pub fn is_empty(&self) -> bool { + self.0.is_empty() + } + + pub fn len(&self) -> usize { + self.0.len() + } +} + +impl<'a> IntoIterator for &'a HubrisI2cBusList { + type Item = &'a HubrisI2cBus; + type IntoIter = std::slice::Iter<'a, HubrisI2cBus>; + fn into_iter(self) -> Self::IntoIter { + self.0.iter() + } +} + +/// Portions of the [`HubrisManifest`] that are loaded from archive files +pub struct HubrisManifestRev { + pub version: String, + pub gitrev: Option, + pub image: Option, +} + +// +// This structure (and the structures that it refers to) contain everything +// that we might want to pull out of the config TOML -- which will be a subset +// of the entire config. Unless it is known that the field has always existed +// (like `target` and `board`), the fields should generally be `Option`s to +// allow a new Humility to work on an old Hubris. +// +#[derive(Clone, Debug, Deserialize)] +struct HubrisConfig { + target: String, + name: String, + board: String, + kernel: HubrisConfigKernel, + tasks: IndexMap, + peripherals: Option>, + chip: Option, + config: Option, +} + +#[derive(Clone, Debug, Deserialize)] +#[serde(deny_unknown_fields)] +pub struct HubrisConfigPatches { + name: String, + features: IndexMap>, +} + +/// Deserialization `struct` for a memory region in the `memory.toml` file +/// +/// The file contains other fields associated with each region (e.g. size, name, +/// whether it's read / write / execute); we skip those fields because they +/// aren't used below. +#[derive(Clone, Debug, Deserialize)] +struct HubrisMemoryRegion { + address: u32, +} + +#[derive(Clone, Debug, Deserialize)] +struct HubrisConfigKernel { + features: Option>, +} + +#[derive(Clone, Debug, Deserialize)] +#[serde(rename_all = "kebab-case")] +struct HubrisConfigTask { + features: Option>, + extern_regions: Option>, + #[serde(default)] + notifications: Vec, + interrupts: Option>, +} + +#[derive(Clone, Debug, Deserialize)] +#[serde(untagged)] +enum HubrisTaskInterrupt { + Mask(u32), + Named(String), +} + +#[derive(Clone, Debug, Deserialize)] +#[allow(dead_code)] +struct HubrisConfigPeripheral { + address: u32, + size: u32, + interrupts: Option>, +} + +#[derive(Clone, Debug, Deserialize)] +struct HubrisConfigI2cPort { + name: Option, + description: Option, +} + +#[derive(Clone, Debug, Deserialize)] +struct HubrisConfigI2cController { + controller: u8, + ports: BTreeMap, + target: Option, +} + +/// +/// This is a legacy way of expressing PMBus devices that is no longer +/// present in new archives -- but we retain our ability to read it. +/// +#[derive(Clone, Debug, Deserialize, Serialize)] +struct HubrisConfigI2cPmbus { + rails: Option>, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +struct HubrisConfigI2cPower { + rails: Option>, + phases: Option>>, + #[serde(default = "HubrisConfigI2cPower::default_pmbus")] + pmbus: bool, + + /// Lists which sensor types have a one-to-one association with power rails + /// + /// When `None`, we assume that all sensor types are mapped one-to-one with + /// rails. Otherwise, *only* the listed sensor types are associated with + /// rails (which is the case in systems with independent temperature sensor + /// and power rails). + sensors: Option>, +} + +impl HubrisConfigI2cPower { + fn default_pmbus() -> bool { + true + } +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +#[serde(rename_all = "kebab-case")] +struct HubrisConfigI2cSensors { + #[serde(default)] + temperature: usize, + + #[serde(default)] + power: usize, + + #[serde(default)] + current: usize, + + #[serde(default)] + voltage: usize, + + #[serde(default)] + input_current: usize, + + #[serde(default)] + input_voltage: usize, + + #[serde(default)] + speed: usize, + + names: Option>, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +struct HubrisConfigI2cDevice { + device: String, + name: Option, + controller: Option, + bus: Option, + address: u8, + port: Option, + mux: Option, + segment: Option, + description: String, + pmbus: Option, + power: Option, + sensors: Option, + removable: Option, +} + +#[derive(Clone, Debug, Deserialize)] +struct HubrisConfigI2c { + controllers: Option>, + devices: Option>, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +#[serde(deny_unknown_fields, rename_all = "kebab-case")] +pub struct HubrisConfigAuxflash { + pub memory_size: usize, + pub slot_count: usize, +} + +impl HubrisConfigAuxflash { + pub fn slot_size_bytes(&self) -> Result { + if !self.memory_size.is_multiple_of(self.slot_count) { + bail!("Cannot evenly divide auxflash into slots"); + } + Ok(self.memory_size / self.slot_count) + } +} + +#[derive(Clone, Debug, Deserialize)] +struct HubrisConfigConfig { + i2c: Option, + net: Option, + sensor: Option, + auxflash: Option, +} + +#[derive(Clone, Debug, Deserialize)] struct HubrisConfigNet { #[serde(default)] sockets: IndexMap, @@ -532,21 +1005,11 @@ impl HubrisFlashMap { /// /// This will fail if the `HubrisArchive` is fake, i.e. contains zero bytes. pub fn new(hubris: &HubrisArchive) -> Result { - if hubris.archive().is_empty() { - bail!("archive is required for network use but was not provided"); - } // // We want to read in the "final.elf" from our archive and use that // to determine the memory that constitutes flash. // - let cursor = Cursor::new(hubris.archive()); - let mut archive = zip::ZipArchive::new(cursor)?; - let mut file = archive - .by_name("img/final.elf") - .map_err(|e| anyhow!("failed to find final.elf: {}", e))?; - - let mut contents = Vec::new(); - file.read_to_end(&mut contents)?; + let contents = hubris.hubris_archive.extract_file("img/final.elf")?; let elf = Elf::parse(&contents).map_err(|e| { anyhow!("failed to parse final.elf as an ELF file: {}", e) @@ -609,14 +1072,6 @@ pub struct HubrisFlashConfig { pub chip: Option, } -#[derive(Copy, Clone, Debug, PartialEq, Eq)] -pub enum HubrisArchiveDoneness { - /// Fully load archive - Cook, - /// Load archive into memory, but do not otherwise process - Raw, -} - #[derive(Copy, Clone, Debug)] struct NamespaceId(usize); @@ -690,21 +1145,21 @@ impl Namespaces { } pub struct HubrisArchive { - // the entire archive - archive: Vec, + /// Raw archive + hubris_archive: RawHubrisArchive, + + /// Number of tasks (not including the kernel) + ntasks: usize, // constructed manifest pub manifest: HubrisManifest, // image ID - pub imageid: Option<(u32, Vec)>, + imageid: (u32, Vec), // loaded regions loaded: BTreeMap, - // current object - current: u32, - // non-None if a dump of a single task task_dump: Option, @@ -715,9 +1170,6 @@ pub struct HubrisArchive { // Manual stack pushes before a syscall syscall_pushes: HashMap>>, - // Current registers (if a dump) - registers: HashMap, - // Modules: text address to module modules: BTreeMap, @@ -733,575 +1185,198 @@ pub struct HubrisArchive { addr2line::Context>, >, - // DWARF source code: goff to file/line - src: HashMap, - - // DWARF symbols: address to HubrisSymbol - dsyms: BTreeMap, - - // ELF symbols: address to name/length tuple - esyms: BTreeMap, - - // ELF symbols: name to value/length - esyms_byname: MultiMap, - - // Inlined: address/nesting tuple to length/goff/origin tuple - inlined: BTreeMap<(u32, isize), (u32, HubrisGoff, HubrisGoff)>, - - // Subprograms: goff to demangled name - subprograms: HashMap, - - // Base types: goff to size - basetypes: HashMap, - - // Base types: name to goff - basetypes_byname: HashMap, - - // Base types: goff to underlying type - ptrtypes: HashMap, - - // Structures: goff to struct - structs: HashMap, - - // Structures: name to goff - structs_byname: MultiMap, - - // Enums: goff to enum - enums: HashMap, - - // Enums: name to goff - enums_byname: MultiMap, - - // Arrays: goff to array - arrays: HashMap, - - // Variables: name to goff/address/size tuple. Note that variables declared - // in different modules will appear to have the same name here. Consider - // using qualified_variables instead. - variables: MultiMap, - - // Qualified Variables: fully qualified Rust demangled name to - // goff/address/size tuple. - qualified_variables: MultiMap, - - // Unions: goff to union - unions: HashMap, - - // Definitions: name to goff - definitions: MultiMap, - - // Space of all namespaces -- but namespacesspace seems needlessly cruel - namespaces: Namespaces, - - // Extern regions in this archive - extern_regions: ExternRegions, -} - -#[rustfmt::skip::macros(anyhow, bail)] -impl HubrisArchive { - pub fn new() -> Result { - Ok(Self { - archive: Vec::new(), - imageid: None, - manifest: Default::default(), - loaded: BTreeMap::new(), - current: 0, - task_dump: None, - instrs: HashMap::new(), - syscall_pushes: HashMap::new(), - registers: HashMap::new(), - modules: BTreeMap::new(), - tasks: HashMap::new(), - frames: HashMap::new(), - src: HashMap::new(), - dsyms: BTreeMap::new(), - esyms: BTreeMap::new(), - esyms_byname: MultiMap::new(), - inlined: BTreeMap::new(), - subprograms: HashMap::new(), - basetypes: HashMap::new(), - basetypes_byname: HashMap::new(), - ptrtypes: HashMap::new(), - structs: HashMap::new(), - structs_byname: MultiMap::new(), - enums: HashMap::new(), - addr2line: HashMap::new(), - enums_byname: MultiMap::new(), - arrays: HashMap::new(), - variables: MultiMap::new(), - qualified_variables: MultiMap::new(), - unions: HashMap::new(), - definitions: MultiMap::new(), - namespaces: Namespaces::new(), - extern_regions: ExternRegions::new(), - }) - } - - pub fn instr_len(&self, addr: u32) -> Option { - self.instrs.get(&addr).map(|instr| instr.0.len() as u32) - } - - /// Looks up the jump target type of the previously-disassembled instruction - /// at `addr`. Returns `None` if the instruction was did not affect control - /// flow. - /// - /// TODO: this also returns `None` if `addr` is not an instruction boundary, - /// which is probably wrong but we haven't totally thought it through yet. - pub fn instr_target(&self, addr: u32) -> Option { - self.instrs.get(&addr).and_then(|&(_, target)| target) - } - - pub fn instr_mod(&self, addr: u32) -> Option<&str> { - if let Some(module) = self.modules.range(..=addr).next_back() { - if addr < *module.0 + module.1.textsize { - Some(&module.1.name) - } else { - None - } - } else { - None - } - } - - pub fn instr_sym(&self, addr: u32) -> Option<(&str, u32)> { - // - // First, check our DWARF symbols. - // - let sym = match self.dsyms.range(..=addr).next_back() { - Some((_, sym)) if addr < sym.addr + sym.size => { - Some((sym.name.as_str(), sym.addr)) - } - _ => None, - }; - - // - // Fallback to our ELF symbols. - // - sym.or_else(|| match self.esyms.range(..=addr).next_back() { - Some((&sym_addr, (name, sym_len))) if addr < sym_addr + sym_len => { - Some((name, sym_addr)) - } - _ => None, - }) - } - - pub fn instr_inlined(&self, pc: u32, base: u32) -> Vec> { - let mut inlined: Vec = vec![]; - - // - // We find our stack of inlined functions by searching backwards from - // our address (which we know must be greater than or equal to all - // inlined functions that it is in). This yields a vector that - // starts from the greatest depth and ends with the least - // depth -- so we reverse it before we return it. We know - // that our search is over when the address plus the length - // is less than our base. - // - for (&(addr, _depth), (len, goff, origin)) in - self.inlined.range(..=(pc, isize::MAX)).rev() - { - if addr + len < base { - break; - } - - if addr + len <= pc { - continue; - } - - if let Some(func) = self.subprograms.get(origin) { - inlined.push(HubrisInlined { - addr, - name: func, - id: *goff, - origin: *origin, - }); - } - } + // DWARF source code: goff to file/line + src: HashMap, - inlined.reverse(); - inlined - } + // DWARF symbols: address to HubrisSymbol + dsyms: BTreeMap, - fn load_sensor_config( - &mut self, - sensor: &HubrisConfigSensor, - ) -> Result<()> { - for device in &sensor.devices { - for (kind, &count) in &device.sensors { - for i in 0..count { - self.manifest.sensors.push(HubrisSensor { - name: device.name.clone(), - kind: HubrisSensorKind::from(kind.as_str()), - device: HubrisSensorDevice::Other( - device.device.clone(), - i, - ), - }); - } - } - } - Ok(()) - } + // ELF symbols: address to name/length tuple + esyms: BTreeMap, - fn load_i2c_config(&mut self, i2c: &HubrisConfigI2c) -> Result<()> { - let mut buses = HashMap::new(); + // ELF symbols: name to value/length + esyms_byname: MultiMap, - if let Some(ref controllers) = i2c.controllers { - for controller in controllers { - for (index, (name, port)) in controller.ports.iter().enumerate() - { - self.manifest.i2c_buses.push(HubrisI2cBus { - controller: controller.controller, - port: HubrisI2cPort { - name: name.clone(), - index: index as u8, - }, - name: port.name.as_ref().cloned(), - description: port.description.as_ref().cloned(), - target: controller.target.unwrap_or(false), - }); - } - } - } + // Inlined: address/nesting tuple to length/goff/origin tuple + inlined: BTreeMap<(u32, isize), (u32, HubrisGoff, HubrisGoff)>, - for bus in &self.manifest.i2c_buses { - if let Some(ref name) = bus.name { - buses.insert(name, bus); - } - } + // Subprograms: goff to demangled name + subprograms: HashMap, - let sensor_name = |d: &HubrisConfigI2cDevice, - idx: usize, - kind: &HubrisSensorKind| - -> Result { - if let Some(pmbus) = &d.pmbus { - if let Some(rails) = &pmbus.rails { - if idx < rails.len() { - return Ok(rails[idx].clone()); - } else { - bail!("sensor count exceeds rails for {:?}", d); - } - } - } else if d.power.is_some() - && d.power - .as_ref() - .unwrap() - .sensors - .as_ref() - .is_none_or(|s| s.contains(kind)) - && let Some(rails) = &d.power.as_ref().unwrap().rails - { - if idx < rails.len() { - return Ok(rails[idx].clone()); - } else { - bail!("sensor count exceeds rails for {:?}", d); - } - } + // Base types: goff to size + basetypes: HashMap, - if let Some(names) = &d.sensors.as_ref().unwrap().names { - if idx >= names.len() { - bail!( - "name array is too short ({}) for sensor index ({})", - names.len(), - idx - ); - } else { - Ok(names[idx].clone()) - } - } else if let Some(name) = &d.name { - if idx == 0 { - Ok(name.clone()) - } else { - Ok(format!("{}#{}", name, idx)) - } - } else if idx == 0 { - Ok(d.device.clone()) - } else { - Ok(format!("{}#{}", d.device, idx)) - } - }; - let get_sensor = |d: &HubrisConfigI2cDevice, - i: usize, - ndx: usize, - kind: HubrisSensorKind| - -> Result { - let name = sensor_name(d, i, &kind)?; - Ok(HubrisSensor { - name, - kind, - device: HubrisSensorDevice::I2c(ndx), - }) - }; + // Base types: name to goff + basetypes_byname: HashMap, - if let Some(ref devices) = i2c.devices { - for device in devices { - let name = &device.device; + // Base types: goff to underlying type + ptrtypes: HashMap, - let (controller, port) = match &device.bus { - Some(bus) => match buses.get(&bus) { - Some(bus) => (bus.controller, &bus.port), - None => { - // - // This really shouldn't happen: we have - // a bus that doesn't exist. - // - bail!("{}: unknown bus {}", name, bus); - } - }, - None => match (device.controller, &device.port) { - (Some(controller), Some(port)) => ( - controller, - self.lookup_i2c_port(controller, port)?, - ), - (None, _) => { - bail!("{}: missing controller", name); - } - (Some(controller), None) => { - (controller, self.i2c_port(controller)?) - } - }, - }; + // Structures: goff to struct + structs: HashMap, - let port = port.clone(); + // Structures: name to goff + structs_byname: MultiMap, - if let Some(sensors) = &device.sensors { - let ndx = self.manifest.i2c_devices.len(); + // Enums: goff to enum + enums: HashMap, - for i in 0..sensors.temperature { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::Temperature, - )?); - } + // Enums: name to goff + enums_byname: MultiMap, - for i in 0..sensors.power { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::Power, - )?); - } - for i in 0..sensors.current { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::Current, - )?); - } - for i in 0..sensors.voltage { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::Voltage, - )?); - } - for i in 0..sensors.input_current { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::InputCurrent, - )?); - } - for i in 0..sensors.input_voltage { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::InputVoltage, - )?); - } + // Arrays: goff to array + arrays: HashMap, - for i in 0..sensors.speed { - self.manifest.sensors.push(get_sensor( - device, - i, - ndx, - HubrisSensorKind::Speed, - )?); - } - } + // Variables: name to goff/address/size tuple. Note that variables declared + // in different modules will appear to have the same name here. Consider + // using qualified_variables instead. + variables: MultiMap, - self.manifest.i2c_devices.push(HubrisI2cDevice { - device: device.device.clone(), - name: device.name.clone(), - controller, - port, - mux: device.mux, - segment: device.segment, - address: device.address, - description: device.description.clone(), - class: HubrisI2cDeviceClass::from(device), - removable: device.removable.unwrap_or(false), - }); - } - } + // Qualified Variables: fully qualified Rust demangled name to + // goff/address/size tuple. + qualified_variables: MultiMap, - Ok(()) - } + // Unions: goff to union + unions: HashMap, - fn load_config( - &mut self, - config: &HubrisConfig, - peripherals: Option<&IndexMap>, - ) -> Result<()> { - self.manifest.board = Some(config.board.clone()); - self.manifest.name = Some(config.name.clone()); - self.manifest.target = Some(config.target.clone()); - self.manifest.features = match config.kernel.features { - Some(ref features) => features.clone(), - None => vec![], - }; - self.manifest.auxflash = - config.config.as_ref().and_then(|c| c.auxflash.clone()); + // Definitions: name to goff + definitions: MultiMap, - let mut named_interrupts = HashMap::new(); + // Space of all namespaces -- but namespacesspace seems needlessly cruel + namespaces: Namespaces, - if let Some(peripherals) = peripherals { - for (name, p) in peripherals { - self.manifest.peripherals.insert(name.clone(), p.address); - self.manifest - .peripherals_byaddr - .insert(p.address, name.clone()); + // Extern regions in this archive + extern_regions: ExternRegions, +} - if let Some(ref interrupts) = p.interrupts { - for (interrupt, irq) in interrupts { - named_interrupts - .insert(format!("{}.{}", name, interrupt), *irq); - } - } +#[rustfmt::skip::macros(anyhow, bail)] +impl HubrisArchive { + pub fn instr_len(&self, addr: u32) -> Option { + self.instrs.get(&addr).map(|instr| instr.0.len() as u32) + } + + /// Looks up the jump target type of the previously-disassembled instruction + /// at `addr`. Returns `None` if the instruction was did not affect control + /// flow. + /// + /// TODO: this also returns `None` if `addr` is not an instruction boundary, + /// which is probably wrong but we haven't totally thought it through yet. + pub fn instr_target(&self, addr: u32) -> Option { + self.instrs.get(&addr).and_then(|&(_, target)| target) + } + + pub fn instr_mod(&self, addr: u32) -> Option<&str> { + if let Some(module) = self.modules.range(..=addr).next_back() { + if addr < *module.0 + module.1.textsize { + Some(&module.1.name) + } else { + None } + } else { + None } + } - for (name, task) in &config.tasks { - if let Some(ref features) = task.features { - self.manifest - .task_features - .insert(name.clone(), features.clone()); + pub fn instr_sym(&self, addr: u32) -> Option<(&str, u32)> { + // + // First, check our DWARF symbols. + // + let sym = match self.dsyms.range(..=addr).next_back() { + Some((_, sym)) if addr < sym.addr + sym.size => { + Some((sym.name.as_str(), sym.addr)) } + _ => None, + }; - if let Some(ref interrupts) = task.interrupts { - let mut task_irqs = vec![]; - - for (irq_str, notification) in interrupts { - let irq = match irq_str.parse::() { - Ok(irq_num) => irq_num, - Err(_) => { - // - // If our IRQ number doesn't parse, it may be - // because it's named; look it up before failing. - // - match named_interrupts.get(irq_str) { - Some(irq_num) => *irq_num, - None => { - bail!( - "unrecognized irq {} on task {}", - irq_str, name - ) - } - } - } - }; - let notification = match notification { - HubrisTaskInterrupt::Mask(i) => *i, - HubrisTaskInterrupt::Named(name) => match task - .notifications - .iter() - .position(|n| n == name) - { - Some(i) => 1 << i, - None => bail!( - "could not find notification '{name}' \ - (options are {:?})", - task.notifications), - }, - }; - - task_irqs.push((notification, irq)); - } - - self.manifest.task_irqs.insert(name.clone(), task_irqs); + // + // Fallback to our ELF symbols. + // + sym.or_else(|| match self.esyms.range(..=addr).next_back() { + Some((&sym_addr, (name, sym_len))) if addr < sym_addr + sym_len => { + Some((name, sym_addr)) } + _ => None, + }) + } - self.manifest - .task_notifications - .insert(name.clone(), task.notifications.clone()); - } + pub fn instr_inlined(&self, pc: u32, base: u32) -> Vec> { + let mut inlined: Vec = vec![]; - if let Some(ref config) = config.config { - if let Some(i2c) = config.i2c.as_ref() { - self.load_i2c_config(i2c)?; + // + // We find our stack of inlined functions by searching backwards from + // our address (which we know must be greater than or equal to all + // inlined functions that it is in). This yields a vector that + // starts from the greatest depth and ends with the least + // depth -- so we reverse it before we return it. We know + // that our search is over when the address plus the length + // is less than our base. + // + for (&(addr, _depth), (len, goff, origin)) in + self.inlined.range(..=(pc, isize::MAX)).rev() + { + if addr + len < base { + break; } - if let Some(sensor) = config.sensor.as_ref() { - self.load_sensor_config(sensor)?; + + if addr + len <= pc { + continue; } - if let Some(net) = config.net.as_ref() { - self.manifest.sockets = net - .sockets - .iter() - .map(|(name, cfg)| HubrisSocket { - name: name.clone(), - kind: cfg.kind.clone(), - owner: cfg.owner.clone(), - port: cfg.port, - tx: cfg.tx, - rx: cfg.rx, - }) - .collect(); + + if let Some(func) = self.subprograms.get(origin) { + inlined.push(HubrisInlined { + addr, + name: func, + id: *goff, + origin: *origin, + }); } } - Ok(()) + inlined.reverse(); + inlined } - fn load_archive(&mut self, archive: &[u8]) -> Result<()> { - let cursor = Cursor::new(archive); - let mut archive = zip::ZipArchive::new(cursor)?; - let manifest = &mut self.manifest; - - macro_rules! byname { - ($name:tt) => { - archive - .by_name($name) - .map_err(|e| anyhow!("failed to find \"{}\": {}", $name, e)) - }; + pub fn load( + hubris: RawHubrisArchive, + task_dump: Option, + ) -> Result { + // Check the version early and bail if we don't match/can't read + let archive_version = hubris.archive_version(); + if archive_version > MAX_HUBRIS_VERSION { + bail!("\ + Hubris archive version is unsupported.\n\ + Humility supports v{} and earlier; archive is v{}.\n\ + Please update Humility.", + MAX_HUBRIS_VERSION, archive_version + ); } - // // First, we'll load aspects of configuration. - // - manifest.version = Some(str::from_utf8(archive.comment())?.to_string()); - - if let Ok(mut file) = archive.by_name("git-rev") { - let mut gitrev = String::new(); - file.read_to_string(&mut gitrev) - .context("failed reading `git-rev`")?; - manifest.gitrev = Some(gitrev); - } + let gitrev = if let Ok(git_rev) = hubris.extract_file("git-rev") { + Some(std::str::from_utf8(&git_rev)?.to_string()) + } else { + None + }; - if let Ok(mut file) = archive.by_name("image-name") { - let mut image = String::new(); - file.read_to_string(&mut image) - .context("failed reading `image-name`")?; - manifest.image = Some(image); - } + let image = if let Ok(image_name) = hubris.extract_file("image-name") { + Some(std::str::from_utf8(&image_name)?.to_string()) + } else { + None + }; - let mut app = String::new(); - byname!("app.toml")?.read_to_string(&mut app)?; + let manifest_rev = HubrisManifestRev { + version: format!("hubris build archive v{archive_version}"), + gitrev, + image, + }; + // Load the main manifest config file + let app = hubris.extract_file("app.toml")?; let mut config: HubrisConfig = toml::from_slice(app.as_bytes())?; // Apply TOML patches, if `patches.toml` is present in the archive. - if let Ok(mut patches) = byname!("patches.toml") { - let mut patch_str = String::new(); - patches.read_to_string(&mut patch_str)?; - let patches: HubrisConfigPatches = - toml::from_slice(patch_str.as_bytes())?; + if let Ok(patches) = hubris.extract_file("patches.toml") { + let patches: HubrisConfigPatches = toml::from_slice(&patches)?; config.name = patches.name; for (task, features) in patches.features { config @@ -1314,22 +1389,13 @@ impl HubrisArchive { } } - let config = config; // remove mutability - - // - // Before we load our config, we need to find where our peripherals - // are located (if we have any). If they are hanging off our config, - // use that -- but if we have a newer archive that contains a referred - // chip, pull in the TOML that it points to instead. - // - if let Some(ref peripherals) = config.peripherals { - self.load_config(&config, Some(peripherals))?; - } else if let Some(ref chip) = config.chip { - // + // Hot-patch the `peripherals` member of config + if config.peripherals.is_none() + && let Some(chip) = &config.chip + { // Paths are relative, so we always pull the basename -- and // paths within a ZIP archive always use the forward slash // as a separator. - // let path = match chip.rsplit('/').next() { // Newer archive files may include the chip peripherals with // the generic name "chip.toml" instead of something like @@ -1341,39 +1407,32 @@ impl HubrisArchive { None => chip, }; - let mut chip = String::new(); - - // // Ideally, we would hard-fail if we didn't find this file in // the archive -- but there was a small window of time in which // the chip TOML was not properly in the archive. This is still // recoverable -- but anything that relies on the presence of // peripherals in the TOML will fail. - // - if let Ok(mut file) = archive.by_name(path) { - file.read_to_string(&mut chip)?; - - let peripherals: IndexMap = - toml::from_slice(chip.as_bytes())?; - - self.load_config(&config, Some(&peripherals))?; - } else { - self.load_config(&config, None)?; + if let Ok(chip) = hubris.extract_file(path) { + config.peripherals = toml::from_slice(&chip)?; } - } else { - self.load_config(&config, None)?; } + let config = config; // remove mutability + + // Build the manifest, now that we've got a complete config + let manifest = HubrisManifest::from_config(&config, manifest_rev)?; + // // Next up is the kernel. Note that we refer to it explicitly with a // forward slash: regardless of platform, paths within a ZIP archive // use the forward slash as a separator. // - let mut buffer = Vec::new(); - byname!("elf/kernel")?.read_to_end(&mut buffer)?; - let mut loader = HubrisObjectLoader::new(self.current)?; - loader.load_object("kernel", HubrisTask::Kernel, &buffer)?; - self.merge(loader)?; + let mut loader = HubrisObjectLoader::new(0); + loader.load_object( + "kernel", + HubrisTask::Kernel, + &hubris.extract_file("elf/kernel")?, + )?; // // Find and unzip tasks in parallel. Note that into_par_iter discards @@ -1381,256 +1440,153 @@ impl HubrisArchive { // resulting tuple for later sorting. // use rayon::prelude::*; - let mut objects = (0..archive.len()) + let mut objects = (0..hubris.file_count()?) .into_par_iter() .map(|i| -> Result)>> { - // ZipArchive is cheap to clone since the backing is cheap - let mut archive = archive.clone(); - let mut file = archive.by_index(i)?; - let path = Path::new(file.name()); + let (name, data) = hubris.extract_file_by_index(i)?; + let path = Path::new(&name); let pieces = path.iter().collect::>(); // // If the second-to-last element of our path is "task", we have // a winner! // - if pieces.len() < 2 || pieces[pieces.len() - 2] != "task" { - return Ok(None); - } - - let mut buffer = Vec::new(); - file.read_to_end(&mut buffer)?; - let filename = Path::new(file.name()); - Ok(Some(( - i, - filename.file_name().unwrap().to_str().unwrap().to_owned(), - buffer, - ))) - }) - .filter_map(|f| f.transpose()) - .collect::>>()?; - - // - // Sort by file index then convert from file index -> task index. - // - // This depends on the fact that tasks are stored in task ID order in - // the archive! - // - objects.sort(); - for (i, o) in objects.iter_mut().enumerate() { - o.0 = i; - } - - // Load each task using a HubrisObjectLoader, which can run - // independently in a thread. - let files = objects - .into_par_iter() - .map(|(id, name, buf)| { - let id: u32 = id.try_into().unwrap(); - let mut loader = HubrisObjectLoader::new(self.current + id)?; - loader.load_object(&name, HubrisTask::Task(id), &buf)?; - Ok(loader) - }) - .collect::>>()?; - - for loader in files { - self.merge(loader)?; - } - assert_eq!(self.current as usize, self.tasks.len()); - - // - // Now that we have loaded our tasks, load our extern regions. - // - self.extern_regions = ExternRegions::load(self, &mut archive, &config)?; - - // - // Post-process our enums and structs to add their fully scoped names. - // - let mut work = BTreeSet::new(); - - for (name, enums) in self.enums_byname.iter_all() { - for goff in enums.iter() { - let n = self.enums.get(goff).unwrap().namespace; - - if let Some(full) = self.namespaces.to_full_name(n, name)? { - work.insert((full, *goff)); - } - } - } - - for (name, goff) in work.iter() { - self.enums_byname.insert(name.clone(), *goff); - } - - let mut work = BTreeSet::new(); - - for (name, structs) in self.structs_byname.iter_all() { - for goff in structs.iter() { - let n = self.structs.get(goff).unwrap().namespace; - - if let Some(full) = self.namespaces.to_full_name(n, name)? { - work.insert((full, *goff)); - } - } - } - - for (name, goff) in work.iter() { - self.structs_byname.insert(name.clone(), *goff); - } - - Ok(()) - } - - fn merge(&mut self, loader: HubrisObjectLoader) -> Result<()> { - if loader.imageid.is_some() { - self.imageid = loader.imageid; - } - self.esyms_byname.extend(loader.esyms_byname); - - self.esyms.extend(loader.esyms); - self.tasks.extend(loader.tasks); - self.modules.extend(loader.modules); - self.frames.extend(loader.frames); - self.loaded.extend(loader.loaded); - self.instrs.extend(loader.instrs); - self.syscall_pushes.extend(loader.syscall_pushes); - self.unions.extend(loader.unions); - self.src.extend(loader.src); - self.enums_byname.extend(loader.enums_byname); - self.structs_byname.extend(loader.structs_byname); - self.arrays.extend(loader.arrays); - self.basetypes.extend(loader.basetypes); - self.addr2line.extend(loader.addr2line); - self.basetypes_byname.extend(loader.basetypes_byname); - self.ptrtypes.extend(loader.ptrtypes); - self.inlined.extend(loader.inlined); - self.subprograms.extend(loader.subprograms); - self.dsyms.extend(loader.dsyms); - self.variables.extend(loader.variables); - self.qualified_variables.extend(loader.qualified_variables); - self.definitions.extend(loader.definitions); - - // Namespaces need to be shifted when merging into the global namespaces - // vec. This change applies to the `namespace` member in structs and - // enums, as well as the `namespaces` table itself. - let ns_offset = self.namespaces.0.len(); - - self.namespaces.0.extend(loader.namespaces.0.into_iter().map( - |mut v| { - if let Some(n) = &mut v.parent { - n.0 += ns_offset; + if pieces.len() < 2 || pieces[pieces.len() - 2] != "task" { + return Ok(None); } - v - }, - )); - self.structs.extend(loader.structs.into_iter().map(|(goff, mut s)| { - if let Some(n) = &mut s.namespace { - n.0 += ns_offset; - } - (goff, s) - })); - self.enums.extend(loader.enums.into_iter().map(|(goff, mut s)| { - if let Some(n) = &mut s.namespace { - n.0 += ns_offset; - } - (goff, s) - })); - self.current += 1; - Ok(()) - } + let filename = Path::new(&name); + Ok(Some(( + i, + filename.file_name().unwrap().to_str().unwrap().to_owned(), + data, + ))) + }) + .filter_map(|f| f.transpose()) + .collect::>>()?; - pub fn load( - &mut self, - archive: &str, - doneness: HubrisArchiveDoneness, - ) -> Result<()> { - let metadata = fs::metadata(archive)?; + // + // Sort by file index then convert from file index -> task index. + // + // This depends on the fact that tasks are stored in task ID order in + // the archive! + // + objects.sort(); + for (i, o) in objects.iter_mut().enumerate() { + o.0 = i; + } + + // Load each task using a HubrisObjectLoader, which can run + // independently in a thread. + let files = objects + .into_par_iter() + .map(|(id, name, buf)| { + let id: u32 = id.try_into().unwrap(); + let mut loader = HubrisObjectLoader::new(id + 1); + loader.load_object(&name, HubrisTask::Task(id), &buf)?; + Ok(loader) + }) + .collect::>>()?; - if metadata.is_dir() { - bail!("a directory as an archive is deprecated; \ - use archive instead"); + let ntasks = files.len(); + for f in files { + loader.merge(f)?; } // - // We read the entire archive into memory (and hold onto it) -- we - // are going to need most of it anyway, and we want to have - // the entire archive in memory to be able to write it out to - // any generated dump. + // Now that we have loaded our tasks, load our extern regions. + // + let extern_regions = + ExternRegions::load(&loader.tasks, &hubris, &config)?; + + // + // Post-process our enums and structs to add their fully scoped names. // - let contents = fs::read(archive)?; + let mut work = BTreeSet::new(); - let cursor = Cursor::new(&contents); - let archive = zip::ZipArchive::new(cursor)?; - let comment = str::from_utf8(archive.comment()) - .context("Failed to decode comment string")?; - Self::check_version(comment)?; + for (name, enums) in loader.enums_byname.iter_all() { + for goff in enums.iter() { + let n = loader.enums.get(goff).unwrap().namespace; - if doneness == HubrisArchiveDoneness::Cook { - self.load_archive(&contents)?; + if let Some(full) = loader.namespaces.to_full_name(n, name)? { + work.insert((full, *goff)); + } + } } - self.archive = contents; - Ok(()) - } + for (name, goff) in work.iter() { + loader.enums_byname.insert(name.clone(), *goff); + } - fn check_version(comment: &str) -> Result<()> { - match comment.strip_prefix("hubris build archive v") { - Some(v) => { - let archive_version = match v { - // Special-case for older archives - "1.0.0" => 1, - // There was no v1, just v1.0.0 - "1" => bail!("Invalid archive version 'v1'"), - // Otherwise, expect an integer - v => v.parse().with_context(|| { - format!("Failed to parse version string {}", v) - })?, - }; - if archive_version > MAX_HUBRIS_VERSION { - bail!("\ - Hubris archive version is unsupported.\n\ - Humility supports v{} and earlier; archive is v{}.\n\ - Please update Humility.", - MAX_HUBRIS_VERSION, v) + let mut work = BTreeSet::new(); + + for (name, structs) in loader.structs_byname.iter_all() { + for goff in structs.iter() { + let n = loader.structs.get(goff).unwrap().namespace; + + if let Some(full) = loader.namespaces.to_full_name(n, name)? { + work.insert((full, *goff)); } } - None => { - bail!( - "Could not parse hubris archive version from '{}'", - comment) - } } - Ok(()) + + for (name, goff) in work.iter() { + loader.structs_byname.insert(name.clone(), *goff); + } + + let Some(imageid) = loader.imageid else { + bail!("missing image id"); + }; + Ok(Self { + hubris_archive: hubris, + imageid, + manifest, + loaded: loader.loaded, + task_dump, + ntasks, + instrs: loader.instrs, + syscall_pushes: loader.syscall_pushes, + modules: loader.modules, + tasks: loader.tasks, + frames: loader.frames, + src: loader.src, + dsyms: loader.dsyms, + esyms: loader.esyms, + esyms_byname: loader.esyms_byname, + inlined: loader.inlined, + subprograms: loader.subprograms, + basetypes: loader.basetypes, + basetypes_byname: loader.basetypes_byname, + ptrtypes: loader.ptrtypes, + structs: loader.structs, + structs_byname: loader.structs_byname, + enums: loader.enums, + addr2line: loader.addr2line, + enums_byname: loader.enums_byname, + arrays: loader.arrays, + variables: loader.variables, + qualified_variables: loader.qualified_variables, + unions: loader.unions, + definitions: loader.definitions, + namespaces: loader.namespaces, + extern_regions, + }) } pub fn load_flash_config(&self) -> Result { - let cursor = Cursor::new(&self.archive); - let mut archive = zip::ZipArchive::new(cursor)?; - - macro_rules! slurp { - ($name:tt) => {{ - let mut buffer = Vec::new(); - archive - .by_name($name) - .map_err(|e| { - anyhow!("failed to find \"{}\": {}", $name, e) - })? - .read_to_end(&mut buffer)?; - buffer - }}; - } - - let flash_ron = archive.by_name("img/flash.ron").map_err(|_| { - anyhow!( + let flash_ron = self + .hubris_archive + .extract_file("img/flash.ron") + .map_err(|_| { + anyhow!( "could not find img/flash.ron in archive; \ does archive pre-date addition of flash information?" ) - })?; + })?; let config: HubrisFlashMeta = ron::options::Options::default() .with_default_extension(ron::extensions::Extensions::IMPLICIT_SOME) - .from_reader(flash_ron)?; + .from_bytes(&flash_ron)?; // This is incredibly ugly! It also gives us backwards compatibility! let chip: Option = match config.chip { @@ -1640,7 +1596,7 @@ impl HubrisArchive { Ok(HubrisFlashConfig { metadata: config, - elf: slurp!("img/final.elf"), + elf: self.hubris_archive.extract_file("img/final.elf")?, chip, }) } @@ -1657,51 +1613,21 @@ impl HubrisArchive { flash.chip } - fn load_registers(&mut self, r: &[u8]) -> Result<()> { - if !r.len().is_multiple_of(8) { - bail!("bad length {} in registers note", r.len()); - } - - for (i, chunk) in r.chunks_exact(8).enumerate() { - let (id, val) = chunk.split_at(4); - // We unwrap here because it can only fail if the length is wrong, - // but we've explicitly broken a chunk of 8 into two chunks of 4, - // so a failure here would mean this code has been changed. - let id = u32::from_le_bytes(id.try_into().unwrap()); - let val = u32::from_le_bytes(val.try_into().unwrap()); - - let reg = match ARMRegister::from_u32(id) { - Some(r) => r, - None => { - // This can totally happen if we encounter a future coredump - // where we decided to store, say, additional MSRs or a - // floating point register. Since this version of Humility - // doesn't understand them, we'll just skip it. - continue; - } - }; - - if self.registers.insert(reg, val).is_some() { - bail!("duplicate register {} ({}) at offset {}", reg, id, i * 8); - } - } - - Ok(()) - } - + /// Helper function to load a dump into a [`RawHubrisArchive`] + /// + /// Returns a tuple of `(raw archive, dump task)`; the second field is + /// `Some(..)` if this is a single-task dump. pub fn load_dump( - &mut self, dumpfile: &str, - doneness: HubrisArchiveDoneness, - ) -> Result<()> { - // + ) -> Result<(RawHubrisArchive, Option)> { // We expect the dump to be an ELF core dump. - // let contents = fs::read(dumpfile)?; let elf = Elf::parse(&contents).map_err(|e| { anyhow!("failed to parse {} as an ELF file: {}", dumpfile, e) })?; + let mut task_dump = None; + let mut archive = None; if let Some(notes) = elf.iter_note_headers(&contents) { for note in notes { match note { @@ -1712,28 +1638,32 @@ impl HubrisArchive { match note.n_type { OXIDE_NT_HUBRIS_ARCHIVE => { - if doneness == HubrisArchiveDoneness::Cook { - self.load_archive(note.desc)?; + if archive.is_some() { + bail!("multiple OXIDE_NT_HUBRIS_ARCHIVE found in dump"); } - - self.archive = note.desc.to_vec(); - } - OXIDE_NT_HUBRIS_REGISTERS => { - self.load_registers(note.desc)?; + archive = Some(RawHubrisArchive::from_vec( + note.desc.to_vec(), + )?); } OXIDE_NT_HUBRIS_TASK => { match DumpTask::read_from_prefix(note.desc) { Ok((task, _)) => { - self.task_dump = Some(task); + if task_dump.is_some() { + bail!("multiple OXIDE_NT_HUBRIS_TASK found in dump"); + } + task_dump = Some(task); } Err(e) => { bail!( - "unrecognized task {:?} ({e})", + "could not read task {:?} ({e})", note.desc ); } } } + OXIDE_NT_HUBRIS_REGISTERS => { + // unused when building the archive, but valid + } _ => { bail!("unrecognized note 0x{:x}", note.n_type); } @@ -1746,11 +1676,10 @@ impl HubrisArchive { } } - Ok(()) - } - - pub fn loaded(&self) -> bool { - !self.modules.is_empty() + let Some(archive) = archive else { + bail!("could not find archive in dump"); + }; + Ok((archive, task_dump)) } /// @@ -2044,7 +1973,7 @@ impl HubrisArchive { } pub fn ntasks(&self) -> usize { - if self.current >= 1 { self.current as usize - 1 } else { 0 } + self.ntasks } /// If this is a dump from a single task, returns that task -- or None @@ -2156,56 +2085,34 @@ impl HubrisArchive { criteria: HubrisValidate, ) -> Result<()> { let ntasks = self.ntasks(); - - if self.current == 0 { - // - // If we have no objects, we were never loaded -- and we consider - // this to be validated because it will give no answers rather - // than wrong ones. - // - return Ok(()); - } - if core.is_net() || core.is_archive() { return Ok(()); } - // // To validate that what we're running on the target matches what // we have in the archive, we are going to check the image ID, an - // identifer created for this purpose. If we don't have an image ID, - // we check the legacy mechanism of the .hubris_app_table; if we - // don't have either of these, we don't have a way of validating the - // archive and we fail. - // - if let Some(imageid) = &self.imageid { - let addr = imageid.0; - let nbytes = imageid.1.len(); - assert!(nbytes > 0); - - let mut id = vec![0; nbytes]; - core.read_8(addr, &mut id[0..nbytes]).with_context(|| { - format!( - "failed to read image ID at 0x{:x}; board mismatch?", - addr - ) - })?; + // identifer created for this purpose. + let addr = self.imageid.0; + let nbytes = self.imageid.1.len(); + assert!(nbytes > 0); + + let mut id = vec![0; nbytes]; + core.read_8(addr, &mut id[0..nbytes]).with_context(|| { + format!("failed to read image ID at 0x{:x}; board mismatch?", addr) + })?; - let deltas = id - .iter() - .zip(imageid.1.iter()) - .filter(|&(lhs, rhs)| lhs != rhs) - .count(); + let deltas = id + .iter() + .zip(self.imageid.1.iter()) + .filter(|&(lhs, rhs)| lhs != rhs) + .count(); - if deltas > 0 || id.len() != imageid.1.len() { - bail!( + if deltas > 0 || id.len() != self.imageid.1.len() { + bail!( "image ID in archive ({:x?}) does not equal \ ID at 0x{:x} ({:x?})", - imageid.1, imageid.0, id, + self.imageid.1, self.imageid.0, id, ); - } - } else { - bail!("could not find HUBRIS_IMAGE_ID"); } if criteria == HubrisValidate::ArchiveMatch { @@ -2309,13 +2216,8 @@ impl HubrisArchive { // We don't use final.elf for much and don't keep it around in a // convenient buffer. So, go get it out of the archive. - let cursor = Cursor::new(self.archive()); - let mut archive = zip::ZipArchive::new(cursor)?; - let mut elf_file = archive - .by_name("img/final.elf") - .context("could not find final.elf in archive!")?; - let mut file_contents = vec![]; - elf_file.read_to_end(&mut file_contents)?; + let file_contents = + self.hubris_archive.extract_file("img/final.elf")?; let elf = Elf::parse(&file_contents).context("busted final ELF object")?; @@ -2414,12 +2316,12 @@ impl HubrisArchive { Ok(()) } - pub fn image_id_addr(&self) -> Option { - self.imageid.as_ref().map(|i| i.0) + pub fn image_id_addr(&self) -> u32 { + self.imageid.0 } - pub fn image_id(&self) -> Option<&[u8]> { - self.imageid.as_ref().map(|i| i.1.as_slice()) + pub fn image_id(&self) -> &[u8] { + &self.imageid.1 } pub fn member_offset( @@ -2720,10 +2622,6 @@ impl HubrisArchive { Ok(regions) } - pub fn dump_registers(&self) -> HashMap { - self.registers.clone() - } - pub fn registers( &self, core: &mut dyn crate::core::Core, @@ -2836,12 +2734,12 @@ impl HubrisArchive { // always 8-byte aligned; if we have our 17 floating point registers // here, we also have an unstored pad.) // - let (nregs_fp, align) = - if self.manifest.target.as_ref().unwrap() == "thumbv6m-none-eabi" { - (0, 0) - } else { - (17, 1) - }; + let (nregs_fp, align) = if self.manifest.target == "thumbv6m-none-eabi" + { + (0, 0) + } else { + (17, 1) + }; let nregs_frame: usize = NREGS_CORE + nregs_fp + align; @@ -3346,7 +3244,7 @@ impl HubrisArchive { notes.push(goblin::elf::note::Nhdr32 { n_namesz: (oxide.len() + 1) as u32, - n_descsz: self.archive.len() as u32, + n_descsz: self.hubris_archive.zip.len() as u32, n_type: OXIDE_NT_HUBRIS_ARCHIVE, }); @@ -3460,7 +3358,7 @@ impl HubrisArchive { } OXIDE_NT_HUBRIS_ARCHIVE => { - file.write_all(&self.archive)?; + file.write_all(&self.hubris_archive.zip)?; } OXIDE_NT_HUBRIS_TASK => { @@ -3524,15 +3422,12 @@ impl HubrisArchive { } pub fn extract_file_to(&self, filename: &str, target: &Path) -> Result<()> { - let cursor = Cursor::new(self.archive.as_slice()); - let mut archive = zip::ZipArchive::new(cursor)?; - let mut file = archive - .by_name(filename) + let bytes = self + .hubris_archive + .extract_file(filename) .map_err(|e| anyhow!("failed to find '{}': {}", filename, e))?; - let mut buffer = Vec::new(); - file.read_to_end(&mut buffer)?; - std::fs::write(target, &buffer).map_err(Into::into) + std::fs::write(target, &bytes).map_err(Into::into) } pub fn lookup_feature(&self, feature: &str) -> Result> { @@ -3602,78 +3497,23 @@ impl HubrisArchive { } pub fn lookup_i2c_bus(&self, bus: &str) -> Result<&HubrisI2cBus> { - self.manifest - .i2c_buses - .iter() - .find(|&b| b.name == Some(bus.to_string())) - .ok_or_else(|| anyhow!("couldn't find bus {}", bus)) + self.manifest.i2c_buses.lookup_i2c_bus(bus) } - /// - /// For a given controller and port name, return the matching port - /// (if any) + /// For a given controller and port name, return the matching port (if any) pub fn lookup_i2c_port( &self, controller: u8, port: &str, ) -> Result<&HubrisI2cPort> { - let mut found = false; - - for bus in &self.manifest.i2c_buses { - if bus.controller != controller { - continue; - } - - found = true; - - if bus.port.name.eq_ignore_ascii_case(port) { - return Ok(&bus.port); - } - } - - if !found { - bail!("unknown I2C controller {}", controller); - } - - let ports = self - .manifest - .i2c_buses - .iter() - .filter(|bus| bus.controller == controller) - .map(|bus| bus.port.name.clone()) - .collect::>() - .join(", "); - - bail!("invalid port \"{}\" (must be one of: {})", port, ports); + self.manifest.i2c_buses.lookup_i2c_port(controller, port) } /// /// For a given controller, return its port if there is only one, failing /// if there is more than one port. pub fn i2c_port(&self, controller: u8) -> Result<&HubrisI2cPort> { - let found = self - .manifest - .i2c_buses - .iter() - .filter(|bus| bus.controller == controller) - .collect::>(); - - if found.is_empty() { - bail!("unknown I2C controller {}", controller); - } else if found.len() == 1 { - Ok(&found[0].port) - } else { - let ports = found - .iter() - .map(|bus| bus.port.name.clone()) - .collect::>() - .join(", "); - - bail!( - "I2C{} has multiple ports; expected one of: {}", - controller, ports - ) - } + self.manifest.i2c_buses.i2c_port(controller) } pub fn clock( @@ -3708,8 +3548,8 @@ impl HubrisArchive { } } - pub fn archive(&self) -> &[u8] { - &self.archive + pub fn hubris_archive(&self) -> &RawHubrisArchive { + &self.hubris_archive } /// Reads the auxiliary flash data from a Hubris archive @@ -3717,18 +3557,12 @@ impl HubrisArchive { /// Returns `Ok(Some(...))` if the data is loaded, `Ok(None)` if the file /// is missing, or `Err(...)` if a zip file error occurred. pub fn read_file(&self, name: &str) -> Result>> { - let archive = self.archive(); - let cursor = Cursor::new(archive); - let mut archive = zip::ZipArchive::new(cursor)?; - let file = archive.by_name(name); - match file { - Ok(mut f) => { - let mut buffer = Vec::new(); - f.read_to_end(&mut buffer)?; - Ok(Some(buffer)) - } - Err(zip::result::ZipError::FileNotFound) => Ok(None), - Err(e) => bail!("Failed to extract {}: {}", name, e), + match self.hubris_archive.extract_file(name) { + Ok(s) => Ok(Some(s)), + Err(hubtools::Error::ZipError( + zip::result::ZipError::FileNotFound, + )) => Ok(None), + Err(e) => bail!("Failed to extract {name}: {e}"), } } @@ -3786,7 +3620,7 @@ impl HubrisArchive { /// meant to be used for parallel loading, after which point everything is /// merged using `HubrisArchive::merge`. struct HubrisObjectLoader { - current: u32, + object_id: u32, // image ID imageid: Option<(u32, Vec)>, @@ -3878,9 +3712,9 @@ struct HubrisObjectLoader { } impl HubrisObjectLoader { - fn new(current: u32) -> Result { - Ok(Self { - current, + fn new(object_id: u32) -> Self { + Self { + object_id, imageid: None, arrays: HashMap::new(), variables: MultiMap::new(), @@ -3908,7 +3742,65 @@ impl HubrisObjectLoader { structs_byname: MultiMap::new(), subprograms: HashMap::new(), syscall_pushes: HashMap::new(), - }) + } + } + + fn merge(&mut self, loader: HubrisObjectLoader) -> Result<()> { + if loader.imageid.is_some() { + self.imageid = loader.imageid; + } + self.esyms_byname.extend(loader.esyms_byname); + + self.esyms.extend(loader.esyms); + self.tasks.extend(loader.tasks); + self.modules.extend(loader.modules); + self.frames.extend(loader.frames); + self.loaded.extend(loader.loaded); + self.instrs.extend(loader.instrs); + self.syscall_pushes.extend(loader.syscall_pushes); + self.unions.extend(loader.unions); + self.src.extend(loader.src); + self.enums_byname.extend(loader.enums_byname); + self.structs_byname.extend(loader.structs_byname); + self.arrays.extend(loader.arrays); + self.basetypes.extend(loader.basetypes); + self.addr2line.extend(loader.addr2line); + self.basetypes_byname.extend(loader.basetypes_byname); + self.ptrtypes.extend(loader.ptrtypes); + self.inlined.extend(loader.inlined); + self.subprograms.extend(loader.subprograms); + self.dsyms.extend(loader.dsyms); + self.variables.extend(loader.variables); + self.qualified_variables.extend(loader.qualified_variables); + self.definitions.extend(loader.definitions); + + // Namespaces need to be shifted when merging into the global namespaces + // vec. This change applies to the `namespace` member in structs and + // enums, as well as the `namespaces` table itself. + let ns_offset = self.namespaces.0.len(); + + self.namespaces.0.extend(loader.namespaces.0.into_iter().map( + |mut v| { + if let Some(n) = &mut v.parent { + n.0 += ns_offset; + } + v + }, + )); + self.structs.extend(loader.structs.into_iter().map(|(goff, mut s)| { + if let Some(n) = &mut s.namespace { + n.0 += ns_offset; + } + (goff, s) + })); + self.enums.extend(loader.enums.into_iter().map(|(goff, mut s)| { + if let Some(n) = &mut s.namespace { + n.0 += ns_offset; + } + (goff, s) + })); + + Ok(()) } fn load_object( @@ -3974,7 +3866,7 @@ impl HubrisObjectLoader { let offset = textsec.sh_offset as u32; let textsize = textsec.sh_size as u32; - log::trace!("loading {} as object {}", object, self.current); + log::trace!("loading {} as object {}", object, self.object_id); for sym in elf.syms.iter() { if sym.st_name == 0 { @@ -4138,7 +4030,7 @@ impl HubrisObjectLoader { textsec.sh_addr as u32, HubrisModule { name: String::from(object), - object: self.current, + object: self.object_id, textbase: (textsec.sh_addr as u32), textsize, memsize: memsz as u32, @@ -4610,7 +4502,7 @@ impl HubrisObjectLoader { entry: &gimli::DebuggingInformationEntry, ) -> HubrisGoff { let goff = entry.offset().to_unit_section_offset(unit).0; - HubrisGoff { object: self.current, goff } + HubrisGoff { object: self.object_id, goff } } fn dwarf_union>( @@ -4772,7 +4664,7 @@ impl HubrisObjectLoader { } }; - Some(HubrisGoff { object: self.current, goff }) + Some(HubrisGoff { object: self.object_id, goff }) } fn dwarf_variant>( @@ -6524,7 +6416,9 @@ impl HubrisPrintFormat { #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub enum HubrisValidate { + /// Validate that the archive matches ArchiveMatch, + /// Validate that the archive matches and the system has booted Booted, } @@ -6542,9 +6436,6 @@ pub enum HubrisValidate { // #[derive(Debug)] enum ExternRegions { - /// We have not yet loaded any external regions - Unloaded, - /// We have the metadata to correlate addresses to regions ByAddress(HashMap), @@ -6554,26 +6445,20 @@ enum ExternRegions { } impl ExternRegions { - fn new() -> Self { - ExternRegions::Unloaded - } - /// /// Load external regions from the archive. Based on the presence of /// archive metadata, this will construct the necessary structures to /// correlate address to external region. /// fn load( - hubris: &HubrisArchive, - archive: &mut zip::ZipArchive>, + tasks: &HashMap, + archive: &RawHubrisArchive, config: &HubrisConfig, ) -> Result { - match archive.by_name("memory.toml") { - Ok(mut file) => { - let mut memory = String::new(); - file.read_to_string(&mut memory)?; + match archive.extract_file("memory.toml") { + Ok(file) => { let all_memories: IndexMap> = - toml::from_slice(memory.as_bytes())?; + toml::from_slice(&file)?; // // We have our memory metadata but it includes all memories @@ -6613,7 +6498,7 @@ impl ExternRegions { for (name, task) in &config.tasks { if task.extern_regions.is_some() { - set.insert(hubris.lookup_task(name).unwrap()); + set.insert(tasks.get(name).copied().unwrap()); } } @@ -6631,7 +6516,6 @@ impl ExternRegions { match self { ExternRegions::ByAddress(map) => map.contains_key(&address), ExternRegions::ByTask(set) => dma && set.contains(&task), - ExternRegions::Unloaded => panic!("no archive has been loaded"), } } diff --git a/humility-core/src/reflect.rs b/humility-core/src/reflect.rs index 3654fe454..b19c4916c 100644 --- a/humility-core/src/reflect.rs +++ b/humility-core/src/reflect.rs @@ -139,7 +139,7 @@ impl Value { Value::Struct(s) => { v = s.get(f).ok_or_else(|| { anyhow!( - "could not field field `{f}`; \ + "could not find field `{f}`; \ available fields are {:?}", s.members .keys() @@ -529,6 +529,14 @@ impl Struct { { self.members.get(name).map(Box::as_ref) } + + /// Loads the field with name `name` if it exists + pub fn field(&self, name: &str) -> Result { + let Some(v) = self.members.get(name) else { + bail!("no such field {name}"); + }; + T::from_value(v) + } } /// Allows access to struct members using `s["foo"]`. @@ -592,6 +600,14 @@ impl Tuple { pub fn name(&self) -> &str { self.0.as_str() } + + /// Loads the field with index `i` if it exists + pub fn field(&self, index: usize) -> Result { + let Some(v) = self.1.get(index) else { + bail!("field {index} is not in range 0..{}", self.1.len()); + }; + T::from_value(v) + } } /// Allows the tuple to be treated like a slice, e.g. with `len()` and indexing. @@ -1035,6 +1051,46 @@ impl Load for Enum { } } +impl Load for Struct { + fn from_value(v: &Value) -> Result { + if let Value::Struct(v) = v { + Ok(v.clone()) + } else { + bail!("expected struct, got {v:?}"); + } + } +} + +impl Load for Tuple { + fn from_value(v: &Value) -> Result { + if let Value::Tuple(v) = v { + Ok(v.clone()) + } else { + bail!("expected tuple, got {v:?}"); + } + } +} + +impl Load for Array { + fn from_value(v: &Value) -> Result { + if let Value::Array(v) = v { + Ok(v.clone()) + } else { + bail!("expected array, got {v:?}"); + } + } +} + +impl Load for Base { + fn from_value(v: &Value) -> Result { + if let Value::Base(v) = v { + Ok(v.clone()) + } else { + bail!("expected base, got {v:?}"); + } + } +} + impl Load for bool { fn from_value(v: &Value) -> Result { v.as_base()?.as_bool().ok_or_else(|| anyhow!("not a bool: {:?}", v)) @@ -1071,12 +1127,11 @@ impl Load for f32 { } } -impl Load for Array { +impl Load for () { fn from_value(v: &Value) -> Result { - if let Value::Array(v) = v { - Ok(v.clone()) - } else { - bail!("expected array, got {v:?}"); + match v.as_base()? { + Base::U0 => Ok(()), + b => bail!("expected U0, got base {b:?}"), } } } diff --git a/humility-doppel/src/lib.rs b/humility-doppel/src/lib.rs index f5e32e080..dad4ecc10 100644 --- a/humility-doppel/src/lib.rs +++ b/humility-doppel/src/lib.rs @@ -387,38 +387,23 @@ pub enum CounterVariant { } #[derive(Clone, Debug, Load)] -pub struct ClaimOnceCell { - pub cell: UnsafeCell, +pub struct ClaimOnceCell { + pub cell: UnsafeCell, } #[derive(Clone, Debug, Load)] -pub struct StaticCell { - pub cell: UnsafeCell, +pub struct StaticCell { + pub cell: UnsafeCell, } #[derive(Clone, Debug, Load)] -pub struct UnsafeCell { - pub value: Value, -} - -#[derive(Clone, Debug)] -pub struct MaybeUninit { +pub struct UnsafeCell { pub value: T, } -impl humility::reflect::Load for MaybeUninit { - fn from_value(v: &Value) -> Result { - let v_struct = v.as_struct()?; - anyhow::ensure!( - v_struct.name().starts_with("MaybeUninit"), - "expected MaybeUninit, got {:?}", - v_struct.name() - ); - let value = v_struct - .get("value") - .ok_or_else(|| anyhow!("missing `value` member"))?; - T::from_value(value).map(|value| Self { value }) - } +#[derive(Clone, Debug, Load)] +pub struct MaybeUninit { + pub value: T, } /// Double of the struct from `udprpc` @@ -571,13 +556,9 @@ impl humility::reflect::Load for CounterVariant { let counter = value.as_struct()?; if counter.name().starts_with("AtomicU32") { - let cell = UnsafeCell::from_value(&counter["v"])?; - return cell - .value - .as_base()? - .as_u32() - .map(Self::Single) - .ok_or_else(|| anyhow::anyhow!("ringbuf count must be a u32")); + let cell = UnsafeCell::::from_value(&counter["v"]) + .context("ringbuf count must be a u32")?; + return Ok(Self::Single(cell.value)); } Ok(Self::Nested(Counters::from_value(value)?)) diff --git a/humility-dump-agent/src/udp.rs b/humility-dump-agent/src/udp.rs index 5d479bb61..851d05034 100644 --- a/humility-dump-agent/src/udp.rs +++ b/humility-dump-agent/src/udp.rs @@ -11,7 +11,7 @@ pub struct UdpDumpAgent<'a> { } impl<'a> UdpDumpAgent<'a> { - pub fn new(core: &'a mut dyn Core, image_id: &Vec) -> Result { + pub fn new(core: &'a mut dyn Core, image_id: &[u8]) -> Result { let mut udp_dump = Self { core }; udp_dump.check_imageid(image_id)?; @@ -83,7 +83,7 @@ impl<'a> UdpDumpAgent<'a> { Ok(reply) } - fn check_imageid(&mut self, image_id: &Vec) -> Result<()> { + fn check_imageid(&mut self, image_id: &[u8]) -> Result<()> { let r = self.dump_remote_action(humpty::udp::Request::GetImageId)?; match r { diff --git a/humility-hiffy/Cargo.toml b/humility-hiffy/Cargo.toml index ce1194341..a7b94d3ea 100644 --- a/humility-hiffy/Cargo.toml +++ b/humility-hiffy/Cargo.toml @@ -7,7 +7,6 @@ edition.workspace = true anyhow.workspace = true hif.workspace = true idol.workspace = true -parse_int.workspace = true postcard.workspace = true thiserror.workspace = true zerocopy.workspace = true diff --git a/humility-hiffy/src/lib.rs b/humility-hiffy/src/lib.rs index 64e99fe17..b19d1cc7d 100644 --- a/humility-hiffy/src/lib.rs +++ b/humility-hiffy/src/lib.rs @@ -362,6 +362,21 @@ impl<'a> HiffyContext<'a> { .unwrap_or(Ok(256))? }; + let functions = Self::get_hiffy_functions(hubris)?; + + Ok(Self { + hubris, + hiffy, + scratch_size, + timeout, + state: State::Initialized, + functions, + }) + } + + pub fn get_hiffy_functions( + hubris: &'a HubrisArchive, + ) -> Result { let mut function_map = HashMap::new(); let funcs = Self::definition(hubris, "HIFFY_FUNCTIONS")?; let goff = hubris @@ -435,15 +450,7 @@ impl<'a> HiffyContext<'a> { function_map.insert(func.name.clone(), func); } - - Ok(Self { - hubris, - hiffy, - scratch_size, - timeout, - state: State::Initialized, - functions: HiffyFunctions(function_map), - }) + Ok(HiffyFunctions(function_map)) } /// Returns the size of the `HIFFY_DATA` array, or 0 if unsupported @@ -644,7 +651,7 @@ impl<'a> HiffyContext<'a> { let socket = workspace.socket.as_ref().unwrap(); let mut buf = vec![0u8; socket.tx.bytes]; - let image_id = hubris.image_id().unwrap(); + let image_id = hubris.image_id(); let header = RpcHeader { image_id: U64::from_bytes(image_id.try_into().unwrap()), @@ -814,7 +821,7 @@ impl<'a> HiffyContext<'a> { .lookup_variant_by_tag(Tag::from(buf[0])) { Some(e) => { - let image_id = self.hubris.image_id().unwrap(); + let image_id = self.hubris.image_id(); let msg = format!("RPC error: {}", e.name); if e.name == "BadImageId" { bail!( @@ -1036,7 +1043,7 @@ impl<'a> HiffyContext<'a> { } HiffyImpl::NetHiffy { vars, ops, errs } => { let image_id = u64::from_le_bytes( - self.hubris.image_id().unwrap().try_into().unwrap(), + self.hubris.image_id().try_into().unwrap(), ); let buf_size = self .hubris @@ -1431,11 +1438,22 @@ fn has_task_started( } } -/// Executes a Hiffy call, printing the output to the terminal +/// Error returned from [`hiffy_call`] +#[derive(thiserror::Error, Debug)] +pub enum HiffyCallError { + /// A function called in the HIF program returned an error + #[error("hiffy error: {0}")] + Hiffy(String), + /// There was an error invoking the HIF program + #[error(transparent)] + Other(#[from] anyhow::Error), +} + +/// Executes a Hiffy call, returning the output value /// /// Returns an outer error if Hiffy communication fails, or an inner error /// if the Hiffy call returns an error code (formatted as a String). -pub fn hiffy_call( +pub fn hiffy_call( hubris: &HubrisArchive, core: &mut dyn Core, context: &mut HiffyContext, @@ -1443,7 +1461,7 @@ pub fn hiffy_call( args: &[(&str, idol::IdolArgument)], lease_write: Option<&[u8]>, lease_read: Option<&mut [u8]>, -) -> Result> { +) -> Result { check_op(op)?; check_leases(op, lease_write, lease_read.as_deref())?; @@ -1481,7 +1499,10 @@ pub fn hiffy_call( let mut results = context.run(core, ops.as_slice(), lease_write)?; if results.len() != 1 { - bail!("unexpected results length: {:?}", results); + return Err(HiffyCallError::Other(anyhow!( + "unexpected results length: {:?}", + results + ))); } let mut v: Result, IpcError> = results.pop().unwrap(); @@ -1500,22 +1521,22 @@ pub fn hiffy_call( } _ => hiffy_decode(hubris, op, v)?, }; - Ok(out) + out.map_err(HiffyCallError::Hiffy) } /// Decodes a value returned from [hiffy_call] or equivalent. /// /// Returns an outer error if decoding fails, or an inner error if the Hiffy /// call returns an error code (formatted as a String). -pub fn hiffy_decode( +pub fn hiffy_decode( hubris: &HubrisArchive, op: &idol::IdolOperation, val: Result, impl Into>, -) -> Result> { +) -> Result> { let r = match val.map_err(Into::into) { Ok(val) => { let ty = hubris.lookup_type(op.ok).unwrap(); - Ok(match op.operation.encoding { + let value = match op.operation.encoding { ::idol::syntax::Encoding::Zerocopy => { humility::reflect::load_value(hubris, &val, ty, 0)? } @@ -1523,7 +1544,8 @@ pub fn hiffy_decode( | ::idol::syntax::Encoding::Hubpack => { humility::reflect::deserialize_value(hubris, &val, ty)?.0 } - }) + }; + Ok(T::from_value(&value)?) } Err(IpcError::Error(e)) => match op.error { idol::IdolError::CLike(error) => { diff --git a/humility-net-core/src/lib.rs b/humility-net-core/src/lib.rs index 59637ff03..fa08b8541 100644 --- a/humility-net-core/src/lib.rs +++ b/humility-net-core/src/lib.rs @@ -96,12 +96,7 @@ impl NetCore { hiffy_socket, flash: HubrisFlashMap::new(hubris)?, ram: None, // filled in below - imageid: hubris - .imageid - .as_ref() - .ok_or_else(|| anyhow!("missing image ID"))? - .1 - .clone(), + imageid: hubris.image_id().to_owned(), }; // Check for the existence of the DumpAgent.dump_task_region API, which diff --git a/humility-probes-core/src/lib.rs b/humility-probes-core/src/lib.rs index e53214563..89ca2e881 100644 --- a/humility-probes-core/src/lib.rs +++ b/humility-probes-core/src/lib.rs @@ -9,7 +9,6 @@ use ::probe_rs::{ use humility::core::{Core, ProbeError}; use anyhow::{Result, anyhow, bail}; -use humility::hubris::HubrisArchive; use humility::msg; mod probe_rs; @@ -228,14 +227,3 @@ pub fn attach_for_flashing( ) -> Result> { attach_to_chip(probe, Some(chip), speed_khz) } - -pub fn attach( - probe: &str, - hubris: &HubrisArchive, - speed_khz: Option, -) -> Result> { - match hubris.chip() { - Some(s) => attach_to_chip(probe, Some(&s), speed_khz), - None => attach_to_chip(probe, None, speed_khz), - } -} diff --git a/humility-spd/src/lib.rs b/humility-spd/src/lib.rs index f88cb0f23..28b46709e 100644 --- a/humility-spd/src/lib.rs +++ b/humility-spd/src/lib.rs @@ -5,7 +5,7 @@ use humility::hubris::*; use humility::{ reflect, - reflect::{Base, Load, Value}, + reflect::{Base, Value}, }; use humility_doppel as doppel; @@ -66,18 +66,11 @@ pub fn spd_lookup( .collect(), )) } else if let Ok(var) = hubris.lookup_qualified_variable(PACKRAT_BUF_NAME) { - let var_ty = hubris.lookup_type(var.goff)?; - let mut buf: Vec = vec![0u8; var.size]; - - core.halt()?; - core.read_8(var.addr, &mut buf)?; - core.run()?; - - let v = reflect::load_value(hubris, &buf, var_ty, 0)?; - let as_static_cell = doppel::ClaimOnceCell::from_value(&v)?; - let Value::Struct(packrat_bufs) = &as_static_cell.cell.value else { - bail!("expected {PACKRAT_BUF_NAME} to be a struct"); - }; + let packrat_bufs = reflect::read_variable::< + doppel::ClaimOnceCell, + >(hubris, core, var)? + .cell + .value; let Some(Value::Struct(compute_sled_bufs)) = packrat_bufs .get("gimlet_bufs") .or_else(|| packrat_bufs.get("cosmo_bufs")) @@ -114,24 +107,8 @@ pub fn spd_lookup( out } Value::Struct(s) => { - let Some(Value::Array(a)) = s.get("spd_data") else { - bail!("expected `spd_data` to be an array"); - }; - let mut out = Vec::with_capacity(a.len()); - for a in a.iter() { - let Value::Array(a) = a else { - bail!("expected array-of-arrays"); - }; - let mut chunk = Vec::with_capacity(a.len()); - for v in a.iter() { - let Value::Base(Base::U8(b)) = v else { - bail!("expected `u8` array"); - }; - chunk.push(*b); - } - out.push(SpdData(chunk)) - } - out + let out = s.field::>>("spd_data")?; + out.into_iter().map(SpdData).collect() } _ => bail!("expected `spd_data` to be an array or struct"), }; diff --git a/load_derive/src/lib.rs b/load_derive/src/lib.rs index 5353da204..383b75dcc 100644 --- a/load_derive/src/lib.rs +++ b/load_derive/src/lib.rs @@ -12,10 +12,10 @@ pub fn load_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let ts = match &input.data { syn::Data::Struct(data) => match &data.fields { syn::Fields::Named(fields) => { - gen_named_struct(&input.ident, fields) + gen_named_struct(&input.ident, &input.generics, fields) } syn::Fields::Unnamed(fields) => { - gen_unnamed_struct(&input.ident, fields) + gen_unnamed_struct(&input.ident, &input.generics, fields) } syn::Fields::Unit => { unimplemented!( @@ -31,6 +31,56 @@ pub fn load_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream { proc_macro::TokenStream::from(ts) } +/// Returns generics to go by the `impl` keyword (e.g. ``) +fn impl_generics(g: &syn::Generics) -> Option { + if g.lt_token.is_some() { + let iter = g + .params + .iter() + .flat_map(|p| { + if let syn::GenericParam::Type(t) = p { + let mut t = t.clone(); + t.attrs.clear(); + t.eq_token = None; + t.default = None; + Some(quote_spanned!(p.span()=>#t)) + } else { + None + } + }) + .collect::>(); + Some(quote_spanned!(g.span()=><#(#iter),*>)) + } else { + None + } +} + +/// Returns generics to go by the `struct` keyword (e.g. ``) +fn struct_generics(g: &syn::Generics) -> Option { + if g.lt_token.is_some() { + let iter = g + .params + .iter() + .flat_map(|p| { + if let syn::GenericParam::Type(t) = p { + let mut t = t.clone(); + t.attrs.clear(); + t.colon_token = None; + t.bounds.clear(); + t.eq_token = None; + t.default = None; + Some(quote_spanned!(p.span()=>#t)) + } else { + None + } + }) + .collect::>(); + Some(quote_spanned!(g.span()=><#(#iter),*>)) + } else { + None + } +} + fn gen_enum( ident: &syn::Ident, data: &syn::DataEnum, @@ -128,6 +178,7 @@ fn gen_enum( fn gen_named_struct( ident: &syn::Ident, + generics: &syn::Generics, fields: &syn::FieldsNamed, ) -> proc_macro2::TokenStream { let field_name_strs = fields.named.iter().map(|fld| { @@ -144,8 +195,10 @@ fn gen_named_struct( }); let field_defs = field_defs.collect::(); + let impl_generics = impl_generics(generics); + let struct_generics = struct_generics(generics); quote_spanned!(ident.span()=> - impl humility::reflect::Load for #ident { + impl #impl_generics humility::reflect::Load for #ident #struct_generics { fn from_value(v: &humility::reflect::Value) -> anyhow::Result { let v = v.as_struct()?; v.check_members(&[#field_name_strs])?; @@ -159,6 +212,7 @@ fn gen_named_struct( fn gen_unnamed_struct( ident: &syn::Ident, + generics: &syn::Generics, fields: &syn::FieldsUnnamed, ) -> proc_macro2::TokenStream { let len = fields.unnamed.len(); @@ -177,8 +231,10 @@ fn gen_unnamed_struct( }); let field_uses = field_uses.collect::(); + let impl_generics = impl_generics(generics); + let struct_generics = struct_generics(generics); quote_spanned!(ident.span()=> - impl humility::reflect::Load for #ident { + impl #impl_generics humility::reflect::Load for #ident #struct_generics { fn from_value(v: &humility::reflect::Value) -> anyhow::Result { let v = v.as_tuple()?; if v.len() != #len {