Skip to content

Code First: Remove the restriction on "Package" of Properties of the Package() data structure #29

@edhay

Description

@edhay

Description
The UEFI DSD Guide defines the data structure format for Package() in
section "3.1.1. Data Format Definition"

"data format for the Package() (Data Structure) immediately following it as a list of Packages of length two (2), known as Properties. The first element of each Property (the Key) must be a String and the second element (the Value) must be:
an Integer,
a String,
a Reference, or
a Package consisting entirely of Integer, String, or Reference objects (and specifically not containing a nested Package)"

The Package (the value of the <key, value> pair) is restricted to consist of "entirely of Integer, String, or Reference objects (and specifically not containing a nested Package)." is not valid as
as we have examples of nested Packages

Reference: "Arm Firmware Framework for Arm A-profile" https://developer.arm.com/documentation/den0077/m/?lang=en
18.8.2.1 FF-A Notifications Property
Package {
Revision, // Integer (DWORD)
Count, // Integer (DWORD)
NTF_Package[1], // Package
...
NTF_Package[N] // Package
}

Proposal -- updated

3.1.1. Data Format Definition
...
...
  an Integer,
  a String,
- a Reference, or
+ a Reference (but not referencing a package which in turn contains nested package references), or
- a Package consisting entirely of Integer, String, or Reference objects
- (and specifically not containing a nested Package).
+ a Package (but not containing a reference to another Package).

Benefits of this change
The Package value will be able to accommodate nested Packages and more.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions