UEFITool/common/ksy/intel_acm.ksy

95 lines
1.8 KiB
Plaintext
Raw Normal View History

meta:
id: intel_acm
title: Intel Authenticated Code Module
application: Intel x86 firmware
file-extension: acm
tags:
- executable
- firmware
license: CC0-1.0
ks-version: 0.9
endian: le
enums:
module_subtype:
0: txt
1: startup
3: boot_guard
known_header_version:
0x00000000: v0_0
0x00030000: v3_0
seq:
- id: header
type: header
- id: body
size: 4 * (header.module_size - header.header_size - header.scratch_space_size)
types:
header:
seq:
- id: module_type
type: u2
valid: 0x0002
- id: module_subtype
type: u2
enum: module_subtype
- id: header_size
type: u4
doc: counted in 4 byte increments
- id: header_version
type: u4
- id: chipset_id
type: u2
- id: flags
type: u2
- id: module_vendor
type: u4
valid: 0x8086
- id: date_day
type: u1
doc: BCD
- id: date_month
type: u1
doc: BCD
- id: date_year
type: u2
doc: BCD
- id: module_size
type: u4
doc: counted in 4 byte increments
- id: acm_svn
type: u2
- id: se_svn
type: u2
- id: code_control_flags
type: u4
- id: error_entry_point
type: u4
- id: gdt_max
type: u4
- id: gdt_base
type: u4
- id: segment_sel
type: u4
- id: entry_point
type: u4
- id: reserved
size: 64
- id: key_size
type: u4
doc: counted in 4 byte increments
- id: scratch_space_size
type: u4
doc: counted in 4 byte increments
- id: rsa_public_key
size: (4 * key_size)
- id: rsa_exponent
type: u4
if: header_version == 0
- id: rsa_signature
size: (4 * key_size)
- id: scratch_space
size: (4 * scratch_space_size)