diff mbox series

[v2,09/12] pc-bios: document the edk2 firmware images; add firmware descriptors

Message ID 20190313210057.32584-10-lersek@redhat.com
State New
Headers show
Series bundle edk2 platform firmware with QEMU | expand

Commit Message

Laszlo Ersek March 13, 2019, 9 p.m. UTC
Update the README file with information on the images added previously,
and provide firmware descriptor documents that conform to
"docs/interop/firmware.json".

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---

Notes:
    v2:
    
    - refer to "edk2-*.fd.xz" rather than "edk2-*.fd" in the README hunk
      [Dan, Michael, Phil]
    
    - pick up Michal's and Michael's R-b's

 pc-bios/descriptors/50-edk2-i386-secure.json   | 34 +++++++++++++++++++
 pc-bios/descriptors/50-edk2-x86_64-secure.json | 35 ++++++++++++++++++++
 pc-bios/descriptors/60-edk2-aarch64.json       | 31 +++++++++++++++++
 pc-bios/descriptors/60-edk2-arm.json           | 31 +++++++++++++++++
 pc-bios/descriptors/60-edk2-i386.json          | 33 ++++++++++++++++++
 pc-bios/descriptors/60-edk2-x86_64.json        | 34 +++++++++++++++++++
 pc-bios/README                                 | 11 ++++++
 7 files changed, 209 insertions(+)

Comments

Daniel P. Berrangé March 15, 2019, 11:31 a.m. UTC | #1
On Wed, Mar 13, 2019 at 10:00:54PM +0100, Laszlo Ersek wrote:
> Update the README file with information on the images added previously,
> and provide firmware descriptor documents that conform to
> "docs/interop/firmware.json".
> 
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> 
> Notes:
>     v2:
>     
>     - refer to "edk2-*.fd.xz" rather than "edk2-*.fd" in the README hunk
>       [Dan, Michael, Phil]
>     
>     - pick up Michal's and Michael's R-b's
> 
>  pc-bios/descriptors/50-edk2-i386-secure.json   | 34 +++++++++++++++++++
>  pc-bios/descriptors/50-edk2-x86_64-secure.json | 35 ++++++++++++++++++++
>  pc-bios/descriptors/60-edk2-aarch64.json       | 31 +++++++++++++++++
>  pc-bios/descriptors/60-edk2-arm.json           | 31 +++++++++++++++++
>  pc-bios/descriptors/60-edk2-i386.json          | 33 ++++++++++++++++++
>  pc-bios/descriptors/60-edk2-x86_64.json        | 34 +++++++++++++++++++
>  pc-bios/README                                 | 11 ++++++

One day we should rename this directory to just "roms" or something
like that. We use of for lots of stuff unrelated to the x86 pc
machine :-)

Regards,
Daniel
Laszlo Ersek March 20, 2019, 10:29 a.m. UTC | #2
On 03/15/19 12:31, Daniel P. Berrangé wrote:
> On Wed, Mar 13, 2019 at 10:00:54PM +0100, Laszlo Ersek wrote:
>> Update the README file with information on the images added previously,
>> and provide firmware descriptor documents that conform to
>> "docs/interop/firmware.json".
>>
>> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
>> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
>> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>> ---
>>
>> Notes:
>>     v2:
>>     
>>     - refer to "edk2-*.fd.xz" rather than "edk2-*.fd" in the README hunk
>>       [Dan, Michael, Phil]
>>     
>>     - pick up Michal's and Michael's R-b's
>>
>>  pc-bios/descriptors/50-edk2-i386-secure.json   | 34 +++++++++++++++++++
>>  pc-bios/descriptors/50-edk2-x86_64-secure.json | 35 ++++++++++++++++++++
>>  pc-bios/descriptors/60-edk2-aarch64.json       | 31 +++++++++++++++++
>>  pc-bios/descriptors/60-edk2-arm.json           | 31 +++++++++++++++++
>>  pc-bios/descriptors/60-edk2-i386.json          | 33 ++++++++++++++++++
>>  pc-bios/descriptors/60-edk2-x86_64.json        | 34 +++++++++++++++++++
>>  pc-bios/README                                 | 11 ++++++
> 
> One day we should rename this directory to just "roms" or something
> like that. We use of for lots of stuff unrelated to the x86 pc
> machine :-)

True!

"roms" exists already, so maybe "firmware-blobs" or something similar.
Whatever we choose, the renaming will affect a good amount of source
code too (makefiles primarily).

Thanks
Laszlo
diff mbox series

Patch

