Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
12 changes: 7 additions & 5 deletions lib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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();
Expand All @@ -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 });
```

Expand Down
Loading