target/virt-ast1060-evb: add QEMU mctp-requester build target Add a virt-ast1060-evb configuration for the in-process SPDM requester, enabling integration testing under patched QEMU with Aspeed I2C emulation without requiring physical AST1060-EVB hardware. - system.json5: two-process layout (i2c_server + mctp_server_requester), 640 KB SRAM, ASPEED I2C MMIO at 0x7e7b0000/0x7e6e2000 - target.rs: semihosting shim; shutdown() exits QEMU with pass/fail code - BUILD.bazel: inline rust_app expansion (rust_app_codegen + app_linker_script + rust_binary) to avoid codegen_crate_name collision with the hw target in //services/mctp/server - services/mctp/server/BUILD.bazel: exports_files(["src/main.rs"]) so the virt BUILD can reference the shared entry point Signed-off-by: Anthony Rocha <anthony.rocha@amd.com>
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
This project uses cargo-xtask for build automation and project management.
You can run tasks using cargo xtask <task-name>:
cargo xtask build - Build the projectcargo xtask test - Run all testscargo xtask check - Run cargo checkcargo xtask clippy - Run clippy lintscargo xtask fmt - Format code with rustfmtcargo xtask clean - Clean build artifactscargo xtask dist - Build a distribution (release build)cargo xtask docs - Build documentation with mdbookcargo xtask cargo-lock - Manage Cargo.lock filecargo xtask precheckin - Run all pre-checkin validation checkscargo xtask header-check - Check license headers in source filescargo xtask header-fix - Fix missing license headers in source files# Build the project cargo xtask build # Run tests cargo xtask test # Create a distribution cargo xtask dist # Format code cargo xtask fmt # Run clippy cargo xtask clippy # Build documentation cargo xtask docs # Run all pre-checkin validation checks cargo xtask precheckin # Check license headers cargo xtask header-check # Fix missing license headers cargo xtask header-fix
The project is structured as a Cargo workspace with two main components:
openprot/ - The main applicationxtask/ - Build automation scriptsThe xtask workflow allows you to add custom build steps, automation, and project management tasks written in Rust, making them cross-platform and easy to maintain.
No additional tools are required - everything is handled through Cargo and the xtask scripts.