diff --git a/README.md b/README.md index c3c500d..f3b1972 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,11 @@ decoding and extracting data using IntelĀ® Crash Log Technology. It can function as a standalone application or be integrated into other applications. >[!WARNING] -> This tool is in the early stages of development and does not yet support all -> platforms utilizing Crash Log technology. However, it can decode the common -> header structure on unsupported platforms. We are actively working to expand -> platform support. Additionally, the set of registers collected may vary -> between projects. +> This tool supports a limited number of platforms utilizing Crash Log +> technology. However, it can decode the common Crash Log header structure on +> unsupported platforms. We are actively working to expand platform support. +> Additionally, the set of registers collected may vary between projects and +> the register layout may be updated in future releases. ## What is IntelĀ® Crash Log Technology? @@ -30,6 +30,8 @@ the EFI shell. - Extract Intel Crash Log records from Windows Event Logs, Linux sysfs, and the EFI shell. +- Store and convert the Intel Crash Log records in the UEFI CPER format + (as described in the UEFI Specification Appendix N). - Decode Intel Crash Log records and export the content as JSON. ## Repository Structure diff --git a/app/README.md b/app/README.md index 7b62792..a8bdba1 100644 --- a/app/README.md +++ b/app/README.md @@ -29,7 +29,7 @@ To build and install the application, follow these steps: ## Usage For detailed usage instructions, please refer to the -[main README](../README.md#Usages). +[main README](../README.md#Usage). ## Development diff --git a/lib/README.md b/lib/README.md index b0ad990..df0c1df 100644 --- a/lib/README.md +++ b/lib/README.md @@ -10,6 +10,7 @@ the library. - Offers FFI to interface with non-Rust applications. - Supports `no_std`. +- Follows [Semantic Versioning](https://semver.org/) convention. ## Usage @@ -99,7 +100,7 @@ Intel products. You can access the high-level information stored in the records as follows: ```rust -use intel_crashlog::CrashLog; +use intel_crashlog::prelude::*; // Read the Crash Log binary from a file let data = std::fs::read("tests/samples/dummy_mca_rev1.crashlog").unwrap(); @@ -152,8 +153,7 @@ collateral manager. This manager provides unified access to product-specific definitions. ```rust -use intel_crashlog::{CrashLog, CollateralManager}; -use intel_crashlog::node::NodeType; +use intel_crashlog::prelude::*; // Read the Crash Log binary from a file. let data = std::fs::read("tests/samples/dummy_mca_rev1.crashlog").unwrap(); @@ -168,11 +168,13 @@ let mut cm = CollateralManager::embedded_tree().unwrap(); let nodes = crashlog.decode(&mut cm); // Get the status register of the fourth MCA bank from the register tree. -let status = nodes.get_by_path("core0.thread.arch_state.mca.bank3.status").unwrap(); +let status = nodes.get_by_path( + "pcore.core0.thread0.thread.arch_state.mca.bank3.status" +).unwrap(); assert_eq!(status.kind, NodeType::Field { value: 0xbe000000e1840400 }); // Get the instruction pointer of the first core. -let lip = nodes.get_by_path("core0.thread.arch_state.lip").unwrap(); +let lip = nodes.get_by_path("pcore.core0.thread0.thread.arch_state.lip").unwrap(); assert_eq!(lip.kind, NodeType::Field { value: 0xfffff80577036530 }); ```