intelflash/
flash.rs

1// SPDX-License-Identifier: MIT
2
3use plain::Plain;
4
5#[repr(packed)]
6pub struct Descriptor {
7    pub valsig: u32,
8    pub map0: u32,
9    pub map1: u32,
10    pub map2: u32,
11    _reserved: [u8; 0xefc - 0x20],
12    pub umap1: u32,
13}
14
15unsafe impl Plain for Descriptor {}
16
17#[repr(packed)]
18pub struct Region {
19    pub data: [u32; 9],
20}
21
22unsafe impl Plain for Region {}
23
24#[repr(packed)]
25pub struct Component {
26    pub comp: u32,
27    pub ill: u32,
28    pub pb: u32,
29}
30
31unsafe impl Plain for Component {}
32
33#[repr(packed)]
34pub struct PchStrap {
35    pub data: [u32; 18],
36}
37
38unsafe impl Plain for PchStrap {}
39
40#[repr(packed)]
41pub struct Master {
42    pub mstr1: u32,
43    pub mstr2: u32,
44    pub mstr3: u32,
45    pub mstr4: u32,
46    pub mstr5: u32,
47}
48
49unsafe impl Plain for Master {}
50
51#[repr(packed)]
52pub struct ProcStrap {
53    pub data: [u32; 8]
54}
55
56unsafe impl Plain for ProcStrap {}