diff --git a/pc-bios/descriptors/50-edk2-i386-secure.json b/pc-bios/descriptors/50-edk2-i386-secure.json
new file mode 100644
index 000000000000..d7108c1da05a
--- /dev/null
+++ b/pc-bios/descriptors/50-edk2-i386-secure.json
@@ -0,0 +1,34 @@ 
+{
+    "description": "UEFI firmware for i386, with Secure Boot and SMM",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "flash",
+        "executable": {
+            "filename": "@DATADIR@/edk2-i386-secure-code.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "@DATADIR@/edk2-i386-vars.fd",
+            "format": "raw"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "i386",
+            "machines": [
+                "pc-q35-*"
+            ]
+        }
+    ],
+    "features": [
+        "acpi-s3",
+        "requires-smm",
+        "secure-boot",
+        "verbose-dynamic"
+    ],
+    "tags": [
+
+    ]
+}
diff --git a/pc-bios/descriptors/50-edk2-x86_64-secure.json b/pc-bios/descriptors/50-edk2-x86_64-secure.json
new file mode 100644
index 000000000000..387eb356236b
--- /dev/null
+++ b/pc-bios/descriptors/50-edk2-x86_64-secure.json
@@ -0,0 +1,35 @@ 
+{
+    "description": "UEFI firmware for x86_64, with Secure Boot and SMM",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "flash",
+        "executable": {
+            "filename": "@DATADIR@/edk2-x86_64-secure-code.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "@DATADIR@/edk2-i386-vars.fd",
+            "format": "raw"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "x86_64",
+            "machines": [
+                "pc-q35-*"
+            ]
+        }
+    ],
+    "features": [
+        "acpi-s3",
+        "amd-sev",
+        "requires-smm",
+        "secure-boot",
+        "verbose-dynamic"
+    ],
+    "tags": [
+
+    ]
+}
diff --git a/pc-bios/descriptors/60-edk2-aarch64.json b/pc-bios/descriptors/60-edk2-aarch64.json
new file mode 100644
index 000000000000..800a21bda691
--- /dev/null
+++ b/pc-bios/descriptors/60-edk2-aarch64.json
@@ -0,0 +1,31 @@ 
+{
+    "description": "UEFI firmware for aarch64",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "flash",
+        "executable": {
+            "filename": "@DATADIR@/edk2-aarch64-code.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "@DATADIR@/edk2-arm-vars.fd",
+            "format": "raw"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "aarch64",
+            "machines": [
+                "virt-*"
+            ]
+        }
+    ],
+    "features": [
+        "verbose-static"
+    ],
+    "tags": [
+
+    ]
+}
diff --git a/pc-bios/descriptors/60-edk2-arm.json b/pc-bios/descriptors/60-edk2-arm.json
new file mode 100644
index 000000000000..d5f1bba6cc82
--- /dev/null
+++ b/pc-bios/descriptors/60-edk2-arm.json
@@ -0,0 +1,31 @@ 
+{
+    "description": "UEFI firmware for arm",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "flash",
+        "executable": {
+            "filename": "@DATADIR@/edk2-arm-code.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "@DATADIR@/edk2-arm-vars.fd",
+            "format": "raw"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "arm",
+            "machines": [
+                "virt-*"
+            ]
+        }
+    ],
+    "features": [
+        "verbose-static"
+    ],
+    "tags": [
+
+    ]
+}
diff --git a/pc-bios/descriptors/60-edk2-i386.json b/pc-bios/descriptors/60-edk2-i386.json
new file mode 100644
index 000000000000..2f8dec74fecb
--- /dev/null
+++ b/pc-bios/descriptors/60-edk2-i386.json
@@ -0,0 +1,33 @@ 
+{
+    "description": "UEFI firmware for i386",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "flash",
+        "executable": {
+            "filename": "@DATADIR@/edk2-i386-code.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "@DATADIR@/edk2-i386-vars.fd",
+            "format": "raw"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "i386",
+            "machines": [
+                "pc-i440fx-*",
+                "pc-q35-*"
+            ]
+        }
+    ],
+    "features": [
+        "acpi-s3",
+        "verbose-dynamic"
+    ],
+    "tags": [
+
+    ]
+}
diff --git a/pc-bios/descriptors/60-edk2-x86_64.json b/pc-bios/descriptors/60-edk2-x86_64.json
new file mode 100644
index 000000000000..968cb65cf973
--- /dev/null
+++ b/pc-bios/descriptors/60-edk2-x86_64.json
@@ -0,0 +1,34 @@ 
+{
+    "description": "UEFI firmware for x86_64",
+    "interface-types": [
+        "uefi"
+    ],
+    "mapping": {
+        "device": "flash",
+        "executable": {
+            "filename": "@DATADIR@/edk2-x86_64-code.fd",
+            "format": "raw"
+        },
+        "nvram-template": {
+            "filename": "@DATADIR@/edk2-i386-vars.fd",
+            "format": "raw"
+        }
+    },
+    "targets": [
+        {
+            "architecture": "x86_64",
+            "machines": [
+                "pc-i440fx-*",
+                "pc-q35-*"
+            ]
+        }
+    ],
+    "features": [
+        "acpi-s3",
+        "amd-sev",
+        "verbose-dynamic"
+    ],
+    "tags": [
+
+    ]
+}
diff --git a/pc-bios/README b/pc-bios/README
index d421cb3f1f97..f6acd3209610 100644
--- a/pc-bios/README
+++ b/pc-bios/README
@@ -50,3 +50,14 @@ 
 
 - QemuMacDrivers (https://github.com/ozbenh/QemuMacDrivers) is a project to
   provide virtualised drivers for PPC MacOS guests.
+
+- The "edk2-*.fd.xz" images are platform firmware binaries and matching UEFI
+  variable store templates built from the TianoCore community's EFI Development
+  Kit II project
+  <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images
+  were built at git tag "edk2-stable201903". The firmware binaries bundle parts
+  of the OpenSSL project, at git tag "OpenSSL_1_1_0j" (the OpenSSL tag is a
+  function of the edk2 tag). Licensing information is given in
+  "edk2-licenses.txt". The image files are described by the JSON documents in
+  the "pc-bios/descriptors" directory, which conform to the
+  "docs/interop/firmware.json" schema.