From 5ecc861c6c1f9939add2e52f01246952174685d4 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Wed, 28 Sep 2022 17:57:55 -0500 Subject: [PATCH] Update PSP binaries for Cezanne Update PSP binaries from version 0.11.0.68 to 0.11.E.75. Update release notes. Signed-off-by: Matt DeVillier --- cezanne/PSP/PSP_ReleaseNotes.txt | 1136 ++++++++++++++++- cezanne/PSP/TypeId0x01_PspBootLoader_CZN.sbin | Bin 20224 -> 20224 bytes cezanne/PSP/TypeId0x02_PspOS_CZN.sbin | Bin 86912 -> 86912 bytes .../PSP/TypeId0x13_PspEarlyUnlock_CZN.sbin | Bin 8448 -> 8448 bytes .../PSP/TypeId0x28_PspSystemDriver_CZN.sbin | Bin 124784 -> 124784 bytes .../PSP/TypeId0x73_PspBootLoader_AB_CZN.sbin | Bin 67840 -> 67840 bytes 6 files changed, 1123 insertions(+), 13 deletions(-) diff --git a/cezanne/PSP/PSP_ReleaseNotes.txt b/cezanne/PSP/PSP_ReleaseNotes.txt index d64b160..9994eac 100644 --- a/cezanne/PSP/PSP_ReleaseNotes.txt +++ b/cezanne/PSP/PSP_ReleaseNotes.txt @@ -1,8 +1,8 @@ //---------------------------------------------------------------------------- // PSP FW Delivery Release Note // -// Copyright 2021, Advanced Micro Devices, Inc. -// Date: January 22, 2021 +// Copyright 2020-21, Advanced Micro Devices, Inc. +// Date: July 27, 2022 //---------------------------------------------------------------------------- Content: @@ -11,20 +11,1130 @@ Content: TODO: update list of files Files - boot_loader_RN.bin [version: 0.11.0.68] - PSP off-chip Legacy Stage 2 BootLoader (entry type 0x1), signed with production key - boot_loader_AB_RN.bin [version: 0.11.0.68] - PSP off-chip A/B Stage 2 BootLoader (entry type 0x1), signed with production key - boot_loader_stage1_RN.bin [version: 0.11.0.68] - PSP off-chip Stage 1 BootLoader (entry type 0x1), signed with production key - PspRecoveryBootLoader_RN.bin [version: 0.11.0.68] - PSP off-chip Recovery BootLoader (entry type 0x3), signed with production key - debug_unlock_RN.bin [version: 0.11.0.68] - PSP secure unlock (entry type 0x13), signed with production key - psp_os_combined_NV12.bin [version: 0.11.0.68] - PSP secure OS (entry type 0x2), signed with production key - drv_sys_RN.bin [version: 0.11.0.68] - PSP system driver (entry type 0x28), signed with production key - dr_ftpm_prod_RN.csbin [version: 3.57.0.5] - PSP fTPM (entry type 0xC), compressed and signed with production key - dr_drtm_prod_RN.csbin [version: 04.11.00.1E] - PSP DRTM (entry type 0x47), compressed and signed with production key - rsmu_sec_policy.rn_L0.sbin [version: B.9.0.78] - Security Gasket (entry type 0x24) - rsmu_sec_policy.rn_L1.sbin [version: B.9.1.78] - Security Policy for tOS (entry type 0x45) + boot_loader_prod__CZN.sbin [version: 0.11.E.75] - PSP off-chip Stage 2 BootLoader (entry type 0x73), signed with production key + boot_loader_stage1_prod_CZN.sbin [version: 0.11.E.75] - PSP off-chip Stage 1 BootLoader (entry type 0x1), signed with production key + debug_unlock_prod_CZN.sbin [version: 0.11.E.75] - PSP secure unlock (entry type 0x13), signed with production key + psp_os_prod_combined_CZN.sbin [version: 0.11.E.75] - PSP secure OS (entry type 0x2), signed with production key + drv_sys_prod_CZN.sbin [version: 0.11.E.75] - PSP system driver (entry type 0x28), signed with production key + dr_ftpm_prod_RN.csbin [version: 3.76.0.5] - PSP fTPM (entry type 0xC), compressed and signed with production key + dr_drtm_prod_RN.csbin [version: 04.11.00.2B] - PSP DRTM (entry type 0x47), compressed and signed with production key + rsmu_sec_policy.rn_L0.sbin [version: B.10.0.20] - Security Gasket (entry type 0x24) + rsmu_sec_policy.rn_L1.sbin [version: B.10.1.20] - Security Policy for tOS (entry type 0x45) spl_table_RN.sbin [version: 5.11.0.5C] - Firmware Anti-rollback information file (entry type 0x55) spl_table_CZN.sbin [version: 5.11.1.63] - Firmware Anti-rollback information file (entry type 0x55) +Release Version 0.11.0E.75 +------------------------------------------------------- +Trusted OS +---------- +PLAT-111361: Relinquish control of locality before Request for Use +PLAT-111558: Avoid Possible race condition if I2c3RsmuFencing fails +PLAT-112056: Reduce the timeout for TPM get status +PLAT-112060: Add postcodes and STB traces in error paths +PLAT-112506: Fix I2CReadData issue when NACK from TPM +PLAT-112526: Poll on GPIO interrupt status for TPM ready + +Release Version 0.11.0D.75 +------------------------------------------------------- +Trusted OS +---------- +PLAT-107404: Do not power ON-OFF I2C3 during DTPM Arbitration + +Release Version 0.11.0C.75 +------------------------------------------------------- +Trusted OS +---------- +PLAT-106455: Correct I2C3 RSMU fence settings +PLAT-106756: Fix for I2C3 Bus Arbitration Issue +PLAT-106756: reduce the timeout inside tpm_wait_burststs to 1000ms + +Release Version 0.11.0B.75 +------------------------------------------------------- +Trusted OS +---------- +PLAT-104872: Fix ACP-PSP Mailbox issue on S0i3 resume +PLAT-106102: Port80 logging while I2C3 bus is acquired or released + +Release Version 0.11.0A.75 +------------------------------------------------------- +Trusted OS +---------- +PLAT-104403:[Chrome]: Enable Sram access for Widevine + +Release Version 0.11.09.75 +------------------------------------------------------- +Bootloader +---------- +PLAT-85878:[Chrome]: espi base address should be checked before use + +Trusted OS +---------- +PLAT-102568:[Chrome]: Handle ACP f/w qualification via ACP-PSP mailbox + +Release Version 0.11.08.75 +------------------------------------------------------- +Trusted OS +---------- +PLAT-99113:[Chrome]: Bug fix for random timeout in I2CWriteData + +Release Version 0.11.07.75 +------------------------------------------------------- +Bootloader +---------- +PLAT-100646:[Chrome]: Boot to unsigned verstage mode when spl table not found +PLAT-98146: [Chrome]: On chromebook enforce SPL only when boot from RW +PLAT-98146: [Chrome]: Restructure function detecting chromebook boot partition + +Release Version 0.11.06.75 +------------------------------------------------------- +Bootloader +---------- +PLAT-98838: [Chrome]: Don't allow set boot mode for unsigned verstage +PLAT-100656: [Chrome]: Add test case to access UART 0 +PLAT-100656: [Chrome]: Add UART 0/1 device to SVC_MAP_FCH_IO_DEVICE +PLAT-99929: [Chrome]: Add test case to port80 postcode write +PLAT-99929: [Chrome]: Add svc support to write post code to port 80 + +Release Version 0.11.05.75 +------------------------------------------------------- +Bootloader +---------- +PLAT-99944: [Chrome]: Stage2 rename the g_chrome_mode variable +PLAT-99944: [Chrome]: Port chrome_set_mode in Stage2 +PLAT-99944: [Chrome]: Stage1 prevent clear_lsb_slot if already done +PLAT-99944: [Chrome]: Enter to developer mode on rollback + +Trusted OS +---------- +PLAT-100146: Control I2C enable/disable before sending command + +Release Version 0.11.04.75 +------------------------------------------------------- +PLAT-98300:[Chrome]: Skip copy of workbuf to dram when 6B entry not found +PLAT-98838:[Chrome]: Set Chrome Bootmode provided by the verstage +PLAT-98838:[Chrome]: Align value of Chrome Bootmodes with verstage +PLAT-98838:[Chrome]: Rename the Chromebook Boot Mode +Trusted OS +---------- +PLAT-85059:[Chrome]: Optimizing the I2C3 powering sequence +PLAT-98838:[Chrome]: Drv Sys implementation to get chrome Bootmode +PLAT-85059:[Chrome]: Optimizing the I2CReadData workaround to 250us + +Release Version 0.11.03.75 +------------------------------------------------------- +Bootloader +---------- +PLAT-98934:[Chrome]: Add SVC call to get bootmode from verstage + +Trusted OS +---------- +PLAT-85066:[Chrome]: On chromebook add ASD,WV,HDCP uuids as mandatory +PLAT-96340:[Chrome]: Add I2C fencing during PSP access of I2C3 bus +PLAT-85059:[Chrome]: Change the defined widevine TA Unique ID + +Release Version 0.11.02.75 +------------------------------------------------------- +Bootloader +---------- +PLAT-95774:[Chrome]: Add softfuse bit to control load of verstage in S0i3 + +Trusted OS +---------- +PLAT-85059: Implement the TPM commands for secure counter +PLAT-85059: Implementation of Secure Counter in drv sys +PLAT-97400:[Chrome]: Add support for power management of I2C3 bus +PLAT-97691: Correct the BIOS mbox command ID for I2C arbitration +PLAT-97400:[Chrome]: Power ON or OFF I2C3 Bus during arbitration +PLAT-85059:[Chrome]: Optimizing the I2CReadData workaround + +Release Version 0.11.01.75 +------------------------------------------------------- +Bootloader +---------------- +PLAT-95780:[Chrome]: Add svc call to get the fw hash table +PLAT-83301:[Chrome]: Rebase to amd-staging till 00.11.00.75 +Trusted OS +---------------- +PLAT-83301:[Chrome]: Rebase to amd-staging till 00.11.00.75 +PLAT-92745:[Chrome]: Add BIOS-PSP command for DTPM I2C Bus req + +Release Version 0.11.0.75 +----------------------------------- +** This version is fixing version number only + +Bootloader +---------------- +N/A + +Trusted OS +---------------- + +fTPM +----- +N/A + +DRTM +----- +N/A + +Release Version 0.11.0.74 +----------------------------------- +Bootloader +---------------- +PLAT-92329: Revert the stack protection change in the stage1 bootloader +PLAT-91331: Remove internal urls and names from the code +PLAT-92243: Fix possible underflow in load_binary +PLAT-92242: Fix possible overflow in VerifyBiosRTM + +Trusted OS +---------------- +SWDEV-284518 Fix rate-limiting mailbox double-counts. +FWDEV-5215: Fuse Burn sequence in PSP code is not matching SMU HW +PLAT-92364: [RAv3] Avoid deadlock situation with PMFW +FWDEV-5233: Fix DF_PIE_AON/DF_CS_UMC to use the _alt_2 register address. +FWDEV-5100: [PHX] Update system instance ID for DF Components +PLAT-91589: Add check to verify if MPM FW versions match +FWDEV-4990:[PHX] Add support to Restoring ISP security policies +FWDEV-5151:[PHX] Grant MPIPU read access to IPU FW TMR region +FWDEV-4989: Apply IPU's RSMUs security policies +FWDEV-4605: Remove dep from lp_control +PLAT-69017: Kernel-to-SMM-mode privilege escalation via racy SMM check +FWDEV-4721:Fix the build failure caused by AMD-TEE_API_LIB Patch (2) +SWDEV-283282: [NV31] Implement the Trusted SPI Update main sequence in PSP TOS +FWDEV-4721:Fix the build failure caused by AMD-TEE_API_LIB Patch +PLAT-85849: Privilege Check in SVC_UNMAP_PAGES +FWDEV-4862: PSP read HSP buffer after SUSPEND cmd +FWDEV-2558: Validate system physical addresses are in DRAM map +PLAT-92160: Add PROM A320 support for RN +PLAT-91933 Fix PSP reporting TMR size requirement as 0. +PLAT-90967: Add DMCUB message for APERTURE_B +PLAT-92389: MPM WLAN access in x86 not release mode +PLAT-90535: [RAv3]Send PSPSMC_MSG_ReadRom2Rom3BaseAddr only on RA2 Enforce +DEPHXE-238: [PHX] Fix load vector location in RLC TOC +SWDEV-283282: [NV31] Implement the Trusted SPI Update main sequence in PSP TOS +FWDEV-5055: Fix TOCTOU issue on TeeProcessRingCmd +PLAT-91331: Remove internal urls and names from the code +FWDEV-5056: L1_MapPageTable may be called twice in RunScheduler +FWDEV-4997: [PHX] Reload GFX IMU after receiving doorbell interrupt after LP exits +PLAT-89963 Prevent intermittent PSP hang on HDP Flush +FWDEV-4685:[Navi31]Disable PreSetIpFw function call for RLC-V +FWDEV-5049: Adjust kernel scatter file in amd-tee2.0 +FWDEV-4985 [MDN] Update Fabric ID of MMHUB for mendocino +FEAT-38663[Navi21] Remove fw att file and replace with fw manifest. +FWDEV-4573: Fix for BIOS PT21 Loading CMD +RTGPLAT-7179: [PSP TOS] fix RAP_VALIDATE_ROLLBACK_L0 mismatch +FEAT-37454: [NV31 BL] -copy scpm status to Secure mp1 general dram map region. + +fTPM +----- +N/A + +DRTM +----- +N/A + +Release Version 0.11.0.73 +----------------------------------- +** AMD FIPS certification is pending +*FTPM updated to version 3.76.0.5 / 3.76.2.5 (for BRC) + +Bootloader +---------------- +PLAT-92079: Fix stack protector initialization +PLAT-85835: Use Stack Protector to defense against stackbased buffer overflow attacks. +PLAT-85820: Validate SizeFWSigned in Image Header before use +PLAT-90934: SHUBCLK does not enter deep sleep +PLAT-90969: Disable BootRom access after stage 1 is done + +Trusted OS +---------------- +DEPHXE-275:[PHX] Release IPU RSMU Hard Resets before accessing CRU +PLAT-88066:[RAv3] Add Error Handlings when Disable MMIO Trap +FWDEV-4840: Consolidate RAPv2 DF & FCH policy +PLAT-89413: Support ROM Armor v2 in Project X +DEPHXE-258: [PHX] Fixed TMR issue while loading GFX IMU IRAM FW +PLAT-69017: Kernel-to-SMM-mode privilege escalation via racy SMM check +PLAT-87120: Enhance exception sequence to handle syncflood errors +FEAT-37545: [PSP TOS] fix error in merging RAP GC_TMR +FWDEV-4605: Update LP_CONTROL fuse in tOS +PLAT-91528: [RAv3] Refactoring of ROM-Armor related code +DEPHXE-261: [PHX] Enable RlcAutoLoad for GFX11 FWs +FWDEV-4697: Update Intf for Dmcu timeout smart trace +FEAT-38663: Rebranding fw attestation to fw manifest (2) +DEPHXE-250:[PHX] Fix SPACE AxUSER value for Frame Buffer Addresses +FEAT-38663:[NAVI21][SRIOV] Rebranding fw attestation to fw manifest for TOS +FWDEV-4828: Apply GC_VDDGFX_POLICY and GFX_DLDO_VDDGFX_POLICY +FWDEV-4697: Add both smart Trace buffer and FW_STATUS to track for DMCUB_PREPARE_TIMEOUT expiry +PLAT-90219: Allow DPG power-up after z9 exit V9 DPG SRAM restore +DEPHXE-243:[PHX] Set IpuEnable of MiscClientsEnable +Revert "DEPHXE-85: [PHX] Disable MP0 clock gating and mem deep sleep" +FWDEV-3806: Clean up the usage of SMN_ADDR_UNDEFINED (2) +FEAT-37545: [navi3x][PSP TOS] detect GFX PowerState +FWDEV-4056: [PSP_TOS] navi3x FW loading sequence +FEAT-37545: [PSP TOS] fix error in RAP validate GC_TMR + +fTPM +----- +PLAT-89586 fTPM: Enable ARM V6 Compiler Support + +DRTM +----- +N/A + +Release Version 0.11.0.72 +----------------------------------- +** AMD FIPS certification is pending +*FTPM updated to version 3.75.0.5 / 3.75.2.5 (for BRC) +*DRTM updated to version 4.11.0.2B + +Bootloader +---------------- +PLAT-85816: Sanitizing the parameters in Debug Print Syscalls +PLAT-90753: Move RPMC Macro Definitions to Shared file +PLAT-85861: Unmapping the Syshub map before Load_Run_DiagFw returns +PLAT-89539: Fix recovery reason reported for unified FW +PLAT-85860: Fixing unsafe assumptions in FWLeafTokenValidation +PLAT-88038: Avoid multiple calling of SVC_SET_PSP_RESERVED_ADDR +PLAT-88647: [RPMC] Fix RPMC Available Counter Addresses +PLAT-85868: Ensure malformed MP2 RAM1 region can't Violate Memory Safety +PLAT-85861: Unmapping the Syshub mapped address on Error Paths + +Trusted OS +---------------- +FWDEV-4718: [PHX] B.0.3.0a LSD change list alignment CL# 1500199 +PLAT-90535:[RAv3] Add MSG Notify SMU to Read ROM2/3 Base Address +PLAT-90975: [PJX] Fix Security violation logging +FWDEV-2790:[PHX] Fix a bug on ISP TMR layout +FWDEV-4693:[PHX] Split CRU public registers structure +DEPHXE-201: Set 1 in SOC_GAP_PWROK before resetting IMU +FWDEV-4696: [PHX] Update RLC TOC size, load vector location and Firmware ID +FWDEV-4056: [PSP_TOS][TMR setup] Remove check for DrQuerySriovState() +FWDEV-4078:[Navi3x] Enable debug mode of IMU boot +FWDEV-4685:[Navi31]Disable PreSetIpFw function call for RLC-V +PLAT-90864: Add DMCUB mailbox commands for iUSB4 +PLAT-89961: Disable CCP PG on WFI entry +PLAT-88557: ACP SHA DMA clears interrupt then acknowledge +FWDEV-4695:[PHX] Fix size of TMR region returned by Load TOC command +PLAT-69017: Kernel-to-SMM-mode privilege escalation via racy SMM check +FWDEV-4498:FWDEV-3831:[Navi3x] Update TOC and add support for CP MES_KIQ +FWDEV-4476: [Navi 33]: Migrate to LSD SOCCL - 5090167 +PLAT-85816: Sanitizing the parameters in Debug Print Syscalls +FEAT-37545: [PSP TOS] RAP validate new features for navi31/navi33 +FWDEV-4694:[PHX] Update IPU interface registers according to spec +PLAT-90753: Move RPMC Macro Definitions to Shared file +PLAT-85105:[RMB]DynamicBoost2.0 Feature Implementation +FWDEV-4599:[Navi3x] Disable SMU DF Cstate calls till PM FW is ready +FWDEV-4600:[Navi] The burst operation needs 256 byte aligned address +PLAT-89906: [RMB][Level3]Failed to enable FW protection with HSP+fTPM+RA enable mode. +FWDEV-4433: Remove HSP_S0I3_ENABLE flag +FWDEV-3245: Add PAD to RPL - tOS +FWDEV-3944: [RPL] RAS enable +PLAT-88285: [RMB] DeriveHmacKey once per boot. +DERPLE-342: WaitToSaveMpioSram is only required for S0i3. +FWDEV-4567 [MDN] Update MDN ASIC detection +PLAT-77943: [SP] [RAS] Support SMN/MP1 Fatal Error Handling +PLAT-77055: [SP]: Add support for TWIX error handling +FWDEV-4627: [RPL] Update CS-SEED-based KDF and Key Unwrapping +FWDEV-4056: [PSP_TOS] fix TMR size calculation for VCN_RAM +FWDEV-4056: [PSP_TOS][navi33] Enable seprarate VCN_RAM_TMR for navi33 +FWDEV-328: Enable MP0CLK_DPM_UPDATE for RPL +PLAT-89221 RMB: Disable SMI triggering to x86 when FLAG_ID_DISABLE_SMM_ACCESS set. +FWDEV-4575: Add MFD Pre-Si key to API permissions +PLAT-85841: Prevent memory corruption in kernel syscalls +FEAT-37545: [PSP TOS] RAP apply new features for navi31/navi33 +PLAT-89221 RMB: Disable SMI triggering to x86 when FLAG_ID_DISABLE_SMM_ACCESS set. +FEAT-37454: [NV31 BL] -copy scpm status to Secure mp1 general dram map region. +FWDEV-4109: [PSP TOS] fix core chiplet API +FWDEV-4451: Update for getting the size of gRsmuPresentId[] +PLAT-89160: [SP] Enable STB support +FWDEV-4109:[MI300] add core struct to TOS mailbox +FWDEV-3981: [PHX] Add IPU interface initialization to RsmuIntrptThread +FWDEV-2790: Fix the event order in ISP interface thread +FWDEV-3831:[Navi3x] Fix a typo error +SCSW-7672: Enable SMI and disable RAP loading in PJX +PLAT-87137: Clear RomArmorV2 enable flag when system enters S3 +PLAT-85843: Validating the Param0 in SVC_MAP_MMHUB +FWDEV-4191: Update Current BIOS CMD +PLAT-85868: Ensure malformed MP2 RAM1 region can't Violate Memory Safety +PLAT-85837: Prevent out-of-bound read in SMI Mailbox CalulateCheckSum +PLAT-85844: Prevent Integer Overflow in SVC_ALLOC_PROCESS_SPACE +FWDEV-3981: [PHX] Fix IPU loading and Releasing code +FEAT-37454: [NV31 BL] -copy board config table along with pptable to Secure mp1 general dram map region. +PLAT-77943: [SP]: Enable RAS support +PLAT-86560: Move gRsmuPresentId to .c file +PLAT-84484: [RMB-B0] Updated CS-SEED-based KDF and Key Unwrapping +PLAT-87963: [SP]: Extend upper bits in SMM Mask value +FWDEV-2790: [PHX] Update C2P_MSG registers for the VTL1 interface +FWDEV-4346: Add PSPSMC_MSG_SaveZscState message to S3 Entry flow +PLAT-85831: Check for Integer Overflow when verifying TMR address +FEAT-38652: [PSP TOS] Add empty function for VCN0/VCN1 Power-On +FEAT-38655: [TOS]Configuration of system firmware features through SFFS(System Firmware Feature Enablement) binary +FEAT-38652: [navi3x][PSP TOS] (8) handle SMU to PSP message for VCN0/VCN1 Power-On +FWDEV-2790: [PHX] Disable FMR setup when RAP is disabled +FWDEV-3335:[NAVI31][RAS]Enable MSMU SRAM Data Parity Handling +SCSW-7672: Add support for Project X +FWDEV-3967 Update MDN RSMU config +DEPHXE-137: RAP subsection can have no register settings. +FWDEV-303: [RPL] Smart Trace Buffer +FWDEV-4050:[NAVI31][SRIOV] Enabled SRIOV flag and set supported VFs to 15 +FWDEV-2790: [PHX] Add support to ISP in PHX + +fTPM +----- +PLAT-86622: [RMB]Z-state Entry and Exit notification Handling in FTPM +PLAT-87770: [RV/Fremont]Support Hmac Validation and Unwrapping with Legacy Key +PLAT-87251: [RMB]Fix a bug in debug code logging in MP0 C2PMSG8 +PLAT-64173: [VGH]Fix a bug in computing total HSP NV data in HSP mode +PLAT-80506: [RMB]Wait for RPMC Inc to finish after SMC Inc when RA2 enabled + +DRTM +----- +PLAT-88160: Remove build warning with ARM V6 +PLAT-87437: Doxygen documentation for DRTM TA code +PLAT-89221: [RMB] Disable SMI triggering of PSP to x86 when Drtm commands are in progress +PLAT-89221: [RMB] Add DRTM commands DRTM_CMD_SMM_DISABLE and DRTM_CMD_SMM_ENABLE for PSP to x86 Smi trigger diable/enable + +Release Version 0.11.0.71 +----------------------------------- +** AMD FIPS certification is pending +*FTPM updated to version 3.73.0.5 / 3.73.2.5 (for BRC) +*DRTM updated to version 4.11.0.27 + +Bootloader +---------------- +PLAT-85867: Validating pointer argument in SVC_ADD_ENTRY_MP2_RAM1 +PLAT-86518, PLAT-86519: Do not clear KDR on unlock +PLAT-85847: Add a check for integer overflow in IS_OUTSIDE_SRAM +PLAT-85871: Validate L1 BIOS Directory Header before use +PLAT-85851: Adding validations in SVC_MAP_USER_STACK +PLAT-85870: Validate the argument in SVC_SET_DEBUG_UNLOCK_INFO +PLAT-85866: Memory Corruption In Debug Unlock Syscalls + +Trusted OS +---------------- +PLAT-77354: Add BIOS command to handle Intrusion detection config +PLAT-85826: Prevent TOCTOU when persisting Data to MP2 SRAM +PLAT-87161: [SP]: Revert security policy as part of secure debug unlock +FWDEV-3960:[RPL] Wait on MPIO save request on s3/s0i3 entry +PLAT-83902: [SP]: Enable TMR Support +FWDEV-4306: Increase PSP OS SRAM size +PLAT-79871: Verifying late PSB fusing +FEAT-37545: [PSP TOS] (5) Load RAP L1 to a separate DRAM space +FWDEV-4304: Invalidate TLBs while mapping process' L2 page table +FWDEV-4199: [RPL] Apply suspend RAP policy on S0i3 entry +SWDEV-295031: [NV31] Transition SDU protocol signatures to HMAC - TOS +PLAT-85828: Prevent TOCTOU when verifying Manageability OS +PLAT-87185: RMB increment SPL=1 for psp_os and drv_sys +SWDEV-272821: [NV31] Implement the ROM Image Parser in the PSP Sys Drv +RTGPLAT-7179: [PSP TOS] fix DEBUG_UNLOCK logic for RAP V1.0 +PLAT-83460: [PSP_TOS] Support DEBUG_UNLOCK after NP RegUnroll +PLAT-85110: System hangs with 0x8052 on BOOT_DONE while S3 resume +PLAT-86519: [PSP TOS] Do not clear KDR and SSA bits oni DEBUG_UNLOCK +PLAT-88066:[RAv3] Reduce Wait Time for PSP2SMU Messages +FWDEV-3990: [PHX] LSD- change list alignment CL# 1476284 +FEAT-37545: [PSP TOS] (4) On RAP VALIDATION, check GFX power_state +PLAT-70906: Add fw-sign support for AER +PLAT-70906: Add fw-sign support for RPL/RMB/PHX (2) +FEAT-37545: [PSP TOS] (3) write IMU register to consume GC_RAP_TMR +FWDEV-4200:[NAVI31][RAS]Enable SMN Slave Timeout, SMN Data Parity, MP1 ECC Error, Sync Flood error handling +PLAT-83538:[MI200]Add new command to respond MP1 query for allowing access for Diags +PLAT-87031: Remove MBOX_TOS_RECOVERY_MASK for validate binary in memory +PLAT-87352:[RAv3] Fix SMU MSG TimeOut Issue +PLAT-86622: Notify drivers of z-state entry/exit +FEAT-37545: [PSP TOS] (2) add GC_TMR to BL_TMR_INFO +FWDEV-2666: [PHX] Erase GFX IMU iRAM and dRAM contents when hash validation fails +PLAT-70906: Add fw-sign support for RPL/RMB/PHX +FWDEV-3581 Initial version of MDN code +FWDEV-318: [RPL] RAS Features - Twix +PLAT-87352:[RAv3] Enable MMIO Access with RomArmorV2 +FWDEV-4104:[Navi31] Fix the IMU reset code +FWDEV-3819: Added PROM21 key for RPL +FWDEV-4068: [PHX] Save ZSC/DF/UMC MSMUs on S3 +PLAT-85859: Prevent Out Of Bounds Write in SetLoadVectorAndCopyToc +FWDEV-4045: [Navi31] Migrate to LSD regspec +FWDEV-3831:[Navi3x] Add support for RS64 MES/KIQ and SDMA THx +PLAT-85839: [Chrome]: Return error for BIOS_CMD_START_KVM +PLAT-85862: Changing the ReqKeyUsage value passed to KeyDbFindKey +FWDEV-3981: [PHX] Add Inference Processing Unit (IPU) - PSP FW Support +PLAT-86518, PLAT-86519: Do not clear KDR on unlock +[FWDEV-2666] Add support for saving/restoring GFX IMU on S0i3 sequence +FWDEV-2768: Save S5 RAM contents to DRAM on s3/s0i3 entry +PLAT-85853: Avoid Double Fetch in BIOS_CMD_BOOT_SPI_ROM Handler +PLAT-85291: Return appropriate error codes in ACP Firmware Validation +SWDEV-295922: Locked in enums for DFC feature for other asics +FWDEV-3958: Add missing flags for RPL in tOS +SWDEV-292789:[Navi2x][SecAudit] Fix issue of buffer overflow in Load Module +SWDEV-293896: [Navi 33]: [Porting] [Fix] Correct the CRU structure as per PPR +PLAT-85854: Avoiding PanicFinal function to return +PLAT-86850 Correct DF register definitions +PLAT-85834: Prevent TOCTOU attack in BIOS_CMD_SET_RPMC_ADDRESS +PLAT-78078: [SP]: Update Axuser bits in the MapSyshub Address +PLAT-72423: Add implementation for dUSB4 DrvSys call +PLAT-86720 RMB: Enablement of RA1 under ENABLE_ROM_ARMOR_v1 flag +SWDEV-295031: [NV31] Transition SDU protocol signatures to HMAC - TOS +FWDEV-3925: Add HSP_ENABLE flag for RPL in TOS +PLAT-85897: [SP] Support AES-256 UMC keys +FWDEV-3824: [PHX] Move MSMU dRAM save to new 1 MB section in DRAM +PLAT-85856: Validating the size of parameter in SVC_TA_DRIVER_CALL +PLAT-85700: [SP]: Reserve unused Secure DRAM for S5 +PLAT-86663: Increase system driver memory size +PLAT-85846: Check for integer overflow in SVC_SET_TMR +PLAT-83460 : [Navi24][PSP_TOS][NPM] add SmuGfxOn to Non-Prod RegUnroll +PLAT-83460 : [navi2x][PSP_TOS] On disallow GFXOFF from PSP, wait GFXOFF_EXIT +FWDEV-3806: Clean up the usage of SMN_ADDR_UNDEFINED +FEAT-37545 : [PSP_TOS][Navi3x] define asic_types: NV31, NV33 +SWDEV-294010 MI200: Set mmUVD_POWER_STATUS_alt_1 for VCN1 on MMSCH FW load. +PLAT-84331 Add separate VCN RAM support for SRIOV. +FWDEV-3282: [PHX] LSC+ change list alignment CL# 1454132 +PLAT-86295: [SP]: update the RSMU Timeout register address definitions +PLAT-86147: Update in SPI write for x86 not released case +DEPHXE-112: update mmDF_PSP_MISC_MODE address +SWDEV-291800:[Navi2x][SecAudit]Fix issue with signature address for multi-header case +PLAT-84331 Wrap SetNumOfVfs in SRIOV build flag. +PLAT-84331 Make setting VF Num return required TMR size to driver. Fix naming. +SWDEV-287185 Fix mailbox status and FW version reporting in vfgate. +RTGPLAT-7252 : [PSP TOS] fix RAP L1 mismatch failures +PLAT-84000: [TOS]Enable compiler errors on use of an uninitialized variable +FWDEV-2171: [PHX] Skip z-state MPIO FW restore if entry aborted +SWDEV-293709:[Navi31] Correct the CRU structure as per Navi31 PPR +SWDEV-293771: [Navi 33]: Update AxUser.space encoding on MMHUB AXI interface +FEAT-37454: [PSP BL] - only DGPU support Place SCPM Authorization result in Boot time TMR for KMD +SWDEV-262656: [Navi31] Update AxUser.space encoding on MMHUB AXI interface +FWDEV-2171: [PHX] Fix z9 exit MPIO restore hash check +PLAT-81894: PSB Disablement +FWDEV-3322:[RPL] Align to LSE CL +PLAT-85957: Removed Stress_Test Related Code +PLAT-85129: Added support to write postcode from MPM without 0xEF prefix +FWDEV-2171: [PHX] Restore MPIO on z9/z10 exit +SWDEV-292630: [Navi 33]: Add dummy fuse_defs.h for build fix +SWDEV-289828: [Navi 33]: Add Build support +SWDEV-289828: [Navi 33]: Add DGPU Family ID to drv_sys header +SWDEV-289828: [Navi 33]: Add header binary +SWDEV-289828: [Navi 33]: Add header files [SOCCL - 4935075] +PLAT-83652: Clear SMNCLOCK in S5_MISC_CTRL register +FEAT-37456: [PSP TOS] - Allow Soft PPTable front-door loading from KMD +FWDEV-1201: [PHX] SKINIT support for HSP-fTPM +LWPTEE30-104: Make apu-bl be able to build with amd-tee3.0 +SWDEV-291600:[Navi31] Skip Encrypt/Decrypt operation on Simnow +SWDEV-287120:[Navi3x] Reserve GFX FW TYPE values for SDMA TH0/TH1 +FWDEV-3271: Add function to write POSTCODE using full 32-bit value +PLAT-85222: Update USB4_0/1 SRAM address +FWDEV-3216: [RPL] Update fuses to align with B010 +PLAT-59672[RMB][DRTM]: Update DRTM InitTPM for HSP-fTPM case +Revert "FWDEV-3153: [PHX] Remove dmcub TMR on non-secure" +PLAT-79838 : [PSP TOS] fix RSMU Violation Logging (legacy scheme) +PLAT-59672: HSP-fTPM Locality control support. +PLAT-85147: Apply unlock policy on whitelist case +PLAT-83477: Intrusion Detection +PLAT-84499:[RMB] memcpy to replace CCP as a temporary patch. +PLAT-84684: PSP Unlock failure on RMB FP7/FP7r2 with RA2 enabled +FWDEV-1523: [RPL] Enable default use of iKEK_TA in tOS +FWDEV-3211: Move s5 sram functions to s5sram.c +FWDEV-2993: Move S5RamHashInfo struct to shared_bl2os folder +PLAT-83995: Add SysDriver support for Widevine Device ID +FEAT-37454: [PSP BL] - load pptable from mp0 secure dram to mp1 secure dram. + +fTPM +----- +PLAT-86622 RMB: Z-state Entry and Exit notification Handling in FTPM +PLAT-87770 RV: [Fremont ]Support Hmac Validation and Unwrapping with Legacy Key +PLAT-87251 RMB: Fix a bug in debug code logging in MP0 C2PMSG8 +PLAT-64173 VGH: Fix a bug in computing total HSP NV data in HSP mode +PLAT-80506 RMB: Wait for RPMC Inc to finish after SMC Inc when RA2 enabled + +DRTM +----- +PLAT-78536: Migrate to DRTM build using connan +PLAT-74088: [RMB][HSP]SKINIT/uCode doorbell interface to support HSP-fTPM-based DRTM +PLAT-85240: TMR release change + +Release Version 0.11.06.70 +----------------------------------- +Bootloader +---------------- +PLAT-92313: Increase MP0 clk to max at stage1 boot +Trusted OS +---------------- +PLAT-82622: [Chrome]: Qualify unsigned ACP FW on chrome OPN + +Release Version 0.11.05.70 +----------------------------------- +Bootloader +---------------- +PLAT-91331:[Chrome]: Remove internal urls and names from the code +PLAT-92119:[Chrome]: Use MP2 Ram1 to save verstage provided info +PLAT-92553:[Chrome]: Support cache clean of unaligned address +PLAT-92553:[Chrome]: Unaligned access test case for ccp dma +PLAT-92554:[Chrome]: Skip re-cofig of spi speed in stage 2 BL +PLAT-93361: WA fix in setting max memory clock +Trusted OS +---------------- +PLAT-92119:[Chrome]: Introduce build flag BUILD_CHROME in TOS + +Release Version 0.11.04.70 +----------------------------------- +Bootloader +---------------- +PLAT-85816:[Chrome]: Sanitizing the parameters in Debug Print Syscall +PLAT-90934: SHUBCLK does not enter deep sleep +PLAT-86412: Perform cache operations after remapping mmu for TOS. +FWDEV-2944: Enable cache for stage2 BL code and RO data +PLAT-91464:[Chrome]: Remove fuse support from stage 1 BL +PLAT-91464:[Chrome]: Pass vendor id info to stage 2 BL +PLAT-85820:[Chrome]: Validate SizeFWSigned in Image Header before use +PLAT-91464:[Chrome]: Perform vendor id fusing in stage 2 BL +PLAT-91464:[Chrome]: Coverity fix for chrome.c and kdf.c files + +Release Version 0.11.03.70 +----------------------------------- +Bootloader +---------------- +PLAT-85819:[Chrome]: Validate the SPI flash Address +PLAT-89496:[Chrome]: Load and execute psp verstage in S3 resume +PLAT-89950:[Chrome]: cache clean invalidate during ccp passthrough +PLAT-85861:[Chrome]: Unmapping the Syshub mapped address on Error Paths +PLAT-85848:[Chrome]: Validate the psp & bios directory Address +PLAT-90311:[Chrome]: Pass Axi address in unmap_smn of ccp dma svc +PLAT-90074: Add smart trace support to BL +PLAT-90311:[Chrome]: Handle error if map or unmap of smn fails +PLAT-90072: Increase MP0 clock frequency after MP1 f/w load + +Release Version 0.11.02.70 +----------------------------------- +Bootloader +---------------- +PLAT-85756:[Chrome]: Do not load Verstage in S0i3 path +PLAT-85818:[Chrome]: Validate L2 directory table TotalEntries +PLAT-85822:[Chrome]: Avoid integer overflow in SVC Call Input Validation + +Release Version 0.11.01.70 +----------------------------------- +Bootloader +---------------- +PLAT-79422:[Chrome]: Remove workaround in init of secure debug unlock +PLAT-88041: Set SPIROM speed in stage1 bootloader +PLAT-88085:[Chrome]: Add support for CCP pass through in stage 1 BL +PLAT-88085:[Chrome]: Add svc call for ccp dma +PLAT-88085:[Chrome]: Add test case for spi rom copy using ccp dma +PLAT-87526:[Chrome]: Update boot time stamps in MP0 C2PMSG registers + +Trusted OS +---------------- +PLAT-81023:[Chrome]: Remove unused keys from TOS and system driver +PLAT-83301:[Chrome]: Rebase to amd-staging till 00.11.00.70 + +Release Version 0.11.0.70 +----------------------------------- +*FTPM updated to version 3.68.0.5 + +Bootloader +---------------- +PLAT-83850: Add RPMC provisioning check for system +FEAT-33383: [SPIROM-CONFIG] Avoid overwriting few bits in Addr32Ctrl2 +PLAT-82078: [SPIROM-CONFIG] Bug fix in correction of dummy-cycles + +Trusted OS +---------------- +PLAT-85001: Bug fix in SaveMsmuToS5Sram +PLAT-64168: [RA2] Handle error conditions appropriately +FWDEV-2682:[RPL] Debug unlock with CCD support +PLAT-84486: Added Promontory V2 (PROM21) key for RMB B0 +PLAT-83850: Add RPMC provisioning check for system +FWDEV-2782: Authenticate and load Lite-SDMA FW +DEPHXE-85: [PHX] Disable MP0 clock gating and mem deep sleep +PLAT-74080: Add command to validate binary in memory +FWDEV-3011: [PHX][TOS] CPU deep sleep from MP0 FSDL +FWDEV-3153: [PHX] Remove dmcub TMR on non-secure +SWDEV-289683:[Navi3x} Use SMN mapped address for CCP base +PLAT-79838 : [PSP_TOS] fix RSMU Violation Logging C2P_26 +PLAT-83767: Add function to pass FW Attestation info to MPM +FWDEV-2761: [PHX] Remove S3-only S5 RAM entries on s0i3 entry +FWDEV-2766: Move Segment MSMU dRAM hash to secure DRAM +FWDEV-3142: Add MapSmn failure check in MapFwDestAddr +PLAT-83851: [RMB] New PSP -> HSP command for error handling +FWDEV-2664: Fix MI200 mpio.c compile warning +FWDEV-3143: Swtich Rom Armor HMAC comparison to constant time +PLAT-82589: Increase size of MPM DRAM to 16 MB +PLAT-84479: [SP] update Number of UMC channels +PLAT-84391: Add handler for Signal Thread +FWDEV-2551: Modulo bias in ecdsa_sign_rdata nonce generation. +PLAT-81752: RMB Chipset Authentication Requirements +FWDEV-1242: [PHX] USB3.1 Support - PSP FW +FWDEV-2668: [PHX] Remove MP0 only registers from S0i3 flow +PLAT-82396: Drv_sys interface to check if platform is chromebook +PLAT-83460 : [Navi24][PSP_TOS][NPM] block RegUnroll only for Headless +PLAT-83910: [SP]: update the MP1 P2SMSG register +PLAT-83921: [SP]: Update SMN addresses of FICAAR/FICADR +SWDEV-283451: Update maximum XGMI link record +FWDEV-2651: [RPL] [TOS] CPU deep sleep from MP0 FSDL +SWDEV-283300: Update TMZ Config on Rembrandt +SWDEV-274044 : [Navi2x] Fix Priv_PassThrough which skips copying some bytes +PLAT-83902: [SP]: TMR Support +PLAT-64173 VGH: Add HSP Persistent Storage Commands +FWDEV-1470: Key usage flag for GFX IMU firmware +PLAT-82453: Apply GC internal policy on APU +FWDEV-2714:[RPL] Enable SW SHA implementation +SWDEV-286518:[Navi24] Fix DF_PIE_AON_LinkTgtMode__SrcRspLnkBiasMode_MASK value +PLAT-83765 RMB: Add function for DRV_SYS_CMD_ID_FTPM_TPM_CLK_NV_UPDATE_INTERVAL API +SWDEV-282659:[Navi31] Migrate to v31 regspec +PLAT-81640 : [PSP TOS] Revert change for ConfigureRSMUTimeout(Id) +SWDEV-285742:[Navi] Add build flag to aggregate over Navi family +PLAT-82662 RMB: Terminate HSPNVHandlerthread when HSP not enabled +PLAT-83460 : [Navi24][PSP_TOS][NPM] Apply RAP_V1 EntryType for NP_MINIMAL_UVD0 +FWDEV-2794: [PHX] Update MMHUB FID0 +SWDEV-285742:[Navi3x] Enable Navi3x flags for the relevant code +FWDEV-2741:[RPL] Save MPIO sram on S0i3 entry +SWDEV-285606:[Navi31] Use the correct TOC header +SWDEV-271189 [MI200][SR-IOV]: Move MEC VF FW into TMR +AER-717: Enable SW SHA implementation +SWDEV-251569 : [PSP TOS[RAP] RAP_VALIDATION should fail if no entry found +PLAT-83460 : [Navi24][PSP_TOS][NPM] Apply RAP_V! EntryType for NP_MINIMAL +SWDEV-271190 [MI200][SR-IOV][Azure]: Enable DFC and CAP loading (GFX 9) +PLAT-72423: Setup API for dUSB4/PT21 loading +FWDEV-2665: Fix reserved DRAM address for MSMU dRAM +PLAT-60775: [RMB][HSP][DRTM]HSP-fTPM CRB interface support for DRTM use +FWDEV-2665: Save MSMU dRAM context for S0i3 +FWDEV-2739: Write RAP V2 to CCD +PLAT-82593 : [PSP TOS][NPM] fix typo when applying NP_MINIMAL lock +FWDEV-2664: Add MPIO command to save SRAM for s0i3 +PLAT-81599: [RMB][Mayan\Lilac][00.28.00.2B]Secure Debug Unlock pop-up shows error, but status is unlocked +SWDEV-251569 : [PSP TOS[RAP TA] fix RAP_VALIDATION double-counting mismatch +SWDEV-285216 [MI200][SR-IOV][Azure]: Fix drv_sys BSS zeroing. +FWDEV-2656: Add function to save S5 SRAM and TMRs on suspend +PLAT-82172: Unbootable partition register checks current partition +FWDEV-2710: [PHX] Enable SW SHA implementation +PLAT-74088: [RMB][DRTM]Added SKINIT/PSP Interface change to Support HSP-fTPM DRTM +SWDEV-262225 : [PSP TOS][RAP][SRIOV] Fix RAP detection of SRIOV-enabled +PLAT-74088: [RMB][DRTM]Added SKINIT/PSP Interface change to Support HSP-fTPM DRTM +SWDEV-247336: Use UUID to remove TA records +FWDEV-2402: [RPL] RDRAND support +FWDEV-2402: Update PMFW supported message for RPL and CSTATE defines +FEAT-38248: [NV31] [PSP TOS] - [PSP TOS] Enable MP0 TOS trace log. +SWDEV-285059:[Navi31] Include FWID in the sysdrv binary +FWDEV-2635: Enable RAP V2 for APU +FWDEV-2663: [RPL] Align to LSD 1428363 +SWDEV-283282: [NV31] Implement the Trusted SPI Update main sequence in PSP TOS +PLAT-82599:[tOS] Set UNLOCK STATUS bit of mmMP0_FW_OVERRIDE for secure unlock. +PLAT-81640 : [PSP TOS] fix issue with SMN Data Parity Handling +SWDEV-257759: DC Debug: Fix encryption buffering for PSP SOC Snapshot +FWDEV-317: SKINIT support for RPL +FWDEV-2593: [PHX] Initialize TOS KeyDB +SWDEV-284554: [NV31] Enable STB +PLAT-82174: Add SVC Call to Control PSP-eSPI Feature +PLAT-79859: Add SMU2PSP message to apply suspend RAP policy +FWDEV-2382: [PHX] E.0.1.1 LSC change list alignment Cl# 1414803 +FEAT-37545 : [PSP TOS] Enable RAP Validation support for NV31 +PLAT-82593 : [PSP TOS][NPM] Bypass RAP rollback and NP Lock on non-secure parts +FWDEV-1266: [PHX] Disable STB +SWDEV-275378:[MI200] Retrieve total number of direct links between peer dies +SWDEV-272821: [NV31] Implement the ROM Image Parser in the PSP Sys Drv +SWDEV-283282: [NV31] Implement the Trusted SPI Update main sequence in PSP TOS +FWDEV-308: [RPL] Save MSMU GFX dRAM in PSP DRAM +RTGPLAT-6864 : [NV24] MP0 unable to enter deep sleep after enter WFI +SWDEV-278013 : [PSP TOS][NPM-mode] clear XGMI keys on Non-Prod RegUnroll +FWDEV-2352: Update TMR_MMHUB_FID0 for Raphael +PLAT-82276:Skip HSP suspend command +PLAT-82155: Create FW Att mutex for all asics that use it +FWDEV-362: Add USB support for RPL +SWDEV-280155: [NV31] Implement SPI control sequences (write) in PSP TOS +PLAT-81630: Fix compile warning with MFD +SWDEV-278013 : [PSP TOS] Apply RAP NP_MINIMAL +PLAT-81641:[MI200][RAS] Writing to CPU DF RAS Interrupt control register for WAFL Err Overflows + +fTPM +----- +PLAT-82265: Port Errata 1.12 Changes with BUILD flag +PLAT-83771: Correct CONTEXT_SLOT definition +PLAT-83765: Obtain NV update interval of TPM clock from PSP +PLAT-84169: Update coppyright header for Palamida scan +PLAT-64173: HSP Persistent storage in PSP-FTPM mode + +DRTM +----- +N/A + +Release Version 0.11.3.6E +----------------------------------- + +Bootloader +---------------- +PLAT-82503:[Chrome]: Remove the svc_enter test case +PLAT-82503:[Chrome]: Remove the test svc_enter svc +PLAT-81046:[Chrome]: Add tests for SHA 256/384 operation +PLAT-81046:[Chrome]: Add svc call for SHA operation +PLAT-81046:[Chrome]: Add support for SHA operation in stage 1 BL +PLAT-81046:[Chrome]: Extend bootrom interface to support multipass SHA +PLAT-81046:[Chrome]: Add support to call bootrom SHA and CcpSHAKeySetup + +Release Version 0.11.2.6E +----------------------------------- + +Bootloader +---------------- +PLAT-84890:[Chrome]: Update stage2 boot time in public scratch register +PLAT-84851:[Chrome]: execute unsigned verstage with authenticated verstage key +PLAT-84854:[Chrome]: Fix build warnings + +Trusted OS +---------------- +PLAT-81523: [Chrome]: Do not load fTPM and DRTM driver if chrome opn +PLAT-85001: Bug fix in SaveMsmuToS5Sram + +Release Version 0.11.1.6E +----------------------------------- + +Bootloader +---------------- +PLAT-84453:[Chrome]: Update PSP BL to verstage info +PLAT-81960:[Chrome]: Fix in verstage key validation +PLAT-83301:[Chrome]: Rebase to amd-staging till 00.11.00.6E + +Trusted OS +---------------- +PLAT-83995:[Chrome]: Add SysDriver support for Widevine Device ID +PLAT-82396: Drv_sys interface to check if platform is chromebook + +Release Version 0.11.0.6E +----------------------------------- +*FTPM updated to version 3.61.0.5 +*DRTM updated to version 04.11.00.22 + +Bootloader +---------------- +PLAT-81867: [SPIROM-CONFIG] Different UID in warm & cold boot +PLAT-81103: Fix ASF remote power down issue. +PLAT-72713: Clear PMIODEBUG:cf9rstdisable bit before triggering warm reset (CF9 shadow reset). +FEAT-33382: Align CS definition to PPR document + +Trusted OS +---------------- +PLAT-64168: Fix enabling SPI Locking hardware feature +FEAT-37545 : [PSP TOS] Enable asic_types: NV31 +FWDEV-2562: Skip ClearSMMLock for RPL +PLAT-73559 fixing compiler warning +PLAT-81708: Revert multi-block Decryption commits +FWDEV-2538: Add RPL to support A/B partition. +PLAT-81630: Configure IOMMU Bypass when MFD restores MPM +SWDEV-282358 [MI200][SRIOV]PSP can't program MC registers for VF +SWDEV-281753: Clear XGMI AES keys after SDU +PLAT-73559 [CZN Manageability] Expose "Skip Pro Check" API for Manageability TA +PLAT-81641:[MI200][RAS]Correct logic to increment ErrCnt for WAFL Correctable error +PLAT-81487: [RMB] - Unblock TCG Logs Query command (BIOS to PSP) when HSP is failed +SWDEV-278013 : [PSP TOS][RAP] Clean-Up RAP V1 & V2 defines +PLAT-72541: Exposed TPM Type selection for broader use +FEAT-37545 : [navi31][PSP TOS] Enable basic support for navi31 RAP V2 +FEAT-33382: Align CS definition to PPR document +FWDEV-1266, FWDEV-2427: [PHX] Enable STB and HSP +PLAT-81566: SW SHA Support unaligned accesses +FWDEV-2398: Support TMR and FMR +PLAT-81548: Add Manageability Functional Driver Id + +fTPM +----- +PLAT-72541: Select PSP-FTPM as default TPM mode + +DRTM +----- +PLAT-72541: Added TPM Type Selection + +Release Version 0.11.0.6D - Cancelled +----------------------------------- +*FTPM updated to version 3.59.0.5 + +Bootloader +---------------- +PLAT-80494: Select APU/NPU security policy dynamically +PLAT-77759: DRTM launch failure when RA2 enabled + +Trusted OS +---------------- +SWDEV-273505: Support decryption FW with size of more than 4KB +FWDEV-2426: SMN addresses of FICAAR/FICADR in DF v4 +PLAT-78580: Boot fail when swap CPU with RAv2 enabled +SWDEV-273884:[NP] Search for non-prod keyID in secure mode properly +SWDEV-280155: [NV31] Implement SPI control sequences (write) in PSP TOS +PLAT-79711: Fix debug unlock on NPU +PLAT-78434: [RMB] Use SW SHA in TEE interface +PLAT-80468: fixing the issue with RDRAND re-seeding in RMB and PHX +SWDEV-263509:[Navi3x] Authenticate and load IMU firmware +PLAT-80944: Enable_PRO_Check for FW to check and control L3 security feature +FWDEV-310: Share hsti_def.h between BL and TOS +SWDEV-275348:[Navi3x] Load IMU GTS offset registers +SWDEV-278387:[Navi3x] Keep the TOC FW ID table separate +SWDEV-273413:[Navi3x] Load GFX configuration settings to RLC Transfer RAM +SWDEV-278387:[Navi3x] Add GFX_11 support on the tOS +PLAT-77759: DRTM launch failure when RA2 enabled +FWDEV-329: Disable IKEK_TA support for TOS on RPL. +SWDEV-259320 : [PSP TOS] DC Debuggability: dump MP0 TraceLogs +PLAT-80792: [RMB] Enable HSP by default +FWDEV-1239: [PHX] Add z-state support +FWDEV-307: Directly access TMR/FMR regs for DF v4 +PLAT-80267:[RPMC]Add RPMC report version to make rpmctool backwards compatible. +PLAT-64168: Addition of flag to enable CS switching +PLAT-80449: Add MPM deep sleep ready condition + +fTPM +----- +PLAT-80107: Make TPM1.38 Errata 1.4 fully compliant with BUILD flag + +DRTM +----- +N/A + +Release Version 0.11.0.6C - Cancelled +----------------------------------- +Bootloader +---------------- +PLAT-64168: Remove hardcoded opcode2 info +PLAT-79445: Fix NPU detection in bootloader +PLAT-70421: FIPS RN Development BootRom Func Support + +Trusted OS +---------------- +PLAT-64168: Enable SPI Locking hardware feature +PLAT-79198:MI200[RAS] - RAS SMU Fatal error is level triggered +SWDEV-257759 : [PSP TOS] DC Debuggability: Add Encryption Library +SWDEV-253904: Update runtime TMR setup for A+A +SWDEV-279046:MI200[RAS] - WAFLC Correctable error need to increment ErrCnt in MCA register +SWDEV-255822 MI200-SRIOV Ucodes Frontdoor Loading +FWDEV-350: Add S3 support for RPL +FWDEV-297: Align TOS fuse offset to CL1398554 +SWDEV-277081 : [PSP TOS] Propagate "IsHeadless" flag for navi24 RAP TA +PLAT-78753: Enable EC-eSPI-PSP SPI-ROM Access Interface +SWDEV-273884: [Mi200][NP] Cripple AQL entry in ME Jump Table +FWDEV-319: Add support for saving data to MSMU DRAM +PLAT-80242: Add ENABLE_USB4 in build flags +PLAT-64168: Remove hardcoded opcode2 info +FWDEV-1258: [PHX] support RAP v2 +FWDEV-313: [RPL] Enable S0i3 +PLAT-80370 RMB: Map RA2 status to Flag FLAG_ID_RA2_STATUS +DERMBE-868: Increase USB max size in secure DRAM (2) +PLAT-80155: fix DFP registers on AER(VGH)/RMB/PHX +PLAT-80242: [PHX] Exclude ENABLE_USB4 +PLAT-79651: Update conditions for MPM PCI WLAN sequence +DERMBE-868: Increase USB max size in secure DRAM +PLAT-60131: Add functions for MPM deep sleep +PLAT-64168: ROM-Armor v2 for clients - phase11 +PLAT-80051: Remove AEPP buffer in MPM restore API +SWDEV-273505:[MI200] - BUILD_CCP_CTRL_SMN Kconfig aligned for CCP related features +SWDEV-272821: [NV31] Implement the ROM Image Parser in the PSP Sys Drv +SWDEV-274838 : [PSP TOS] Use RAP Policy Alternate List +PLAT-64168: Cleanup of RA2 for RMB program +PLAT-80121: Increase size of stacks in psp kernel of amd-tee2.0 +SWDEV-273505: Decrypt image before loading into the destination +PLAT-79203: [RMB] DRTM security policy applied causes violation +PLAT-79201: [RMB] DRTM TMRs not set up correctly +FWDEV-1676: [PHX] E.0.0.8 LSCm change list alignment CL# 1399276 +SWDEV-277606: [Navi24] Block NP RAP rollback functionality on headless SKUs +SWDEV-253227: PSP Secure Kernel SVC Call - User guide +AER-519: Send PSPSMU_MSG_DFCSTATE_DISABLE before accessing TMR registers +PLAT-75500: Update anti rollback support for 64-bit SPL fuse +SWDEV-266668 : [PSP TOS] MP0_C2PMSG_62 dump SlaveErrorAddr +SWDEV-263509:[Navi3x] Allocate a FW TYPE ID for IMU FW +PLAT-79866: Increase the size of stacks in amd-tee2.0 +PLAT-79386: [RMB] Remove SDMA FW restore on s0i3 exit + +fTPM +----- +N/A + +DRTM +----- +N/A + +Release Version 0.11.0.6B +----------------------------------- +Bootloader +---------------- +PLAT-79509: [HSTI]Updated HSTI Status Bitmap Definition +PLAT-70421: FIPS implementation + +Trusted OS +---------------- +SWDEV-274746:[MI200][RAS] - Rectified the MP0 registers for RAS Recovery handling +SWDEV-264802 : [PSP TOS] return ERROR if no RSMU AEB validated +PLAT-79509: [HSTI]Updated HSTI Status Bitmap Definition +SWDEV-276359 : [PSP TOS] Properly Initialize RAP internal variables +PLAT-70421: FIPS implementation +PLAT-79472: Map MPM FMR memory for MFD +FWDEV-370 - [RPL] Support for PMM: Disable CCP Power Gating +SWDEV-276392 : [PSP TOS] initialize DRV_SYS_GET_ASIC_TYPE_PARAMS +SWDEV-260860 : [PSP TOS] sanity-check VF memory address + +fTPM +----- +N/A + +DRTM +----- +N/A + +Release Version 0.11.0.6A +----------------------------------- +*FTPM updated to version 3.58.0.5 +*DRTM updated to version 04.11.00.21 + +Bootloader +---------------- +PLAT-73271: Implement MBAT programming on CZN +PLAT-78234 : RPMC not enabled with XMC SPIROM +PLAT-78554:[RPMC] provision fails at the first time on brand new SPI-ROM. +PLAT-78274: Pass stage1 FAR test status to TOS +FWDEV-319: Merge headers for MP2 SRAM and MSMU DRAM + +Trusted OS +---------------- +FWDEV-1229: [PHX] Initialize ToS (2) +FWDEV-1230: [PHX] Power features +FWDEV-1228: [PHX] RDRAND speedup support +FWDEV-1720: [RPL] Add check for Asic Type using RevID +FWDEV-353 - [RPL] [tOS] Power features +SWDEV-272140 : [PSP TOS] fix Security Violation log progagation +SWDEV-273505: [Mi200] Enable FW Decryption support RWL +PLAT-79079:[MI200]RAS - Corrected mask bit for Ras Err Inj enablement +PLAT-76910: Add support of 16 RPMC fuse slots for RMB - tOS +FWDEV-1229: [PHX] Initialize ToS +PLAT-78920: ACP secure regions are reprogrammable +PLAT-78434: Minor change to Svc_TryAcquireMutex() behavior. +SWDEV-272822: Remove MillerRabinTest side-channel protection +FWDEV-330: [RPL] Fixes for TOS initialization +SWDEV-272140 : [PSP TOS] Propagate Security Violation log from PSP BL to TOS +SWDEV-271190 [MI200][SR-IOV][Azure]: Enable DFC and CAP loading (GFX 9) +SWDEV-271189 [MI200][SR-IOV]: Move MEC VF FW into TMR +PLAT-78434: Add new SVC call Svc_TryAcquireMutex() which does not wait for mutex to be free. +SWDEV-263116:[Navi23] Add support for MACO resume in TOS +SWDEV-274746 : MI200[RAS] - Enable MP1 RAS Error and WAFLC correctable RAS error handling +PLAT-78823: [RMB] handle ACP DMA complete through RSMU +AER-581: New PMFW message for GFX TDR reset event +SWDEV-271188 [MI200][SR-IOV]: Decouple MM-SCH from VCN TMR and move to seperate TMR +SWDEV-270845:[Navi31]Add Navi31 register header files and enable compilation +SWDEV-273883: [Mi200] Disable SRIOV in non-production mode +FWDEV-328: Update PSP SMC message on RPL +PLAT-78140: AM5-stop execution on bixby/prom auth failure (2) +PLAT-78140: AM5- stop execution on bixby/prom auth failure +PLAT-76264: Hash 64K RO region on S3/S0i3 cycle +FWDEV-328: RPL - initialize TOS +PLAT-73721: Add debug unlock support with HSP +AER-577: Revert of "Remove setting ROMBIST_BYPASS while entering S3" +SWDEV-271909: Restore RLCV enable register +SWDEV-271194 [MI200][SR-IOV]: Enhance DFC to support TA whitelisting +SWDEV-272821: [NV31] Implement the ROM Image Parser in the PSP Sys Drv +PLAT-78366: Add zstate build flag +FWDEV-1271: [PHX] Power Management Firmware Interface FW Support +Revert "PLAT-75283: Add CCP Passthrough destination alignment checks" +SWDEV-211340:Rectify RAS Recovery handling in rsmu handling +RTGPLAT-5677 : [NAVI21][SRIOV][non_prod] Set DEBUG_UNLOCK after RegUnroll +SWDEV-273664: [NV21] Falcon display corruption - intermittent +FWDEV-319: Merge headers for MP2 SRAM and MSMU DRAM +SWDEV-271190 [MI200][SR-IOV][Azure]: Enable DFC and CAP loading (GFX 9) +SWDEV-253227: PSP Secure Kernel SVC Call - Interface Definition with Doxygen +SWDEV-270495:[Navi2x] Set TMZ registers as per HW recommendation in PSP TOS +SWDEV-271192 [MI200][SRIOV]: Disable MEC VF FW periodic validation +AER-577: Remove setting ROMBIST_BYPASS while entering S3 +SWDEV-272635:MI200[RAS] - Added check for Ras Err Inj status for RAS TA +SWDEV-271191 [MI200][SR-IOV]: Disable Setup VMR/Destroy VMR support + +fTPM +----- +PLAT-78364 [CZN]: Migrate to FTPM build using Conan + +DRTM +----- +PLAT-78536: Migrate to DRTM build using connan + + +Release Version 0.11.0.69 +----------------------------------- +*DRTM updated to version 04.11.00.20 + +Bootloader +---------------- +PLAT-77348 [RA2] Add addr check for writable region absolute address for AB layout +PLAT-67300: [RN][RPMC]Enable Multiple Fuse Slots on MXIC Part +FEAT-33382: Consume spirom-configuration data + +Trusted OS +---------------- +SWDEV-272141: Update LIVMIN command for mode 2 reset +SWDEV-272178:[Navi2x] Remove unused structure from dGPU header +SWDEV-272086: Fix VCN counter address in RAM TMR +RTGPLAT-6510:Navi21:UMC MISC6 registers need to be accessed by MP1 +SWDEV-270310: Update GCM Enable setting on mode 2 reset +PLAT-76263: Update fwatt loc table on S3/S0i3 +PLAT-60779:[VN][HSP][DRTM] Send Hash Data to HSP-fTPM +PLAT-71773: Support PMFW command to clear only GC enable +PLAT-76558: [SP]: Add support for Stormpeak target in TOS +SWDEV-268766: Check last TA entry point type in LoadTa() before returning status +SWDEV-211340 : [PSP TOS][RSMU Violation logging] Revert change to legacy code +PLAT-66844: load iKEK TA into LSB4 +SWDEV-211340 : [PSP TOS] RSMU Violation logging - avoid collision +PLAT-59672: [HSP][DRTM]HSP-fTPM Locality Control +AER-487: [AER] Disable TMZ +SWDEV-211340 : [PSP TOS] fix RSMU Violation logging +SWDEV-211340 : [MI200][PSP TOS] enable BUILD_RAP_V2 in SVL +SWDEV-270346:MI200 - Update the xgmi link records to pass to TA +SWDEV-211340 : [PSP TOS] Implement new RSMU Security Violation logging Scheme +PLAT-75283: Add CCP Passthrough destination alignment checks +SWDEV-270535: [Mi200] Enable SysHub Support +PLAT-76991: Rename PAGE_SIZE to ROM_PAGE_SIZE +PLAT-76887: Map USB config buffer using BiosMapSharedMemSmm +FEAT-33382: Enhance validation of spirom-config info in tOS +PLAT-64168: Handle SMI_SpiGetBlockInfo properly with enabled RA2 +SWDEV-267746:MI200 - Enable DS_ENB bits for MP0, MPIO and MP1 in MP0 to allow SOCLK DS entry +SWDEV-264802 : [PSP TOS] validate RSMU AEB +PLAT-76251: Update bit configurations for MPM PCIe access + +fTPM +----- +N/A + +DRTM +----- +PLAT-59672: HSP-fTPM Locality Control Support +PLAT-74210: Conan Support Enabled + +Release Version 0.11.03.68 +---------------------------------- +Bootloader +---------------- +PLAT-84174:[Chrome]: Invalidate D-cache before ccp passthrough +PLAT-83939:[Chrome]: Add tests related to timer delay +PLAT-83939:[Chrome]: Add svc support for delay in micro seconds +PLAT-81600:[Chrome]: Reload coreboot from spirom in S3 resume + +Trusted OS +---------------- +PLAT-81601:[Chrome]: Skip initializing base offset for BSP +PLAT-84119: Workaround for HDT error during debug unlock + +Release Version 0.11.02.68 +---------------------------------- +Bootloader +---------------- +PLAT-83506: Determine and pass boot partition info to stage2 BL +PLAT-81879: Add support to invalidate cache in stage 1 BL +PLAT-81045: Add support to call bootrom RSA from stage 1 +PLAT-81045: Add support to ccp_mod_exp operation in stage 1 +PLAT-81045: Add svc call for ccp_mod_exp +PLAT-81045: Add ccp mod exp test case +PLAT-82508: Add secure rtc read and timer tick read support +PLAT-82508: Add svc call to get timer ticks +PLAT-82508: Add test case to read timer raw value +PLAT-83154: Reserve a field in amdtee mailbox for chrome info +PLAT-80978: Pass chrome info from bootloader to TOS + +Trusted OS +---------------- +PLAT-80978: Do not load TA in PSP chromebook developer mode + +Release Version 00.11.01.68 +--------------------------- +PLAT-81044:[Chrome]: System reset SVC call in stage 1 BL +PLAT-81044:[Chrome]: Support warm and cold reset in stage 1 BL +PLAT-83047:[Chrome]: Use mapsyshub with ccp on dram addr for crypto operation +PLAT-82987:[Chrome]: Revert security policy applied in stage1 +PLAT-83301:[Chrome]: Rebase to amd-staging till 00.11.00.68 + Release Version 0.11.0.68 ----------------------------------- diff --git a/cezanne/PSP/TypeId0x01_PspBootLoader_CZN.sbin b/cezanne/PSP/TypeId0x01_PspBootLoader_CZN.sbin index 7952cee4dc1ee0a125754dcb5372e823c3abf98d..1bdba6fb191eae9db9fedbcf22fd8589b4053bf7 100644 GIT binary patch delta 531 zcmV+u0_^>Oo&kWK0gzz<4zXgMOn;K+vS}nq$9@K$f?3Kac_lrIZw)`P?x)Qp0h27* zI^FTe^dW?;I?r`Mv2#$%INF59j585l$E8)O1DmW0Mb`c@w+JfDH$8v2XNR%W7< zFI6hIW4Qzs?97cg{ar$`orQZ>Lt0eD2c=VykjDFIP6}7dW2B5dV+OAs9~yA9e(5=9 z68~fb+*M-)2v)FhB7Snjfq&5<90Uk!|3@wN+12%E*C&NX@0fkcU%1CT`x~3RWhgl- zV>+QZLh=3s#NpZ&h7?rdlFw=yL|W+JsxJIho0JaKy>oLgD` z_bNF(qYxm@I%FFm15PUighq_RWE0Rw#V}`zuN*L<21ZC)A|AqJ(NGzADJ-OOB1^!r zX^#s|l}zeuxz&1zH|kPXD&$SjkWdrf3>by$FECM#XS>^JG2Lwx@R}Ot!^~3-G delta 531 zcmV+u0_^>Oo&kWK0gzz<4Y6XLOn)Q5NEz=iW>~?xv8(H#1k+}aNsIAv7TRcI1)A_= z&+V=WSATM=M*wC|9r5{>qouA$dDnXpOhd5B5k}B)!gBeI=GAlnO_XQVlY;KEmvY8Z8M-~q$gSlYPT@tX-d`w4G_uEbQJKlgMrL zrveNA-DNM3I|SY(MrixxE`NG|%6BlXF?XgBv6Urjtg5Oj2iK9&1+M(ug-$iclyC2f zVWfs>P8)S5;hkc+(WFb*I3I@Gq{9xxFPVylzId=#=;H1<>l*oM#_s)z1G(rq=pl^H z$z=X{5fhaDsvY{dTC{?Z&DEDGM2DTQ=EIEj{0)R#on(!%c0(G0vcyScp%4U~WdlYng>?dJZ9+O+3MVpK8} zyfft4jTG744QKc)g(#Yu?owb3{O%Xbk~eYUy14C4&uCigkPeu}%%Hsmu9`vLTiOO4 VDuy<|#ca8Zasno7E7-BJhJHq_hcccUEEbrP^OWc_aTRGt5^$Ge OyDv;*L?#700*PsFzmW9+ delta 316 zcmV-C0mJ@)rv-qg1(0C@4UuAQAk`hKZ3tYqBSc1i`osVNay4CNVZ28{WOldc@P zw?8NA=Q}AXNYNRf7}VKgrgLF`L`r8qS3a(~my8!`OR-JxC(aMMVYd==Q9R}L0-aVA Oi?{rCA1Zo40`^CHh>@iL diff --git a/cezanne/PSP/TypeId0x13_PspEarlyUnlock_CZN.sbin b/cezanne/PSP/TypeId0x13_PspEarlyUnlock_CZN.sbin index 21d46fb3d528b7158058231b5e2d8f6e94676656..2c828ef3ba944ce1dacacf99ce5d9a73da5bf105 100644 GIT binary patch delta 270 zcmV+p0rCETLV!Y$VF3=YVxJ#>e9bzf!n&eoK(sKuwp?$Mv`u^zf&pw!R{D>@DmuhX znh!U@;MSW8*-1T!EwaQF7!Z&xb_`;zt|LhONJ`efSQ4nVkh^a1kyXafQ>BwdkQicJ zAPSQ;dTe1Zjt>97BBiEGbQA;xlEV-o;TRx%xBXm^4Jj-P#II-2=iF-)VPF>J1pQR-tm>>5K z_c||wa8>A%%TR`z6>Y%+1ROR~=9y#b;Y^sh$#2#Sf^Mcwl!<;d<+zyEgMJM*^$%0l0>W_X>ih|$oR_}?A&UHww{QWUdjhUP1* zp;Zt^3FDJTjiv>mGhwEqIgD9kQgt_X*Ml;BoqtPJ<$V`MM~&CqHbSoJ2R4mT^;~#? zV&{DGrl~2an=y6HTdL(F)X8Mnn8dvdTwb!AORTtQ+3opx+RG@etxExantx7THk;x! zg4u-tTY4eyPW{LrTreM*zattIk!{!nwLObH-~bO+Dt@x$K|AXhxHQGnk_K?jF-`W` z4H5kG`LVj6_$Wr;ybIel#Hjku;ng9R* diff --git a/cezanne/PSP/TypeId0x28_PspSystemDriver_CZN.sbin b/cezanne/PSP/TypeId0x28_PspSystemDriver_CZN.sbin index d9c4d0f7f7e15dfd90aa67257180e15fd233a2ea..7550a538cffb2fecb74370c9c61cc5d5fefc9e33 100644 GIT binary patch delta 18291 zcmZvE30zcV_wYS;R+fQb6A+LY1_VSDTyY;juLJIy=8}n9j^cv5W(K$~ndns?zzwww zG)p8SGRxjFwX~Sj($X9?HW9d>c<=1rxud=R{@?fY`^h}ZdA9SM=j=D`X9f4OqF^TY z?3uM#v-*WODVkoOjl5TTXzHIw?=5)q8_Cs=C(Lcg?y%JRWWv01&JaLd>Ft!4A;^j7FHTD z8j9Ho5slJdEl7!2{%m$sDC}Z4N5x~`r%^L}{q3NOVkpg+HZ}NjBiIPtFpqkh zhH0!*a$mC9y3o)Xhm!l&nN+UeP6}V7wN^JQFwXZdE4gFrVO>wy%9?axkjpmdh6nGl zNvS}SQ74HC)GD}T7O8Fl4E^^hmL7J<_brRETs=x=rV2sp&$-w$!%}Imv)r&gP*V}h)B&`zzJ@ZK zt;�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 BpGN=y delta 17639 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 diff --git a/cezanne/PSP/TypeId0x73_PspBootLoader_AB_CZN.sbin b/cezanne/PSP/TypeId0x73_PspBootLoader_AB_CZN.sbin index 8f5dfa3059cb4bc615df6010f51c99f4a3e9485f..43b445d8867741c85305957c3ffd08a29721d550 100644 GIT binary patch delta 534 zcmV+x0_pvLk_3Q~1dw3?4uN8|Vga58e=oU;RbfpQ`Iu|V7dy1eLa(MA(3}mB=TdSl zypzrR=-?u~mMJKB5LHj6MUo!sT@y&R^sLT_ zAoI_=&%_+t5aP3qo;3Jj&yV78^_(;n&zgE4+h-A1xS|Fj?C{miaW$vWeK!L86U2Mi>1}Hui^t9nUe@VI!_EkZL6qgs#u{TB4U>?A8d2o1yTC|gLC0ZSo zZ$B(R?t(6IenP^7q8^{f%*KRy$g}D}!w==f1h2`UJbh!Dtw?3S*Tbh>*5dKn2`wKDlM$vhq|a|9_V^dw>D>p};b|BRNu5JF%bj$J8O*DEa1t@`R=*Ff?=+B=b?uix=Vv-Sc=81KGfw{|@%wKM zs(!p~7+J^)_4BXqFS;xmt{y-gJ)?YGqyu^122PM^|HNQE<<&MbCWydXW{z#qSrML4 YjaEm_HPv7W>-DW^gxi%}1a4c3qZLsH8~^|S delta 534 zcmV+x0_pvLk_3Q~1dw3?4S`~{Vga58e{GR#tJyTR!HxxB282XI8@5ju+)?69JQm2m zhSEc#*P4jJH2Hexa`W-_*~(!M46mJ7QGZ0hp1o1O9K=nyPCT8So$kI=BF4xGqM=}S zQEZ|Y%>baDxaaJ9;0W*uBFU{Prvdz_+hJ>nh-TskagRE()2(XHzQK3}f&96;MXwg-hSA`AFa}?o zKmvV>(l;5|U;fEafHN7E-v}oSt9=8dXI%*XkJwg5ZUzZsy}dYA(CePbIS&2i+9EIF zxb{*u^qTG-%k@Q_P&0>Wq^8~Re@O#t&lBNJO}^pv5l6mde}{S^5{ zH!#aqIUT<|*qPYT`(Y@fULdVOSV(B^F82Bxvhz!DhO{dtIJr4f!bzJ5m?wZkbI+RD zr-g%wN9d;?XB`aPngnM{x#ncjkg+PzPCh=8A2kh6*)UL{>|C9+PaBkyA2&nXUK-0C+y(&F4?Q#l%op! Y_P?Fa&