mirror of
https://github.com/LongSoft/UEFITool.git
synced 2025-05-30 06:55:18 -04:00
Add EDK2 FTW parser
This commit is contained in:
parent
e00fc916bb
commit
271465eb61
8 changed files with 331 additions and 6 deletions
48
common/ksy/edk2_ftw.ksy
Normal file
48
common/ksy/edk2_ftw.ksy
Normal file
|
@ -0,0 +1,48 @@
|
|||
meta:
|
||||
id: edk2_ftw
|
||||
title: EDK2 Fault Tolerant Write NVRAM store
|
||||
application: EDK2-based UEFI firmware
|
||||
file-extension: ftw
|
||||
tags:
|
||||
- firmware
|
||||
license: CC0-1.0
|
||||
ks-version: 0.9
|
||||
endian: le
|
||||
|
||||
seq:
|
||||
- id: signature
|
||||
type: u4
|
||||
valid:
|
||||
expr: _ == 0xFFF12B8D or _ == 0x9E58292B
|
||||
- id: signature_main
|
||||
contents: [0x96, 0x76, 0x8B, 0x4C, 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50] # FF12B8D-7696-4C8B-A985-2747075B4F50
|
||||
if: signature == 0xFFF12B8D
|
||||
- id: signature_edk2_working_block
|
||||
contents: [0x68, 0x7C, 0x7D, 0x49, 0x0A, 0xCE, 0x65, 0x00, 0xFD, 0x9F, 0x1B, 0x95] # 9E58292B-7C68-497D-0ACE-6500FD9F1B95
|
||||
if: signature == 0x9E58292B
|
||||
- id: signature_vss2_working_block
|
||||
contents: [0x68, 0x7C, 0x7D, 0x49, 0xA0, 0xCE, 0x65, 0x00, 0xFD, 0x9F, 0x1B, 0x95] # 9E58292B-7C68-497D-A0CE-6500FD9F1B95
|
||||
if: signature == 0x9E58292B
|
||||
- id: crc
|
||||
type: u4
|
||||
- id: state
|
||||
type: u1
|
||||
- id: reserved
|
||||
size: 3
|
||||
- id: len_write_queue_32
|
||||
type: u4
|
||||
- id: len_write_queue_64
|
||||
type: u4
|
||||
if: len_write_queue_32 % 0x10 == 0
|
||||
- id: write_queue_32
|
||||
size: len_write_queue_32
|
||||
if: len_write_queue_32 % 0x10 == 0x04
|
||||
- id: write_queue_64
|
||||
size: ((len_write_queue_64.as<u8>) << 32) + len_write_queue_32
|
||||
if: len_write_queue_32 % 0x10 == 0
|
||||
|
||||
instances:
|
||||
len_ftw_store_header_32:
|
||||
value: 28
|
||||
len_ftw_store_header_64:
|
||||
value: 32
|
Loading…
Add table
Add a link
Reference in a new issue