Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ovmf for openSUSE:Factory checked in at 2022-11-30 16:07:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ovmf (Old) and /work/SRC/openSUSE:Factory/.ovmf.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ovmf" Wed Nov 30 16:07:46 2022 rev:84 rq:1038917 version:202211 Changes: -------- --- /work/SRC/openSUSE:Factory/ovmf/ovmf.changes 2022-11-12 17:40:08.837802992 +0100 +++ /work/SRC/openSUSE:Factory/.ovmf.new.1597/ovmf.changes 2022-11-30 16:07:47.215454061 +0100 @@ -1,0 +2,418 @@ +Tue Nov 29 14:48:03 UTC 2022 - Joey Lee <j...@suse.com> + +- In the PFLASH_CODE in ovmf-build-funcs.sh, Use readonly=on instead of + readonly becuase we got the following message when building ovmf + on SLE15-SP3/SP4 code base: + +[ 981s] qemu-system-x86_64: -drive if=pflash,format=raw,unit=0,readonly,file=ovmf-x86_64-ms-code.bin: warning: short-form boolean option 'readonly' deprecated +[ 981s] Please use readonly=on instead +[ 981s] char device redirected to /dev/pts/0 (label charserial1) + +------------------------------------------------------------------- +Mon Nov 28 14:32:39 UTC 2022 - Joey Lee <j...@suse.com> + +- Update to edk2-stable202211 (jsc#PED-1410) + - Features (https://github.com/tianocore/edk2/releases): + CryptoPkg remove EC PCD and merge optimized openssl libs + Add GoogleTest unit test support to UnitTestFrameworkPkg + Add Raw algorithm support using Arm FW-TRNG interface + TDVF Lazy Accept in OvmfPkg + Debug code to audit BIOS TPM extend operations + Add a new feature to enable LoongArch prot for EDKII + CryptoPkg: Need to add additional cipher algos and TLS API to meet WPA3 + IntelFsp2(Wrapper)Pkg: Support FSP 2.4 MultiPhaseInit + CryptoPkg: Need to support EC and BN API due to WPA3 feature + Add PCI_DEVICE_PPI support for NvmExpressPei + - Patches (git log --oneline --date-order edk2-stable202208..edk2-stable202211): + fff6d81270 pip-requirements.txt: Update to edk2-pytool-extensions 0.20.0 + 2ddc8e1b67 pip-requirements.txt: Update to edk2-pytool-library 0.12.1 + 93629f2c7c ArmPkg/ArmTrngLib: Remove ASSERT in GetArmTrngVersion() + 0cb30c3f5e Maintainers: Update the VmgExitLib to CcExitLib + 765ba5bf05 OvmfPkg/UefiCpuPkg: Add CcExit prefix to the APIs of CcExitLib + a89f558d3c OvmfPkg/UefiCpuPkg/UefiPayloadPkg: Rename VmgExitLib to CcExitLib + b9e702c3c9 UefiCpuPkg/ResetVector:Add Option to reserve 4K region at 4GB + 6d55ad9a59 MdePkg/Test: Add port of BaseSafeIntLib unit tests to GoogleTest + 31377aba8f BaseTools/Plugin/HostBaseUnitTestRunner: Enable gtest xml output + 80f097711b .pytool: Add googletest submodule to CISettings.py + d4586fe3ae UnitTestFrameworkPkg/Library/CmockaLib: Generate symbol information + cef0c5c684 UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib + c1b073a9dc MdePkg/Include/Library: Undefine _ASSERT() if already defined + 933b4c333c MdePkg/Include: Update Base.h to improve C++ compatibility + 3182843f3b IntelFsp2Pkg: Improvement of supporting null UPD pointer in FSP-T + c8fb724046 ArmPkg/ArmTrngLib: Fix incorrect GUID reference in DEBUG() output + 3b1f3414f2 .github/workflows: Update CodeQL to install Python 3.10.6 + c17c3c24d8 ShellPkg:Improved Smbios Type9 data under smbiosview + 342813a3f7 pip-requirements.txt: Update edk2-pytool-library to 0.12.0 + b0fd309719 edk2.qls: Allow error severity results and add new queries + 179efe5d69 BaseTools: Fix wrong type of arguments to formatting functions + 0be81a4d83 BaseTools/Source/C: Use /Z7 instead of /Zi for host tools + 6032b46dce PrmPkg/PrmSsdtInstallDxe: Update PRMT Device CID to PNP0C02. + 6c1a4a376e .github: Add initial CodeQL config and workflow files + c7aecf2a4f Maintainers.txt: Add .github maintainers and reviewers + 50bee4cc12 CryptoPkg: Sha1 functions causing build errors + 239bcf7805 PrmPkg: Use UnitTestFrameworkPkg UEFI BS library + 6e8b0b6913 UnitTestFrameworkPkg: Add UnitTestUefiBootServicesTableLib + 82e70d9ac0 CryptoPkg/Readme.md: typo and grammar fixes + 35043a5ec0 MdePkg/BaseLib: Fix out-of-bounds reads in SafeString + b556f2445c ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface + 9eb5ccda50 SecurityPkg/RngDxe: Add Arm support of RngDxe + ff29cdb968 SecurityPkg/RngDxe: Rename AArch64/RngDxe.c + 6cdddccf00 SecurityPkg/RngDxe: Add debug warning for NULL PcdCpuRngSupportedAlgorithm + 863fe9e191 SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through ArmTrngLib + 4b3e9d80be SecurityPkg/RngDxe: Check before advertising Cpu Rng algo + 199031b2b0 SecurityPkg/RngDxe: Documentation/include/parameter cleanup + 922bf317f1 SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() + aade3b93fe SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid + 8a89747844 SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name + e00ec499c5 ArmPkg/ArmTrngLib: Add Arm TRNG library + 351fe77666 ArmPkg: Add FID definitions for Arm TRNG + ef4cf3d88d MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library + cbce5a1a93 MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface + 3d480a93de ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib + 9d8ed9c8ee ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc + aa0f522471 ArmPkg/ArmMonitorLib: Add ArmMonitorLib + 9a50990cdb ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class + dcf8c79056 ArmPkg: PCD to select conduit for monitor calls + cc650a0378 ArmPlatformPkg: Retire NorFlashDxe driver + eff44c008d OvmfPkg/VmgExitLig: HALT on #VE when access to private memory + 2695e49219 UefiPayloadPkg: Boot mode in PHIT HOB will not be updated + ee3da09bb2 MdeModulePkg/Ufs :Coverity scan flags multiple issues in edk2-stable202205 + eae9e51d98 MdeModulePkg/scsi :Coverity scan flags multiple issues in edk2-stable202205 + b84f32ae5b IntelFsp2Pkg: FSP should support input UPD as NULL. + cab1f02565 MdeModulePkg/PiSmmCore: SmmEntryPoint underflow (CVE-2021-38578) + c46204e25f IntelFsp2Pkg: Update Function header to support IA32/X64. + 957a15adaf UefiCpuPkg/SmmCpuFeaturesLib: Clean up header file inclusion in SmmStm.c + ae62a6e44d UefiCpuPkg/SmmCpuFeaturesLib: Abstract arch dependent code + ed8bfada03 UefiCpuPkg/SmmCpuFeaturesLib: Rename the common C file + 8487ec0ee7 CryptoPkg/Test: Simplify BaseCryptLib host based unit tests + b5dbf8267b pip-requirements.txt: Bump pytool extensions and library + 85dba961c7 UnitTestFrameworkPkg: Support FILE_GUID override in host based unit tests + 720c25ab41 OvmfPkg: Call gEdkiiMemoryAcceptProtocolGuid to accept pages + 7dcc2f3870 OvmfPkg: Realize EdkiiMemoryAcceptProtocol in TdxDxe + 2af33db365 MdePkg: The prototype definition of EdkiiMemoryAcceptProtocol + d1e41c620f OvmfPkg: Introduce lazy accept in PlatformInitLib and PlatformPei + 6ca9f410d1 ShellPkg: Update shell command memmap to show unaccepted memory + 43e306806e MdeModulePkg: Update Dxe to handle unaccepted memory type + 502c01c502 MdePkg: Add UEFI Unaccepted memory definition + 9b648112a5 OvmfPkg: Use BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED defined in MdeModulePkg + 32c5a470ad MdePkg: Increase EFI_RESOURCE_MAX_MEMORY_TYPE + 00bbb1e584 MdeModulePkg: Add PrePiHob.h + df7ce74e6c RedfishPkg/RedfishDiscoverDxe: Fix memory free issue + 66772bc852 Maintainers.txt: Add 'Pierre Gondois' as DynamicTablesPkg reviewer + e9a3613ce0 ShellPkg/AcpiView: Update PCCT fields for ACPI 6.5 + c9a4df88fd DynamicTablesPkg: Readme.md: Update available tables for generation + 1729fb8a82 DynamicTablesPkg/AmlLib: Allow larger AccessSize for Pcc address space + 8405b1480f DynamicTablesPkg: Add PCCT Generator + dab7bac94c DynamicTablesPkg: Add PCCT related objects + a5672d43a6 DynamicTablesPkg: Fix Ssdt PCI generation comments + 5acd6489df DynamicTablesPkg: FdtHwInfoParserLib: Remove wrong comment + 0bcd3cc06e DynamicTablesPkg: Remove deprecated APIs + 2ef32f914a DynamicTablesPkg: Fix wrong/missing fields in CmObjParser + a64cc43552 DynamicTablesPkg: Fix GTBlock and GTBlockTimerFrame CmObjParsers + 3bcc2e22ef DynamicTablesPkg: Update CmObjParser for MinorRevision + 44b7a856f0 DynamicTablesPkg: Update CmObjParser for IORT Rev E.d + 48c6e7dbcd DynamicTablesPkg: Add PrintString to CmObjParser + 020891f173 DynamicTablesPkg: Use correct print formatter + 52199bf532 MdeModulePkg/ScsiDiskDxe: Update proper device name for ScsiDisk drive + d98efb4682 UefiCpuPkg: Restore HpetTimer after CpuExceptionHandlerLib test + 99338ef81e ArmVirtPkg/ArmVirtKvmTool: Migrate to OVMF's VirtNorFlashDxe + b92298af82 ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe + 789a723285 OvmfPkg/VirtNorFlashDxe: use EFI_MEMORY_WC and drop AlignedCopyMem() + 25589c4a76 OvmfPkg/VirtNorFlashDxe: avoid switching between modes in a tight loop + ca01e6216a OvmfPkg/VirtNorFlashDxe: avoid array mode switch after each word write + 83f11f9572 OvmfPkg/VirtNorFlashDxe: drop block I/O protocol implementation + 68d234989b OvmfPkg/VirtNorFlashDxe: remove disk I/O protocol implementation + 0a64106c56 OvmfPkg/VirtNorFlashDxe: remove CheckBlockLocked feature + c1ff81f799 OvmfPkg/VirtNorFlashDxe: clone ArmPlatformPkg's NOR flash driver + 16bf588b60 OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib + 115cebbe4d ArmVirtPkg/ArmVirtQemu: Clear XIP flags instead of overriding them + b6efc505e4 ArmVirtPkg/ArmVirtQemu: omit PCD PEIM unless TPM support is enabled + 7136d5491e ArmVirtPkg/QemuVirtMemInfoLib: use HOB not PCD to record the memory size + fead469a3b ArmVirtPkg/ArmVirtQemu: avoid shadowing PEIMs unless necessary + 75d2be4a37 ArmVirtPkg/ArmVirtQemu: Drop unused variable PEIM + 07be1d34d9 ArmVirtPkg/ArmVirtQemu: enable initial ID map at early boot + a26050f74d ArmVirtPkg/ArmVirtQemu: use first 128 MiB as permanent PEI memory + 2eff4ddc77 ArmVirtPkg/ArmVirtQemu: implement ArmPlatformLib with static ID map + 9ca2dc7bec ArmVirtPkg/ArmVirtQemu: wire up timeout PCD to Timeout variable + 2997ae3873 ArmVirtPkg: make EFI_LOADER_DATA non-executable + 9e2c88b16e Maintainers.txt: Update maintainers and reviewers for LoongArch64 + 9670f79937 Maintainers.txt: Update maintainers list + 26638d2aa3 IntelFsp2WrapperPkg: Check header revision for MultiPhase support. + 7464db4474 MdeModulePkg: Fix spelling error in PciSioSerialDxe + 56035d1c8b ArmPlatformPkg/PrePeiCore: Print the firmware version early in boot + db2c22633f Ps2KbdCtrller: Make wait for SUCCESS after BAT non-fatal + fb493ac84e ArmPlatformPkg/PrePeiCore: permit entry with the MMU enabled + b28acb22e0 ArmVirtPkg: do not enable iSCSI driver by default + f4213fed34 ArmVirtPkg: remove EbcDxe from all platforms + acb2acccfd BaseTools/Tests: Use quotes around PYTHON_COMMAND + 4fcd5d2620 CryptoPkg/Library/OpensslLib: update auto-generated files + 0882d6a32d CryptoPkg/Library/OpensslLib: Add generated flag to Accel INF + d79295b5c5 CryptoPkg/Library/OpensslLib: Update process_files.pl INF generation + 3b46a1e243 Revert "CryptoPkg: Update process_files.pl to auto add PCD config option" + 244ce33bdd CryptoPkg: Add Readme.md + 584b246e88 CryptoPkg: Fixed host-based unit tests + 0c9744787e CryptoPkg: Update DSC to improve CI test coverage + dfc7c3dc8c CryptoPkg: Remove PcdOpensslEcEnabled from CryptoPkg.dec + a57b4c11a5 CryptoPkg/Library/OpensslLib: Remove PrintLib from INF files + e75951ca89 CryptoPkg/Library/OpensslLib: Produce consistent set of APIs + ea6d859b50 CryptoPkg/Library/OpensslLib: Combine all performance optimized INFs + dd00f92b2f CryptoPkg/Library: Cleanup BaseCryptLib and TlsLib + 961fadf60c CryptoPkg/Test/UnitTest/Library/BaseCryptLib: Unit test fixes + 8f8372439d CryptoPkg/Library/BaseCryptLib: Update internal functions/variables + 8437368c69 CryptoPkg/Library/BaseCryptLib: Add missing UNI file and fix format + d7d9866ef4 CryptoPkg: Document and disable deprecated crypto services + 4d29da411f remove GCC build warning + 6fd754ec0f BaseTools: Fixed the multiple pairs brackets issue in GenFv + 2355f0c09c BaseTools: Fix check for ${PYTHON_COMMAND} in Tests/GNUmakefile + 913a308df9 BaseTools/Scripts/PatchCheck.py: Allow tab in Makefile + c6720db5dd MdeModulePkg/XhciDxe: Add boundary check for TRB ring allocation + 31b1638468 ArmPkg/ArmMmuLib: Reuse XIP MMU routines when splitting entries + 999c53e2ca ArmPkg/ArmMmuLib: permit initial configuration with MMU enabled + 0487cac09f ArmPkg/ArmMmuLib: Disable and re-enable MMU only when needed + ab644cfac5 ArmPkg/ArmMmuLib: don't replace table entries with block entries + 0f6eccdbf7 BaseTools: Add missing spaces for PCD expression values in AutoGenC + 1d0ff11526 BaseTools: Correct initialization data size check for array PCDs + d23eb3aa99 BaseTools/GenFds: Correct file type set for the PIC section + 0a29933ea9 BaseTools: Support COMPAT16 section generation + 225810a182 BaseTools: Add support for SUBTYPE_GUID section generation + 81aeb94648 BaseTools: Correct BPDG tool error prints + 09e74b81ba BaseTools/FMMT: Add Shrink Fv function + 0e6db46b1b BaseTools/FMMT: Add Extract FV function + b03dceb87f BaseTools: Remove duplicated words in Python tools + c4663e7277 pip-requirement: Upgrade the edk2-basetools version from 0.1.29 to 0.1.39 + 9d6915ca91 UefiCpuPkg/Test: Add unit tests for MP service PPI and Protocol + 6f1bb567aa UefiCpuPkg: Add R8/R9 etc in EccCheck ExceptionList + 012e424601 UefiCpuPkg: Add Pei/DxeCpuExceptionHandlerLibUnitTest in dsc + 055eaacc34 UefiCpuPkg: Add Unit tests for PeiCpuExceptionHandlerLib + beabde5875 UefiCpuPkg: Add Unit tests for DxeCpuExceptionHandlerLib + b8e54e15de UefiCpuPkg/CpuPageTableLib:Support PAE paging for PageTableParse + a7e070808c UefiCpuPkg:Add RegisterExceptionHandler in PeiCpuExceptionHandlerLib + d618fe05bf BaseTools: Remove duplicated words in C tools + 8fc06b6e19 Fix bug on SRIOV ReservedBusNum when ARI enable. + 4aa7e66c06 MdeModulePkg: Fixed extra 1 SR-IOV reserved bus + e0200cc47a NetworkPkg: Add LoongArch64 architecture. + 2ce4bfb843 MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implementation. + 380821a949 MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 architecture. + dad7fc29d9 MdeModulePkg/Logo: Add LoongArch64 architecture. + ced203c3d5 MdePkg/BaseSafeIntLib: Add LoongArch64 architecture for BaseSafeIntLib. ++++ 221 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/ovmf/ovmf.changes ++++ and /work/SRC/openSUSE:Factory/.ovmf.new.1597/ovmf.changes Old: ---- edk2-edk2-stable202208.tar.gz ovmf-add-exclude-shell-flag.patch ovmf-bsc1199156-OvmfPkg-IncompatiblePciDeviceSupportDxe-Ignore-Optio.patch New: ---- edk2-edk2-stable202211.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ovmf.spec ++++++ --- /var/tmp/diff_new_pack.pd4WIr/_old 2022-11-30 16:07:48.211459510 +0100 +++ /var/tmp/diff_new_pack.pd4WIr/_new 2022-11-30 16:07:48.215459532 +0100 @@ -22,7 +22,7 @@ %global softfloat_version b64af41c3276f Name: ovmf -Version: 202208 +Version: 202211 Release: 0 Summary: Open Virtual Machine Firmware License: BSD-2-Clause-Patent @@ -45,22 +45,19 @@ Source101: gdb_uefi.py.in Source102: gen-key-enrollment-iso.sh Source103: ovmf-build-funcs.sh -Patch1: %{name}-add-exclude-shell-flag.patch -Patch2: %{name}-gdb-symbols.patch -Patch3: %{name}-pie.patch -Patch4: %{name}-disable-ia32-firmware-piepic.patch -Patch5: %{name}-set-fixed-enroll-time.patch -Patch6: %{name}-disable-brotli.patch -Patch7: %{name}-ignore-spurious-GCC-12-warning.patch -Patch8: %{name}-tools_def-add-fno-omit-frame-pointer-to-GCC48_-IA32-.patch +Patch1: %{name}-gdb-symbols.patch +Patch2: %{name}-pie.patch +Patch3: %{name}-disable-ia32-firmware-piepic.patch +Patch4: %{name}-set-fixed-enroll-time.patch +Patch5: %{name}-disable-brotli.patch +Patch6: %{name}-ignore-spurious-GCC-12-warning.patch +Patch7: %{name}-tools_def-add-fno-omit-frame-pointer-to-GCC48_-IA32-.patch # PED-1359, because nasm-2.14 doesn't support corresponding instructions. -Patch9: %{name}-Revert-MdePkg-Remove-the-macro-definitions-regarding.patch -Patch10: %{name}-Revert-UefiCpuPkg-Replace-Opcode-with-the-correspond.patch -Patch11: %{name}-Revert-SourceLevelDebugPkg-Replace-Opcode-with-the-c.patch -Patch12: %{name}-Revert-MdePkg-Replace-Opcode-with-the-corresponding-.patch -Patch13: %{name}-Revert-MdeModulePkg-Replace-Opcode-with-the-correspo.patch -# bsc#1199156 OVMF exposed Invalid MMIO opcode (F6) error when enabled sev and sev-es -Patch14: %{name}-bsc1199156-OvmfPkg-IncompatiblePciDeviceSupportDxe-Ignore-Optio.patch +Patch8: %{name}-Revert-MdePkg-Remove-the-macro-definitions-regarding.patch +Patch9: %{name}-Revert-UefiCpuPkg-Replace-Opcode-with-the-correspond.patch +Patch10: %{name}-Revert-SourceLevelDebugPkg-Replace-Opcode-with-the-c.patch +Patch11: %{name}-Revert-MdePkg-Replace-Opcode-with-the-corresponding-.patch +Patch12: %{name}-Revert-MdeModulePkg-Replace-Opcode-with-the-correspo.patch BuildRequires: bc BuildRequires: cross-arm-binutils BuildRequires: cross-arm-gcc%{gcc_version} @@ -177,15 +174,13 @@ %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 %if 0%{?suse_version} == 1500 && 0%{?sle_version} < 150500 +%patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch13 -p1 %endif -%patch14 -p1 # add openssl pushd CryptoPkg/Library/OpensslLib/openssl @@ -321,9 +316,9 @@ declare -A EXTRA_FLAGS_X64 EXTRA_FLAGS_X64=( - [ovmf-x86_64]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_2MB -D EXCLUDE_SHELL" + [ovmf-x86_64]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_2MB -D BUILD_SHELL=FALSE" [ovmf-x86_64-4m]="-p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE" - [ovmf-x86_64-smm]="-a IA32 -p OvmfPkg/OvmfPkgIa32X64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE -D SMM_REQUIRE -D EXCLUDE_SHELL" + [ovmf-x86_64-smm]="-a IA32 -p OvmfPkg/OvmfPkgIa32X64.dsc -D FD_SIZE_4MB -D NETWORK_TLS_ENABLE -D SMM_REQUIRE -D BUILD_SHELL=FALSE" ) declare -A OUTDIR_X64 OUTDIR_X64=( ++++++ edk2-edk2-stable202208.tar.gz -> edk2-edk2-stable202211.tar.gz ++++++ /work/SRC/openSUSE:Factory/ovmf/edk2-edk2-stable202208.tar.gz /work/SRC/openSUSE:Factory/.ovmf.new.1597/edk2-edk2-stable202211.tar.gz differ: char 16, line 1 ++++++ ovmf-build-funcs.sh ++++++ --- /var/tmp/diff_new_pack.pd4WIr/_old 2022-11-30 16:07:48.395460516 +0100 +++ /var/tmp/diff_new_pack.pd4WIr/_new 2022-11-30 16:07:48.399460538 +0100 @@ -29,7 +29,7 @@ local FW_VARS_ORIG="${PREFIX}-vars.bin" local FW_CODE="${PREFIX}-${KEY}-code.bin" local FW_VARS="${PREFIX}-${KEY}-vars.bin" - local PFLASH_CODE="-drive if=pflash,format=raw,unit=0,readonly,file=$FW_CODE" + local PFLASH_CODE="-drive if=pflash,format=raw,unit=0,readonly=on,file=$FW_CODE" local PFLASH_VARS="-drive if=pflash,format=raw,unit=1,file=$FW_VARS" ln -s "$FW_CODE_ORIG" "$FW_CODE"