From 6e81e4b5e7be993be67898a829893a83a5220f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 3 Sep 2024 11:43:34 +0200 Subject: [PATCH 1/5] protectli_vp66xx/releases.md: Add v0.9.0 release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .../protectli_vp66xx/openness_score.md | 126 ++++++++++++++++++ ...ectli_vp66xx_v0.9.0.rom_openness_chart.png | Bin 0 -> 27740 bytes ...x_v0.9.0.rom_openness_chart_full_image.png | Bin 0 -> 32948 bytes docs/variants/protectli_vp66xx/releases.md | 38 +++++- mkdocs.yml | 1 + 5 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 docs/variants/protectli_vp66xx/openness_score.md create mode 100644 docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart.png create mode 100644 docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart_full_image.png diff --git a/docs/variants/protectli_vp66xx/openness_score.md b/docs/variants/protectli_vp66xx/openness_score.md new file mode 100644 index 0000000000..2689a1972f --- /dev/null +++ b/docs/variants/protectli_vp66xx/openness_score.md @@ -0,0 +1,126 @@ +# Dasharo Openness Score + +This page contains the [Dasharo Openness +Score](../../glossary.md#dasharo-openness-score) for Protectli VP66XX Dasharo +releases. The content of the page is generated with [Dasharo Openness Score +utility](https://github.com/Dasharo/Openness-Score). + +## v0.9.0 + +Openness Score for protectli_vp66xx_v0.9.0.rom + +Open-source code percentage: **36.7%** +Closed-source code percentage: **63.3%** + +* Image size: 16777216 (0x1000000) +* Number of regions: 24 +* Number of CBFSes: 3 +* Total open-source code size: 4830854 (0x49b686) +* Total closed-source code size: 8332326 (0x7f2426) +* Total data size: 677420 (0xa562c) +* Total empty size: 2121512 (0x205f28) + +![](protectli_vp66xx_v0.9.0.rom_openness_chart.png) + +![](protectli_vp66xx_v0.9.0.rom_openness_chart_full_image.png) + +> Numbers given above already include the calculations from CBFS regions +> presented below + +## FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x4c0000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| SMMSTORE | 0x580000 | 0x40000 | data | +| RECOVERY_MRC_CACHE | 0x5c0000 | 0x20000 | data | +| RW_MRC_CACHE | 0x5e0000 | 0x20000 | data | +| RW_VPD | 0x608000 | 0x2000 | data | +| RW_NVRAM | 0x60a000 | 0x6000 | data | +| VBLOCK_A | 0x690000 | 0x10000 | data | +| RW_FWID_A | 0xafff00 | 0x100 | data | +| RO_VPD | 0xb00000 | 0x4000 | data | +| FMAP | 0xb04000 | 0x800 | data | +| RO_FRID | 0xb04800 | 0x100 | data | +| RO_FRID_PAD | 0xb04900 | 0x700 | data | +| GBB | 0xb05000 | 0x3000 | data | + +## CBFS BOOTSPLASH + +* CBFS size: 524288 +* Number of files: 1 +* Open-source files size: 0 (0x0) +* Closed-source files size: 0 (0x0) +* Data size: 28 (0x1c) +* Empty size: 524260 (0x7ffe4) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| (empty) | null | 524260 | none | empty | + +## CBFS FW_MAIN_A + +* CBFS size: 4587264 +* Number of files: 13 +* Open-source files size: 2370499 (0x242bc3) +* Closed-source files size: 1675795 (0x199213) +* Data size: 8622 (0x21ae) +* Empty size: 532348 (0x81f7c) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 2074241 | none | open-source | +| fallback/romstage | stage | 96384 | none | open-source | +| fallback/ramstage | stage | 145746 | LZMA | open-source | +| fallback/dsdt.aml | raw | 19016 | none | open-source | +| fallback/postcar | stage | 35112 | none | open-source | +| cpu_microcode_blob.bin | microcode | 560128 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 329235 | LZ4 | closed-source | +| config | raw | 5496 | LZMA | data | +| revision | raw | 859 | none | data | +| build_info | raw | 103 | none | data | +| vbt.bin | raw | 1277 | LZMA | data | +| (empty) | null | 36 | none | empty | + +## CBFS COREBOOT + +* CBFS size: 5210112 +* Number of files: 17 +* Open-source files size: 2460355 (0x258ac3) +* Closed-source files size: 1675795 (0x199213) +* Data size: 9058 (0x2362) +* Empty size: 1064904 (0x103fc8) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 2074241 | none | open-source | +| fallback/romstage | stage | 96384 | none | open-source | +| fallback/ramstage | stage | 145746 | LZMA | open-source | +| fallback/dsdt.aml | raw | 19016 | none | open-source | +| fallback/postcar | stage | 35112 | none | open-source | +| bootblock | bootblock | 89856 | none | open-source | +| cpu_microcode_blob.bin | microcode | 560128 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 329235 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 28 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 5496 | LZMA | data | +| revision | raw | 859 | none | data | +| build_info | raw | 103 | none | data | +| vbt.bin | raw | 1277 | LZMA | data | +| (empty) | null | 1124 | none | empty | +| (empty) | null | 1063780 | none | empty | diff --git a/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart.png b/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..b75d11d6ac8f9a0fb4494f20f717d62eaf5b2a21 GIT binary patch literal 27740 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 literal 0 HcmV?d00001 diff --git a/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart_full_image.png b/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart_full_image.png new file mode 100644 index 0000000000000000000000000000000000000000..df92450a63e04e6dca28f1db60d9c5fadf67298c GIT binary patch literal 32948 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 DoUecE literal 0 HcmV?d00001 diff --git a/docs/variants/protectli_vp66xx/releases.md b/docs/variants/protectli_vp66xx/releases.md index 16e36b0119..45eca1911d 100644 --- a/docs/variants/protectli_vp66xx/releases.md +++ b/docs/variants/protectli_vp66xx/releases.md @@ -12,7 +12,43 @@ For details about our release process please read Test results for this platform can be found -[here](https://docs.google.com/spreadsheets/d/1wI0qBSLdaluayYsm_lIa9iJ9LnPnCOZ9eNOyrKSc-j4/edit#gid=1316498194). +[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/). + +## v0.9.0 - 2024-08-30 + +Test results for this release can be found +[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/v0.9.0-results.csv) + +### Added + +- Initial support for Protectli Alder Lake devices VP66xx +- [UEFI compatible interface](../../unified-test-documentation/dasharo-compatibility/30M-uefi-compatible-interface.md) +- [Support for discrete TPM](../../unified-test-documentation/dasharo-security/200-tpm-support.md) +- [UEFI Secure Boot support](../../unified-test-documentation/dasharo-security/206-secure-boot.md) +- [Boot logo customization support](../../unified-test-documentation/dasharo-compatibility/328-logo-customization-functionality.md) +- [USB boot support](../../unified-test-documentation/dasharo-compatibility/31N-usb-boot.md) +- [NVMe boot support](../../unified-test-documentation/dasharo-compatibility/312-nvme-support.md) +- [TPM Measured Boot](../../unified-test-documentation/dasharo-security/203-measured-boot.md) +- [UEFI Shell](../../unified-test-documentation/dasharo-compatibility/30P-uefi-shell.md) +- [UEFI Secure Boot](../../unified-test-documentation/dasharo-security/206-secure-boot.md) +- [Network boot](../../unified-test-documentation/dasharo-compatibility/315b-netboot-utilities.md) +- [Windows 11 booting](../../unified-test-documentation/dasharo-compatibility/31A-windows-booting.md) +- [Ubuntu LTS booting](../../unified-test-documentation/dasharo-compatibility/308-debian-stable-and-ubuntu-lts-support.md) +- [Serial port console redirection](../../unified-test-documentation/dasharo-compatibility/31G-ec-and-superio.md#sio004001-serial-port-in-firmware) +- [Vboot Verified Boot](../../unified-test-documentation/dasharo-security/201-verified-boot.md) +- [Intel ME HAP disable](../../unified-test-documentation/dasharo-security/20F-me-neuter.md) +- [BIOS flash protection for Vboot recovery region](../../unified-test-documentation/dasharo-security/20J-bios-lock-support.md) +- [Setup menu password configuration](../../dasharo-menu-docs/overview.md#dasharo-menu-guides) +- [SMM BIOS write protection](../../dasharo-menu-docs/dasharo-system-features.md#dasharo-security-options) +- [USB stack disable option in setup menu](../../dasharo-menu-docs/dasharo-system-features.md#usb-configuration) +- [Network stack disable option in setup menu](../../dasharo-menu-docs/dasharo-system-features.md#networking-options) + +## Known Issues + +- [Display Port has trouble working with certain monitors]( + https://github.com/Dasharo/dasharo-issues/issues/1015) +- [STB002.001 encounters unlisted errors]( + https://github.com/Dasharo/dasharo-issues/issues/1013) [newsletter]: https://newsletter.3mdeb.com/subscription/n2EpSxtqL diff --git a/mkdocs.yml b/mkdocs.yml index 063da9c204..505e75cc65 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -277,6 +277,7 @@ nav: - 'Post-installation setup': variants/protectli-post-install.md - 'Hardware Configuration Matrix': variants/protectli_vp66xx/hardware-matrix.md - 'Test matrix': variants/protectli_vp66xx/test-matrix.md + - 'Openness score': variants/protectli_vp66xx/openness_score.md # - 'Protectli V1210/V1410/V1610': # - 'Overview': variants/protectli_v1x10/overview.md # - 'Releases': variants/protectli_v1x10/releases.md From b392c77e97e805c1a3a806eb5246605b3a374c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Mon, 9 Sep 2024 09:21:09 +0200 Subject: [PATCH 2/5] protectli_vp66xx/openness_score.md: Update after fix in openness_score MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .../protectli_vp66xx/openness_score.md | 18 ++++++------------ ...ectli_vp66xx_v0.9.0.rom_openness_chart.png | Bin 27740 -> 27780 bytes ...x_v0.9.0.rom_openness_chart_full_image.png | Bin 32948 -> 31842 bytes 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/docs/variants/protectli_vp66xx/openness_score.md b/docs/variants/protectli_vp66xx/openness_score.md index 2689a1972f..6724f1c573 100644 --- a/docs/variants/protectli_vp66xx/openness_score.md +++ b/docs/variants/protectli_vp66xx/openness_score.md @@ -1,24 +1,17 @@ # Dasharo Openness Score -This page contains the [Dasharo Openness -Score](../../glossary.md#dasharo-openness-score) for Protectli VP66XX Dasharo -releases. The content of the page is generated with [Dasharo Openness Score -utility](https://github.com/Dasharo/Openness-Score). - -## v0.9.0 - Openness Score for protectli_vp66xx_v0.9.0.rom -Open-source code percentage: **36.7%** -Closed-source code percentage: **63.3%** +Open-source code percentage: **36.6%** +Closed-source code percentage: **63.4%** * Image size: 16777216 (0x1000000) -* Number of regions: 24 +* Number of regions: 25 * Number of CBFSes: 3 * Total open-source code size: 4830854 (0x49b686) -* Total closed-source code size: 8332326 (0x7f2426) +* Total closed-source code size: 8365094 (0x7fa426) * Total data size: 677420 (0xa562c) -* Total empty size: 2121512 (0x205f28) +* Total empty size: 2903848 (0x2c4f28) ![](protectli_vp66xx_v0.9.0.rom_openness_chart.png) @@ -45,6 +38,7 @@ Closed-source code percentage: **63.3%** | RO_FRID | 0xb04800 | 0x100 | data | | RO_FRID_PAD | 0xb04900 | 0x700 | data | | GBB | 0xb05000 | 0x3000 | data | +| SI_DEVICEEXT2 | 0x4c1000 | 0xbf000 | empty | ## CBFS BOOTSPLASH diff --git a/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart.png b/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart.png index b75d11d6ac8f9a0fb4494f20f717d62eaf5b2a21..6008e936396cf0c8b17d25d48c2e0d1c8d5ae331 100644 GIT binary patch literal 27780 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 literal 27740 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 diff --git a/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart_full_image.png b/docs/variants/protectli_vp66xx/protectli_vp66xx_v0.9.0.rom_openness_chart_full_image.png index df92450a63e04e6dca28f1db60d9c5fadf67298c..6e4bfce7788d3805bae78f96a27e083e5f8de293 100644 GIT binary patch literal 31842 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%0D9~~Lj9%nPLqvLb5Ovc zE1G5$2PaSU*SfQyQV`Q$L@=5%`)#E>GBSohJ%EOB z{wOhWdce%goPmP6k9LWnboQ*IRSzSU+|j{u3G9NYscDGXTM8x#cQT3eo^PuF`&3Aq z*JOaz1Is0=wiFRNbcaumwxau7_TVG9hzr0*t01EAR-5ivJwqly4XjuOJJFGRFbQa)KbNnP23x_EBE;lv3 zs67U%B3HV1=xbk__9+L%qB4uF=fWktf>G&!2ySBFFE&ZtU&tO`ACM z?k*vuQU}B`VbMlzX5eGMx=+uUQs-;an4^jwRx7-|JyldaA?SOO?ltj<3>%s5#!J$GcmREMI+$QVy6q9ro6z!%jcc*1iTRjFPFfi3Z~C zEBA|uu3fv9o!QS=(sWYSw-K=Q^%}&Zl{X6j9AR>DGOcW&)UVCcK;kG`0c@ZsKDL5$ zLNkCxihyidZ`G)?XMg70Vn8~D^xr_$0UjBeV}PXgojZgM zcAp#FntIF2%gJbH!U?Fk0bZ|8_STbMP?mdro0fSEmQBhcqd3_Z5cND<;k8`0a?~ax zX}L5}@L!#-t}bP^*^f`~X|Fjl0;m`}Igu9KvlGLO_bcp96L)i79TPu;hnHp28un7u zL9dae7)Xl1QTgZT)zu8EFW-Ql-7dIy)moSyAXWj2C}ipW^AexU_<^sf*B*5=Rc7c^ z+1_pY^od?0^%oaAJ2o)Zuyliu*_@6O_2)o@WSb>a9FK`m>C6JOZ-DmTF{q=`EBdiu z*BQemS4_z5s#Ex&Z=p<`^Li)&HPLJcf#3MucRB)6r}c2)@mC-ISa9j#TWfA^mg?U2 zZRqp+1Lekgs5spu?ajS{c1WK``fI0Yv-`j9_CnS=dwE^cgX&Fvv_GHe(>M>ufwQ@v zF`p=OQdwFnd@F$T*Eefn9}Tyr$!p)+qc_d;^OipLnseZe)7X_cQp#IeHQ97q@CpYuvMnX&Y$6*^*$9QVUzTK8;U|=B1jsP`6U%sS;O{HN8Ix5pb zgxf)8-EQ>vv7e|P&f{X8C+N>TM?ip$=-0Vl?sc1I>96}2i5g@zw|=?MC`_T%^wrBlkNGr$ZkNUH z9IabQ;xd{$ZBkdfymqDT`&(LCvP($RJ$P?K5qNs+1+{&udNNRGsoiJOU9V@O-go<* zRt_&3FQo>HPou2HTL0(N8f{Q%AY$bUOPMx=~fFR*qdNl)59 z0qQq5qM0#KQSCrTlA&OvNO-LhrE4VRem&aXVvFm_p!cOFz(t81S|mWcbZ;F2RBZ7) zZ1An>+xr6RXOoZ^DJ?nJUWRotfTphMbD4baz`$!*kKqM0+28wh=Hq;Wq=JfyO2&o* z)QqbM%*|E_lZX6lY*<(B74q8-L0JDB9-d2P=4{&41PtE*%r`yUS@Fq0sX^afE0@Q@ zH!NV4FGcL`WfVMfvlZT!zMYoHYw)zNkf(JPL@JcY(e+0Ap<*V;iu1hs*6uuDggk^o zCUxf)STvs?HOlOV%cXkXzI`j*PZpL{KSW7Mx#eF1%IRFK{>hh2AI-oXUcJiBUzyQR z0&8k&rs6bZ1P%;;b*^oN*c198=e&=)S*4^Hhlhu2yw;dcK+>RP30TtJO7$eslMVxY zeWL#B<`x!g;7mw*{%MB79rZpbK0ZXy;`1x3-i$nh529&lX{B~Uyo}Pm0}Fh5cRW@` zs6lFe0-_QL`!xj{iSiPyB0Ui_=qjUtxe=k_3?u?SaKct$F386Ho*PM{fVE}5+qU(` zJELN*zs{yyb9x>hPlbv(s4^|j_!=>w7+-rV|9B~AK>((~qme2*REh3E4ET+G%*+K51uP6Pw+`2NBq3KUxCg-B^M~ba8!$d!VbIa z7q7-)*_#o?c0KHsMR(%DXmyDRK@6~T^_TpwJ3DegFC)R1@8rDF%#;B=wEzqymMeov z#$QbNIb#G!?^gkbJ7NI`!k`u%UplrjqNmKAKmc5%6?FfjU%$+G9=<1ob9%2Oz**>H0eRn?DRN}y_bti~m~ z*=z<(1VBqOpbe-i0b7ml<>i$o6F{GzpZ@?#W$Xk_I|rCakgrM*hbVCPZx7zL{!vJW zNPaASn;Z&CeP7t%#ub2?FWSy#gh3^NT>f9s`R0KEyvaOqS1gozrGcoh@eT zt#*D$NlA(IWMcy=jU#htyIhukT;160<|71dG`+OM4PFxmxMF6)9N@-;y%clFg6MpY z^6=-+pJxI2nkgu06dbvS(tprHTYqM|Y-IlWHthY1(^R~DI|dw~<52B|O?DL@TO+kmT^Yecz%>=jQDX3Ta zkzeXo<&NVL0-(01S5~fqOQV#;YtRPVXUpCVj0kjj3Ptw_!Qtp@3JQV^D6*1~5wiS3 zhJ}Ttz?&rNkrMeh=TYCH`%J^`1SPm`EgwJ1gH;j%CP3n6VSY`GL9K7@D*J;cqfSi` zdR4aPqLeRyb)rdU+=92eC#O%0{sft<;$w- zDZ;8?x60?~a8J+8aTt0};|f3#$zIeU*hH^OW9a>HJ;3f~>FWp8j_FzqcP4O9@dc-_ z&)jhosPW|SV?}tbO~wvLmk0)YX4~E-4G#N_1DjY~1*r>hyGP z&pU1>ebSFrNa)U&4C#kpKN^4w3CxifN+TD9FfRoK1VAj80(%-I|PqxCEyAtm4v z_`nz_mjWP8TtMdgkH)RUM0}_HcvDf)dvBd>Yr;cCkbWpXS6!VL z$P;*D>$a6}(_dPu+$kvBEXnr?~7(!f_x)S(c=`%fnTz1;up^()5T zaCYVgThiXU-fPVe9JoK@AMSsz!(j5fp>L3!Oi06P48CLyWO2mmJTN$*;v;U8--{|O zEG=iCLdYj@-+k3*JvBS~1jTRIGoO(RfY0#{Uf|>7Gcq#X&Q>Po(XYAvqAs%?psBA= zR|wo|)OU1h*iP*7YOIB7f;xg=D1y$-2GmA1=dB4ZWo5hxzcuN-!^2jvg+U*;z!qfA z4wA)+Pv31;wEPXe$V-_333%>Mutz9Hd*S*50SE3VxdT-i`re^03-|l?@2|A;)e4#K zKxujn6&Pi*%8|5>;A3nuGR(jdlob@PAveveKbUopxG(=8_E;MDh|l7Wpk}S2;x7iO zuYDjo{}Iq4J!&AJt-y`>A&eoLaY0dDaUXAMQxvxQK?H_&E9}(tXrPz$IhBCVq#(-gMV7>4F0ySGsbC7zHF7B-3^=P#VH38- z4hk>&?+jbvPKz0-qp!t9_Y-MMmHH16bM9v$Gcr1NSX}{;3r;&J2JphKf~p z!V0KK=Ma=fgckqDBlt7XFj}gf+aCcG`z+v3Y;3I7!T~&fkK4`m%1U8!3JUfVVVh0$ z66in7CI7gP_2T25W<|~vQ3rbHfH^r@K{Y}mv~htc!lBus*ZA6)0u{w@s?B4`t%)4W{DYz+V{ z?7tcj|Jy^(%$-P+sM14GO{><`qIIPM?MZ;Aij4sGv-+tipPT+n0&g8!I6%$O;*~KE zb(92pRkA00*(x1(ONM5F12m(=B8-@U9ee~p;QiH8a4?&J5v{}SUgu4^z`=p*+aRO) z0YDcTCDR}ug!E3jxH8eM2_PmC4CfADX$I%2ykZ!1>;X6iC3ED>?Ds0W`|*56GL!SL zX{I#+dZwoAo~vUKSU7mi?d|Q~ET@_ufyLkQDT;w`yjS-02nPfgWDjj(*PQF$)o}*2 zbJZAdNMH~ICeiInRNlaDiMxgAiDA9}%Ab~&R%r3$ySrDwh{x%OX1M{*48(ab*r7NG zSUo5q+S}Wc%kFyx1zd5XW%|9(BazK-;baZvczc09_xV7ssTWY+WBlDWPmm^;Jr{FZSeMX z2z1neY6EBpB~vIgY|sO|>4P3znROq#fZvWiIU^&_*w|R4? z2bhjFGp+zzwefBQ{|!4BHP%gJ!9-B_)sIsH?2>&~Es@X2&>d`p-c2B7XMx1W zWpMB=umb|N5HYvkk+<`8OaY3+L_yr3wUzzSC6$YuobW0d@wf=M%S3U}T~J@ZRr}RR zo;?T0!N24(+7#4;u!`FMjIm;X?WF`pdevPPwdf#2zgGCeZo<<52)tgdwj0vW0qWbk z33cZjG6S0Iiu*BY%0jxn9<*(TaBsgh>3<<`e~u-wYM+%O&){g{Mve= zz7}Bx8{PQ9DbPFYU=TgjVCql;Vo{zRPM)IXAi&c3I4;feeD&-9KIFYzR2`zuNqIet z=yD||yWl58#XKwR)puxVWX}PWhSLM88S2f5%(>Qr<4~{lA<58J6}Ay2FAqHDdzhyG z{Nd57v^IHg@7v|6H*YRZ|NhMh2y0S#1dJJWanRZaLKk(@YJ9eGv>rAXI_(8%X<*6T zMAG1RfgR5Pa{tG3{`&P6^g#zozYNUQfuW8ihq4JkOZe{|2K@tnAxKcOu;vOO1G-KD z5svbfNG8d9N5JMyq3&V_gI1633(U&S4uv9w(!kEnPBH*>a@cYaiEVCX{M!j?9ATs^ zyfd@2N^)|+c}7i*ou5Ao?!N@hbQXYT!e^c-dk#t|xnS~__2bVzq(=a8KJWVq?(?)EnSg_{h$#@;&|;$oUynXOE2-|@Oj$kzgSv3vwjaK?Pj>nM z;sM?U#!r|98bzvcoGlQ+WW{dS(3hnKt4z2u9X14EwH+#Ua32HkzM{jO0PQNiN?!H@ zFjXn3`xg4LqnM+aB+ny6xrA7#^vJtclrmkWk=u&;FW|7yrDOly+PdBpcw8EE8VE6Z zzHTyI(rX4<4WLr^z=npcD~LmOueRg7u1eDu|<$ z&Ab~~!C*!mM^wkGPsu|SN84O`;4MVGH;SpOti;}R_o z%`7K43U%C<9U$KX`A_iiaw@s9W6|m9w^BjUuR~!p6ZNUiqAO^%>gZ0X7z9A@1OY zPmF{W7=blxls$*`j({yY1O5QkVS|$Ux+{W;L$I7b0Vn78SklRkae4=*NDbvBj2;^M z&PRJL*|*c~1Su;kXKeTP_Y?Qhynz{zz3Ffkfbd5U%VKM2&cHwjmh}<%n5eE+t&;K4KR!Oj zLO=)mjQINb%|by@c7O!S%q@a;eT?R9%(G{$Wo8}09sTPI+Xqr?xY4a18f3D5JAdvN zT@M7pj0eqovi~$Ou&0qQV>$?9z`S zyBbWc_FJ{k;^q1IBqt|54e6XeO=5v~R0K+~iCaH*6m!f-S+&ULWCG42_e%^z4NLgk zdt^X(!TtWn%7bodm|@gojsCEZ5G4A#Iw;#se}FFnNaB}ZNZnspz7*B}v83^UyS$=e zqhC|j1Zbs-y1F8C<)JN|iuGvO56(u@U#Bf&69m^iz*eB{dXe_U8tD0Ns9bSeWKY_#JGAi>0b;X>5N zuT{3o*0SySFz%D5Tfqr=6HLq?icYLt1s|(=rT=*WjC_El7YUm{kBx(XHYJCik|HE8 zakua8DlxJL0T%VX7A6M3fum~?WY+X4hs^UoSj|1Zwx)<%w zXc%&?EDn`qzGgxMfbK{w&#U85LIYLiWX}xcTv}j2XWJOJ%@$}=6NFli)s#J`b$yFU zaWMHZ$P_SOMjCd`xx(#DnODUgn)J1vy z6_Dl((pT$dg*tR)py*7~@i;r6;Tx*Ydrd#~u(0EjU^gYP!b5NNd$IRK;Js;{qCM4jjRDjlCbp`st{@wZ<54s$tV zAl{)K{VZLDGYft4 z&sq^wO616#zf+Dzx@~1WgcjOsr-C@Afzblc{LB#LmwH`3i=Su)I{AT#^ykl?wzde$ zf3yrWH_+BEj5k;f@XkM-uJ4ZketZ>$4 zrtKU#bezFX4S|QW9W<0@x!i+zLzH64A!Ja}dbjHH zJ48A*W;>Js!O(^_x~b5C&w|FbYX<83n}S_{QsYYrYFe)qa0Q@6l`RS*WKZFpJwgVb zfevva7?82g!29caC6A*8k|g`GDvSkyUc2Pn*qFOG*#wLk?ArUrsX-_EH|p102*Fx8 zTXgRVI$-jWo8yK&Rw>x3;E3HueWkTEK9sdPedD==kLZ{8ZLKtfbVgXA` zJIPGMTR#G$#?tX$W0YH|*B)cO=;`UvgM&oiFgraRYegbv=XH7#u;5;Yoq0cB2Xgz; zUr9#@jyt=}LaaY859zmAWO^UJc4#}54W)FvM`+kcH~0<-!5KI{4a%ZD@iKyt9g zbvZ*xNiBYa;UWD$W=^wAlM)g*JkBZVoP`0^tlV$Q+b@NzNMNE4snUyr`OlfzXxX0X z6`*F{N=>dq#sXqY0~NpF>G^(oA389vfeXR-Qh07I7lceW^Z;77AYaij9Z2Zg(9cFq zY~@i|Xc9pE!HH6S0@?^A5Sm4&z*@kVX8>moq#p*fn;GB==MdOdk-*hy9fX91sX(0z zNhN~I02VargTsto>&8AT0gYa?{p{m2J(px8S{MgVjfUQJnCfF>V(QD&x&U_CZhlEP zCL=R_0GEtB`2$dXli_j;P_Hsj55g7}tV6=X=WVu(m{HDf>i*}JV%@8*?p+{ zhI#&68CvK9FzHc$wAqaodDKo|JA+KYKt=~R8WUlcid*A6jSWDe{;u{C>au{2ry@Mh6P%vT zg!=1X1<(QZeS~GfXKbjXIwI+wpuQl?$*%A2c7U}J30!stTwx%9rm;J>6qPQ5fhZRd z5rHNk2$VUW)qiqS%xCirloVLxGjMSTK?Yh^06Uoe_3NU$M7mhuQ4PY1j(4s#!lY^& zsqB$)r9D(yR42i3OXL1;1{g%V42B+2FQ0CCTVB`^n!@U-qE{#9GwxN8DZuPx1mqAy z(ftpe4g$b+Tg?ztnDkV30FQ?KV0SHZEzoJA9wtmeVLtVJ-zMs&!_}$x^uY04r{X8q zVnbVZFb)cq)sHvtZ>0!7Qs)%nu>bHM9d@1gR`fE?YWtxHV z$T_4>1zodizWxxY*wLc^lVI%Kh6aE3&lWy;fXW5Iih0jKHpbmRk^_y>Fwq!KfPg>p2Zq$kKzu%_T>yfcQ9+3zh)K05wR4b@``njEd*Aw2^= z0K){>Q0QC0UrEhf0kug+O&tp2fgReL=uiL@|EKU8gKI4#+CxTJD0B|l1O@*s1UkT4 z@W4p(-^G3byB|DYZj+&dfN)r4rtJji6gu*)#7Gw0EmVU6DQO0M2~Cf&+{Q2{oo2v4 zp*t=C)1{A~K-2E*SEgXS0wjA-VM%Mc6r7NgL$gPnZfuImH3MHqH=@(AAYUj|3#^b{D;*EoNQ-i zv;|#cFXQaS36f=|MA)YXYn)x!u00tfT)=%5)BQ@P(B>4G17}>hFRc7*(~7<2OWYQY2pDMgppfHJL{Xr!HN|oj+(!nfS+< zm_y}RXo&p{gx6iPT08FIuvo!2ETM{gH$;B9>XxmgV)F95`Hb1i#bRCZ#k{z%=GQJx zjjbrAHN|0m{vyin_T`qWCDOAJ`CK!aUDtHQ7Oy7j9^L&A>vUS8h&&zW55*3DU&bwN z=bSxCS4{hmPPs!7^D^VAhfVuuRfllf6W%=Psi!Fx`dS|%86GzAb4J&a2GDE^>#?Z_G;p5W+ zVocj)9M0s$x8k~kB`n7K8dFF|?r+IseyA?Jz;u3rC)X0S2Vus_=v3LCRb}GCzc5h?vs+3Asd>te9)Z80| z4*EvgZ(?Wf`Ww9A4aa;zpHiA8-OzYG)Nk)({nno*dcwf0mnC5znZ1it$s~TPhiZS6 zd_*xU2(-qR(~I(Z*{aG#QO2m2@izDT?$_+!BntYfO?3Y{>71A0rO)qXV?PH_726d; zws)w;(B2`MKhZ zCFA^3g>r&_+PdB>YrTFoQQAQLEveWlGuSO`C25s*nhzyY)%{*E$wf(ZjNG^ywvzSQ z*ASf4Gp`?4R}9RNX`MqiR?3v3zihqa%1>uu0$qtf#h>i8MBW0zh*Nb*+rw|S? zK^2v+EiVGdA9$?eeJ{7)Vy-t=e;bn>G+RzPn!_%|cvm~=x?(&0HVq~wB{^zs$Ef3b zQwf_udbMSCecGTWZC{pD*fl5LkKgBhm&@L3xk6&@D~|@= z#!%ZD_7UEx)0sOCi{OE?jZNrZ#%+{zX3AWv`EtcCU-2@vV5Gwx@@&0OXMfh%WZ2ho zQ}W%ojny0>u|OfiCGE~I$b|MW!z!)eBuZ7v=)2q&9Vs{+C8C6?DctDr%{cKlXDd%}Zpt+2Wr>na4{c|PNmwMq%LLcExxIN<<&26`=oCPGbmb5VhRP+mB zwGFn}kE`S0nTMs|K7{B#w~XIk-)=l>zPz8U{#(<5t3#5B+r+zKGp6ENjEW%a-uWd* z1&N6VZbZ4_KcabVH?Vs7PZWs$gM`pdPDm%+SF_hxjDL+#)?~IF?!K6F?fYrsa#{x& zeZ}LlqG&i)OlM1>Bt=AiQ^tHKvpF@DD_xFz@zd8|KdTxL#NL81D<{*Hkj^;`WVRz! zQZoQ5;a3&NYFV#?!!0=>ACe~w=c5}8s1~W`hke6wU8d2zf&R<~v#wy@bysaT(bz%Q zenGc+N3N;u!479GHUoHKHT~dJ=|tkfXuvYEmgG9lHe~j&NwsSz+LbaQ;m;LCHp5`Xl}<^3QfYEGAhq&9E9g2wAh{&DNUK z&MN^C1X&*UX2YkWZufQQ!V~f^LtM7;j;XdauaR636~6;N`;w8HO<)%$G9xUY*c*Wr zqoRqbmWA_pAD`PQ%U5hB+aP^5-?{>vi@@jxNwCykPie?{7(KNIVrmn@_o zA@k_2LpN7x<`zxFMQ4d6Hawvta_NdUf9;8mcFt-jfBN^TDRPn90^Ry5C(;WM)6omH z7p=_A;Ev9#o{!N-WyF)q(sl=c#`E{1jaVcKQfy}vkY>PXl6-t+_XTWnXBHfA!i$?; zar{%Gt==y`6Utzo_CJYN|NAhIcF0Wpkwk1h?7Eu#z!ROnMuD`X+G2x*TBPorcfVIgF`Of&EK!fyPu4wH>&duwjm_RdVD zdjQRMT}TdYPTz*+n(bV&z$CAWF)w6V(ik0x`iB#LoOT)fk8p zL}?8TI9Y`bxW7APbOk-srBi8eM;wd7HO|e zA5u@=M*%80Kk>uquhP`r@G_3Q93N&O7)lV+72~q(f5OnejJ&?4hmV+h+O|q?JMfp! zI$e+yz#Bd%&>85=z+J*>-hSi4{vX~Nk)WbIql?tTi9&sQn*RYE@^Hnd1IFOd!-z`d(s>K3FPa@1pnq7;ER^YTel;XfyTvra`hu~pnTUwVyO zRRN(CO>6nB#rNt(G)g&CpJK%pzL zQjyre|9mppTgrEz2Fr;joL2-(uol}jiZZK_5y8JUiCtabzWcTf-S#~rw@@BS9mMcXpCmO@o zsUMYESvB52Ll^XAe~Y4c98jDH`_;L3#7(b_=&wE-J;066u$cOu7v6Wbh5-LQA~*82 z|6A_G=GO|@xsFD~-{s)Hq>RYQWv;0STb0I@nNvNIc|5+4J?(_aUVPUVTnz%=4Pp77 zl(AN&y5zsy@4)@CsQVC*=pyjnzmX(H&sv{8sqYW3jVWN-{9D)+Z`&!-6E@dn<*Bep zceeJ)6~Wbz3xPx0V%NOM)p`ZPJXVV`i4LFMn$j*|Kv-8sT#(@O8%X(VHhI&oty5ZLTq{w3oPyeB8x{|B%djRtU zZUA%ky@g%Enz$HVfM}gaM_KjOj)%Nz26$TeP|gJViV1g17x%6Lx@S?80!`P%jYD~g z;K$Yhb@hW}uS3>yODSsg_dsep&#;{MGJ_z56=BrAt%Td`nO}kTI~XGueV?w(ugw6< z{`cC)x(l&l&La2F1v0_{*?`7bC`8;! z)ieF;<5&~FV+$GJV^}YQ%FCR0sbO*K=lmP^uu1O-y@lOqgCa_8477zT^@|ar`2Nym zX@;9S$|~?s5wP~pH`KKy5>MT3!R=KP3QigxeMs9&FQkGi$^adGtV4p$Rc^DW>+4^3 zSdMNJ*sob!z+OIm%GLq|Q?#7wFspW62}EC{mPB9tvM8|Duj4 z%d`VgiSOP>B`rNZ0$gQf7b;&FGf1o5z72PNN)7kpt#}`H(*T=1nT{=3JgA%|rjQVa zwa-klXR^I4b>rW?tWO6YOt3#MBmh-~fT-&6JPFlQ#7#Zs>LrWWhONb3KU|cop>Mr% zjL9>$a^x^x9=3*?ai51`jND_aX9EY>9P9VmulitfCR(KHclvW*OutrrOEe~9RZU%x z#Fd9t7Yk3W+^68gVvU77*>Pn$RXa)UFYvproOTYYsc0d_{_Bc4qb?`RrW8KW#^v@z z!RGxxSfUgx-y6cCbUrp;#tjssxD3zV8;TWUpQyoCxD2pTH&9AZ zyN>-27>y|#Mt1JH4-tz$Jz}e){`1N+njo^itp}|_XU#vteK`&4QbVo}F~gaW>y|zt zcd7Brr0k5dfS62en~-JqHB>4ln<^$ge*uXVPlh z4XO9f>Z?dvqsods~eb`yfkG!}w?DB}RnnG)1_RTkQ8@Q3BBG;Q~_!xT7 zSKLK7>8{O+)raul1kj#e*kS8!};9pM+#)>H%*_Vs}{TUBQSk4wps_n9G z_yP@nC{u+a`436o@;<`Yf6H**!G7TbJ6qr>0k2@xCX*l5uZbmJgS*>W{lrmGq!9B< z#ftd?$*Wrg^h-ZVH4(j}JX|t1=JRMv>^>ZDfya&~w)gHe_7?IfX~H-zzu$*-)if-;yJeGszT@t^BbO3`1eDK z`6+PxoL5O?pLI&XCGSeKpL-S2NwhA^kLuBKwR-HAm@imxi+|rq;i@bC4!(~aSBoyl zjZc8d<#I9_86i-jR8(d|SNrBJIap# zLJp6bZVeJg@WSqky=2ATAOZ_}8WaP6QpE0KRKLX3oyn3yuT+X3gZZLLR($mg*yx}hKC5Wnzni2{S!oVsi*cn!U}U`6Nv2O0U?M;qhL zG4yI(11==6YFP>CQ!$P$(C7C!gdTFCTj68A49{5q?@cq|Jmkr*?WKD)VtgRC3R*^+ z$z#Q5{`;!s=t%aL+oEt1bdvdmtlS!tq)s6`|M3^G6%gNzg)%bigS3v?jDA9?z@y16 z-+%4 zhf32)kay)?eBBxL3yhElI>8mUj#;;Mp{kYR5rhsyOj%)6E zQU|-}b&*^POQGTVM#7p;=VP3=yrDcy5F~JXVBR-tEn+sAsY|mPa>1zyjT?69luo9B zXvVQv1^@dMgS9#&c)NJI zlcb2-L)`o|6)&8$Aux6f!Sw6`PSA}YqgHX(xItZ`U^ z?X#z{CoitJN^|i|%+J-1o-cP2FWIcP=i$FJ)l((;bH<%IfPN_C;G1s#O?JX;XOCEP zOW+=Kf^m<&UU*a7BHT+QV^NzZyH6hl1FQY%>OhDX+r&{tO7q~H@x$qI|Fh zD$hooN4(yJJiTCd(aVICHJJwe{esarcYI8fjq4VHBlT3_ffIeS()KLUv#hN2%Go3C zKWkJpPt77p9n;~AW7A=<_4e1Mj>31aO}cGj9`)amgC`j^Kpj&Raa67Hb@^aG#8;~6 zhePMUk}2=g!i1J_14y7qNCJ!7;!^Z&nmYRIq}2I7t1iKavnt&)NhVurH!bt1UnC@@ zTkA0Zj2Dig)Do{RUh=>-zh%mcZ9{s?(XhXOQ^z%-ue|r2{*y1UYd5*m1o>~nbvFUJ zyR|}WBrzEpR5pyS)Ltuy^x7(SI}US9`F1RE+-A_FysL{RCnyWMEw1y&=C$d)HkV+{ z3_QHxVd@q(w^>Ff9exXAI2hK?Pq1Rp!bM%J((i|8$sv((xibnKpW7c$=`!pfFHq3w zj&AcbxCM; zif^C8ND!Shaov&_Ir4*l+Um**-79QO-2NaPd3j(s@q7UMj6G6O3LLB}SY&>~zkWaB zee`X_ZYw~eGq}h>oP+4Nqfwa{-4Pn}l6Z35mz5atX_uJvrrfSb_gpt>FcqLu`XP5G zI|p)T4nz`9I54<`n5^eGe|v%$jh{yqCG_f&=@K5MKwNGCmM6A$(Zp_b+ zl@tjXA}VR5e6PVa^gY|M)%-G{q{B%oF6Par$sBWWD$n2xvg-L~+9r_~t0`mkPyMLH zeu`6#Sl;dbV|po)htBV`6RnUIF6UzEu*>f$E#T^OQs?Dg^|v1)>9A9=(<`7QxNx(5 zBgni55V+ji#aTKbhJAu&&t?`jWH~G%IE|&^{Zr{+^Pasf#YCltx=RF|der?)@~(&X z-3TL!2pdgb7QR%+BhC$G6M_Ng#CCW}wa)PhIpy-MuXc8Jts0iQ1D=FSV>t2k+&_Qh zeNGH*X;%VTNPs@A(nBTmg6Ei=m-D*5GR2eR{nA>@U+KBLHXZn3q*s?wm;Uhf&e1>G z&^@C?ay#!$@#Dg~aJa&A;CA{O&T^XXq*(Dh<%u<`u!KX?xdeyCF~xS!czzWXKA~tp&l=oCmukU@>65?!t!XH`Ri%BKX4dP&Sx<24rD z$GJu=%I1zowx=HvbQaO_~uyD(^vth%BCL8x`O>lYV8&ug4+ z2lhO#4bP;cm|{&bdwlPiBX4oo{E50+o71^-d+*eZ1scD9pBt#Jg{YIJhH|hOZ^H^G z@m0;5krlbv+3%7Qw;yS8Yj9ahx9B6jjLg1F6W^Q1eM9O-MxBVevujVaG_rSTgvAC`Lws-#b_JyE+l%kE%usOGLy2W?GC_<;33lszIBTY@LJQ3ypBT)ya-i zfB%~c)Jamc6+(aPw%$1j20>c-FiIiOWcdZGc6Zw(A5(E4*v<16J@UVo4cfBQl;OA1 zBKvKle2-oGM~3MFjuX-%!$?TZ>QMW01ln;~Rl2(>l&XaqClJh5>4|mDiNz)2AvKAy z5%8wG*JU^0Us4h4nyX3J&Z~A_Jw9BR{Y?@?m~pMI%*CwpkGE^oKOW1ugRQNq+DIr> zW9hoJSv)tL<0(`d@J@>G)U&d_KecRlcu!KCPFmmKmh~}4PHS}=cGd4zITOHp*|p9-Pb z9ml9nx}{u?!}Ib&W=%WZ9woi9DCz-Ql-xCCuBWcfx7L$y2;Y>TFY`Gu7fPJT^xhZ# z*-EnlEQkfWq29B3_2z%9)TRegU@bwzqVoY8qOC7C_%U||1 zcshJAHxs(k?zENDJp!}G|xUEf2m1_QB+*`GwLYT|ea06I+7v{3rj#-T& zXILF+mW*)qGq;{)O}+u8U%@dr4V5L4vX)|8Qi^UB1bU)9?vj!?ENY9}f;6~4)_%8m zkB>XWb!O1WRZ^l(kMz0H$`1P35}UJKAHzUI4pjz)E&^GwTO@F63#DskD8gGSjdxNw zO!fZEH=f-MR|_|dj#yf%dXq+us!ELyMtvwRw#`UuI4v$H+V@0tQZJDdYM-(M19IZX|L)*Wf)$iW8z0P!U_lsfK7m@+xZs{L2?9xf9 z!Qq5^3R+m7aK-r-uyIt+x}^KqAv51?fjuVP!DU->U9*kF`-6$^kvu(%ccq((mxh3m z@bRk_2y#2W{lMyKKTX1>Uf{gpp;gWDb#-J-vux;;Q~T}qo<%}O_PL@{j!rmoBnV`Y zZA8`yD&EukdWd@W5c()$MHc0G?rOvp50^llmHV*Q>srIwGm_$qnxOyBc-_Vc@uFFc zVyR}-nYiU+w})#;pQypes!#KTgoVu&BJ_kJdG9AlJF9mpiGuV@Zr36&=D@*EXhFspx2s--=(KaECa^yvi1H9T8yn5AUHwy=tyS1@=wc=UCVc6a);@b zBbTI^a}oqB%#ts-y>>&I^4@u>g+*6Hb+aB@y~I-dDb)y?k@oy9!D`iKh%Iu5VI|-F zNBAzR=z{#%B8u@rii zK_7RaGVf*0gU`xJEQtz7gAZWj^WKM1n7T|64>6dSL7v>sKd+O$e|fXDWgmQ7J6Uug z9&rnQY|Kji5;V4&`sNh;25?9#)wu43ORtYi9G$OA=HXvxoZMV}OB|x_nm=yk^Ka*c zxXw-cCaU5HLSKW+Ve{y&%^WMd{$!`Z&i>iI{Slh@o4od=GVsxL^bN!pn~m)i3A92Z z25PGy&{<9XrUJ3u@9bM2?kgP4Lq_kGF53Z*{9vavQSM$W^yzh#YKpH)Z^mj<>~4D6 zNQGAfq2F?|S4*A)UQ*PyfH%>z?4SKl5;|u%9 z;ZfuE?$Cd;uCZ?01^Bu)TyE4H4ui6EHpTpO-DT&eP7KbQ8omoxE0M?)^LV}Mxw;^F z(5)Ug!xff$q%PuD6Qj52?&cLhajL3ZEfi~h=FBF4iPPd+Jt+|@>63Y;F3kR8m5oz= z;&;ql!iHxXpFk(@HqySX?eWT`{C~Ga4+wfvw0G4b3u6G`)(hh=22 zs6{c4kK6gk;gQu-G&MPy>(}lfhL~(ZiI3_^s`LJhc9T8-R9!4+cJyU*+EeGM)z%9e zPwsaTG1Q-Qf6UzWHP*`Dp!78Xjk2VLyCm5>Ll^e_l_V7A+Wyl6r+Wm0`{k`QOnV0t zX{0H2`!?PqUIDL+`ZwKZyocK#W;*e>8jEs%H+W_P(;W=NaYyIL+>5F5PLe+RdHIluLGTw=o(guke{A ziuTXzJs!8}6j9v!sscIHkL}+JyzU3z);hkm8ZJWqx!F_6$@w);{Km-! z8uCfJ&M>+z+o#hAe-3JWY$^TcY~`6Zt7ZV%LfIyZx||T+;JZ$FuS&Us$-vgwI?7z^ z+R8{3!#+2AT75zD=^aK1J zO5$W6HSpb$NVVSa`BVA8n8BNhrqxst ze(Wmr!586DMq!uAMR#hQ8AqDJH9o6htqz29I};O;hY$I|$_yVhmfWNPy*QFOO4_r> z5^o83HJgtb#y`KTgE2s}k@6aEw~M`YQ<>h+?-I8A2rX-3rTPT2!KMv5Q!?sfAhAwoJo z;-1^<%sQJrl*$7;?PsE^-?m2%PVF!GEm}k`8{X9T{nO%jkMuyYQ5Li@C=SMWUjdzJ5{+kb!C9n{r{m{XV58N6iX&U17ORVt1;9a&2LO=&L~&F7Jeq+NynRJ%X4 zwI;@KuCJ~}Otp*%PEg1O89&Lc8&te!PQfw~h4GSeTS=pF>KYV1cILS3O>pylWT(IE zI1HtOEt^aAD-O|>bE}%8`T=>L26ESnu+y1I_zsTK-A`*LbYIF`kIP-k#M)Kpz3F`r zY;d$~#wDf~y>ui}oco#})Nw_#T_-9$jig-gaVWpE)6H&GhliJZ>DyGjZOZ@vnF$Lw z?P-ToTU!6MMEC1tQ9mOUzUZiPWhqJhimr*IPudrGMVAOwHFvGYzGL7YJgk^4eU}v? ze|SkRM3g=$6sp6^d8Gc%TM~3-0MwEP6d6$6q7m>86w#wFAm@R^p#{{x=IZ2-gSH=Z zvX{Sp{b~+cHxQWff)*PooXz_1fxdDCbngfS7D1*05(Xqc8-Qe>E&S&AGoKm&Zehe1 zI6Z)Rvl z&F!{gudyu1vEXfQTg8Sn9-nd|#?tdl>OV6#hp;)J6b?S_ z=o|Cn7{_~NHpkbi%C^W;{(4PeQW43k0X8CmIh6i~h(Z4~LnVF~2n5)8c}burzXjr-LzHvoAo+pnZNf_ehSuf3 zL3)WWK$N2x8fnaY0ssVU0U$UO2C9TJp)~wpF*BMHSY4ny0FA(V(9l51esG`r{f`d< zK%WB8;_3&cLI#3qxSXSqsK}MQD1KZq5Pz|t&*;Zy^9cX(uU4FHTe>w)Syj_QTe?5- zBD$NgnSr4Uj>oT}su@K$$`hv&H~9ZV_D)6no#9Vc7U*oaP;-0}^(p^o#3AW(e2<`` zrbF|$QNZgyi7v^wu#Aijsq23tJ)f4e=4CYP5C;o-J-4gIKP z@$sfj-7g^mNy*N{(D2WZ-V)Uer)9FiP3?U_--0{a+OSA%H^>roY|V9A0X-JM z4Q%|K3Co5G)^ws_w6`3k##($k7lDnl%CK(z17qH z7J}0OOeJ||ZleOrS&f9=BEq(I5|-L{$EgoJGt~)*T$Ir$f!i$ugeOk>nHhkHpe}yItf(kE1aAJZY!rZh|4u{(AIKeYvQ_Qri`Ur zHTPGIS7TDmeKPL4TZ+XMK5G_3S#v$SGCxEc_fD57Z%CVUyG)^)WR8;I+2s++s#o!0 zs9>tL88f;><_f=KSNKu=efVyeX1cS3`LLH{57K(oLC*_-mzC4up# z%U7Grpd1pTzugP+J|8Fz?_GMT$-TwgJPJx6geYEc|5Fpl4x&NajEGM`_Q{nM_2Orc*HF8J9S2NcL1|LP99uYeRcexJO~^ttCBVmP@N%2O_S)aILX^yk9^?wYezMuR7!NKp}G0V$ox zY~GAkyV%AtYUIPWOw>>*90wEluTZ_X`EFeYw2dHT2kpeUS2KS!?#=yqMU@)R zv&MkE9gpjhL^`K?pT0IC>~3bj*<)80o%xC8zx<$QCjfO8(2arY)VRneEWA-&=?g00 z%vO+9$b%l9tj?b|epyRs`vOoz{)LHy{2$R7fgEqg*bVOVVYB1RmhOETR~%OWewUh>y6Jzm?+=U&TmU&E zqAS4WAb4lkGl)n?yyl-M-@ZK!2)l0xbqy%{<^aGxINt6d>j4G#4Cr5Pg9aP;3{!Kv zxm+W^e={OLd<2CF8r5`IQ(LwS+qWRbUCkdO&h4irI#XCyZPQjdJtxXwq5T6^YD7d9?-GffWlA~im4*p5?TJ^~ zkVl`Ms9BE!u?qt=uR)1Zu0^BR;X+dhc<(fLkDDK1pawtR@2RvaQlXp955u);#E(djCPPyVSw-;v%hj>h4n(r2qF1@c9A)$l=KmJ##_aj`A{R30)Ly<419c;n!3JUKIHJE|e z))+*5!3iiJx#FT2rkR_#5D4JNB{!}2%IT(m9mO_tzfRVFT150%uf3;XFL|5VS}fOe z`lv)yB>OzhxrXB0jeRMA$%0lY08ySH#QSDuWX}Fa~DR7E9kcl{ds>HII0rv&A zcJe$z_0mQ(!7`f_L{{6+!ex}6|Qcb6HQR;wRw3hN+ zn}Zi%yrI{V&ta(Ta87<5)gnGp!trWk^vXu3kj283g}fcxDBL*5C7V4--?fG_wb})} z@*h~Yx|O%R`JTp_M38JvSBeMmtRKU5407wG>7`RXR_^^GnNhvr zVQRK3voPvci4~mg+CIW3%(V(oE{f1@|}3 zW-qjfvD%Mn2A(6{@ir=lN&55r)~EH^^%Jr0Nyu-H%ynisxx_+U zaYWOEjpB#gUUD00CHVeh)Xog%|J)-)qn1kT8Hmnt@17*!WjDxn`0WdDd2xCXK)uoj z+f#DQ>;f2FH?M6UqFnj6q|pY|rLlj$RONQWEA&!KC@ifDA;sHJ(A}mhGLm_S^Q^&~ z_eGK!af$+A0Kon}58XBS#2Z*|b}qYUH>HD<_X)hOQieOh-zO-B3P^9xbDv7YJnfmC zkC*0c9@ls)`ILWOicqU%OOU9f$cW}v!Trs0p*~l*5#r^Ic9Cm%iRssZRf_?cY3?qP z16%oe@8>Q)a<%KMkxqf&o%?9jg*zn`F6P^&ks%dv9I^|vPmm~ z=l8BV@Gk4`t8AsWkxwZ2c_jDy7R`rC+{kys6UcbZ(d#KIPa_%4w zsC}67r1P%V)2lDSY8h*(CfQF;o-O>W!A~+Y`74>wp3W#sj~tFSNb^fb&KZk4s1 zb+`je`2spjvI>K;bie+<&i9`4Y!M{)Xj1)5qq(;DLc~lkaH#E7c8wVuwBwHM`HLOO z7nJnZ_@QO-Y~66-`-F+cqASmZTBNnVy7Q&)>M!p7&K^kBR_g94E1toM%*#W<(d&I( zGcyNv?2E|6s=m1ccVJJH*b3b~nwCmxaZg@fR>$*gxRj5@#{Qu#2%_M^-lsLZrQQUPH=1ihW|NvlrX`NaFT$bF zC%3#-_>$*CIu?CZ6XN(w=e`IzIk-OWR+wMa;~$NcyxHi#mqT>mBY3g9yQNf}%?mP& zirIPhh0@P%%e9yVie(@-*Kbn8er(F+LaV`E0$#VwjXV*RzIJrKbXuU>N{)kK$P!rxy6nA`};v{R5 znIv);eURM4Bg;#S`$EFf#V%exc-fT02j79py5s5aXvPcw+%{{c)e-dE=O@8N(M&Pz z;%o733@{B5FDF+Au=A(r&mKVS6n zMH-aJzKV;ZPj3}TKOvR-5K}|XOMJ;wIc6+~bhy7eyH`wvkkIqqv25JYvug~?Z}m?U z<7A=C#G)9c<Jw;ne6#+`&4DW3e+WL62oc@xR+2q)NiwHCc;+3$0hur%! zx5dRA*xd{icOnlihqR4x$H^TA_o#x1h;i{1*twHsAF<7LkF6o#2U!QWH{Zf@9?vo3237}&X^F6I@$~M z#ct{RE|Vb8V-DK8wQ9k&P(;LL*K!pT2Vp9~xYvpRK&}-4`3K5vajzY2lsO=-0N8~H zx&c>$4|oG$W6c1Y@Al|$gTE|rk;%Qiy@8~Up!nofRl}zaCnwE)w%WOXcM5BIsusAg z0QtVWw+3Kn2vrqSzX*uavLzfz4on@w@#j6rlm81@Kp=?hTxUa8gGh#kS$5neS*UL3 zJOUBb9fFLFu+yX*f{zBwG9e0yv%$awl)GqPEC8`21kkJ~3^*!5JgW)XZ{&jjd<9s{ zAJ>>pLsT9I}LjYljpc+gFSO6JD!F23#?+4<+gNWN9w*_FCzE4Is00D}F0&+$#U6`R>#RNPQusiGPj10DpmSFo8?a4B&+b zkdbE^eRhB|EeZqA(gG;M2>ROj^!OPNq#^M`iUsIJc#ywHW)Gf;#$hGY*aH>$l505~3y( z7kLbLILig!LcQCDOK{?*WiZWDzPrHQ>V;Q_0PUg!skq$z`ME^i+kqks|B zSIqA*yt%O<2Zl#vJ#hA;2c%mNK<=mbU}QmR6F3?-KI((_MDy805jyAzstemTz21O3 zC0)4>X$cg9g|dY2fH3C~3I|~ws1=MG*(FmG%}$Xc2227ua5Eb_Tj?l5E+-~>31HFB(rU#JF-3jJx3F8zc7k}@qCLZbkc z83o9^Om_sP2g$(_cuELK0>~CEKnFn(&99eZJLf!0n@-5jbF*ikT7Y5p4GAPGkz zBH^^Md!Ozn>khg8s6v^@5ZdmeEAJ7!4;LGZRMnbgP5;Knd824Xhw$t+&FX-&0|b?# zyN=<7tR{UD#n%VIwY~0vBpq_JS6EqD0W2o&G>Hlf48*juF2Tp&rqN`Oc-lre4=a*0 z_*m(F`nyPiP>&HXL9S*-)3u>Z>o*-Rsju4fvXIh?62Vt!1q>6?ZXjqM}n-7+UT zFblkD_kP*IiiOxNmiQjISAF?%xq=Royof;^EEI^lSjgcPY;C~+0Ji{4GpxBcgD4SO z8e`F|k6?HJV3i;+I>Z7b8W{!v!@xlS7IYX~YG5l2g%(3n5l7l<2V47Wn{)*jBNub- zy+gdg0M-=>_XtuI`xGbyM-NhgN(AAtv@@r~E~8u;4nmaYN3%=IL(l6?sBMMjYN**$+D^d+vL=f3)Zp zX1W)i2@Z463Urn$c48B9XG}tWR8nfa+Tb?Hd6i1H(=)s~8l(tUa9cV4;cI?OLm=&uZ4uTtz}XIp{NMWrT` z&D8nKfam7|X7~a=>gE-csLvUqp8MUXK3tt0ZR>w{b%RQ)WV)70vGQvR#iIB*TK`Kn zr{wAGuWHyvU01}@`F!r0IpApEz*?gF2lNKko&6UuSJVO&)G!0$@OF$>PH}O&jtVay zs;6iu4kDpV<=q*Q@;5|xt5CJ&U;ikC{p6nZ4ft--E#0JEouBri3u?Tma8$`Cf30iv z46JwuNT5+)0=cjs7IdNLCG15wXeFrVwu{iURkWT9Y?OP%lZSsUc&K+Jj( z+?6Q*V}sKSMl%jO$B@U`%erya5s2U{O_cOVW?C@gH}VK9Ch z!S*dJEe$w(c1vSyuU@1f%8jkZ>*S(zWRW)sNXJPAm`R4c@0i59-3h~)?&2asn3-@- z)eN|@aAZ_KkR|Rs9W-?amK%V1MI!?Upi6-;?r7yr!Hx!yCtN5jumO?l6(FMFdNS}& z_#HiAkaQ>g;;|lLEZ7RPHT$Z$D-hn&1W>+OdTJo|m1%N}lf~y;OcKAFQo>405k}%9 zyAT)d7&mryzCvpe!Vn4z`v(GUt_9DHLsLALKf_mn+JXW@D1e*IC%S#8kau zsgJHN?Z>Q~q4eER`X0EOH?j)5j}6-5u{=CHfW}8$0PD|Ay`hbOQwFXKDRAO~3rFFj z0N8}!uz({KYFeZW1j@7;CaQRZR^a8QdZaAT*`CaF|F=`eL za;KfR@PE>0S4P)w9LUEm zUc-LMjIMWJE_XtX^?J^W zA3aMVw@R98!u0!!!3?g=7?Z4DZCCq(R&SY(+DQj6&7nRW63VY$PAT^OUx0u9cQfSw r|I7cy9>R=-KmTX<=>La1?37uXE^7Jb&ns`h?;E9}q@h?SZyxwR?x#3Z literal 32948 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 DoUecE From 298031c5b806a033979290f86e887a5fdf83ae4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 10 Sep 2024 11:16:48 +0200 Subject: [PATCH 3/5] protectli_vp66xx/releases.md: Update release date Co-authored-by: Beata Skierka <97024713+BeataZdunczyk@users.noreply.github.com> --- docs/variants/protectli_vp66xx/releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/variants/protectli_vp66xx/releases.md b/docs/variants/protectli_vp66xx/releases.md index 45eca1911d..ce1092be13 100644 --- a/docs/variants/protectli_vp66xx/releases.md +++ b/docs/variants/protectli_vp66xx/releases.md @@ -14,7 +14,7 @@ For details about our release process please read Test results for this platform can be found [here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/). -## v0.9.0 - 2024-08-30 +## v0.9.0 - 2024-09-10 Test results for this release can be found [here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/v0.9.0-results.csv) From 7feddb7810e809cef8373f9b79bde308580a8b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 10 Sep 2024 15:39:39 +0200 Subject: [PATCH 4/5] protectli_vp66xx/releases.md: Add Binaries and SBOM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- docs/variants/protectli_vp66xx/releases.md | 104 +++++++++++++-------- 1 file changed, 65 insertions(+), 39 deletions(-) diff --git a/docs/variants/protectli_vp66xx/releases.md b/docs/variants/protectli_vp66xx/releases.md index ce1092be13..56f87ebfb2 100644 --- a/docs/variants/protectli_vp66xx/releases.md +++ b/docs/variants/protectli_vp66xx/releases.md @@ -1,56 +1,82 @@ -# Release Notes +# Protectli VP66xx Dasharo Release Notes -Following Release Notes describe status of Open Source Firmware development -for Protectli VP6630/VP6650/VP6670 +Following Release Notes describe status of open-source firmware development for +Protectli VP66xx For details about our release process please read [Dasharo Standard Release Process](../../dev-proc/standard-release-process.md).

-[Subscribe to Protectli VP6630/VP6650/VP6670 Dasharo Release Newsletter] -[newsletter]{.md-button .md-button--primary .center} -
-Test results for this platform can be found -[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/). +[Subscribe to Protectli VP66xx Dasharo Release Newsletter] +[newsletter]{ .md-button .md-button--primary .center } + + ## v0.9.0 - 2024-09-10 Test results for this release can be found -[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/v0.9.0-results.csv) +[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/v0.9.0-results.csv). ### Added - Initial support for Protectli Alder Lake devices VP66xx -- [UEFI compatible interface](../../unified-test-documentation/dasharo-compatibility/30M-uefi-compatible-interface.md) -- [Support for discrete TPM](../../unified-test-documentation/dasharo-security/200-tpm-support.md) -- [UEFI Secure Boot support](../../unified-test-documentation/dasharo-security/206-secure-boot.md) -- [Boot logo customization support](../../unified-test-documentation/dasharo-compatibility/328-logo-customization-functionality.md) -- [USB boot support](../../unified-test-documentation/dasharo-compatibility/31N-usb-boot.md) -- [NVMe boot support](../../unified-test-documentation/dasharo-compatibility/312-nvme-support.md) -- [TPM Measured Boot](../../unified-test-documentation/dasharo-security/203-measured-boot.md) -- [UEFI Shell](../../unified-test-documentation/dasharo-compatibility/30P-uefi-shell.md) -- [UEFI Secure Boot](../../unified-test-documentation/dasharo-security/206-secure-boot.md) -- [Network boot](../../unified-test-documentation/dasharo-compatibility/315b-netboot-utilities.md) -- [Windows 11 booting](../../unified-test-documentation/dasharo-compatibility/31A-windows-booting.md) -- [Ubuntu LTS booting](../../unified-test-documentation/dasharo-compatibility/308-debian-stable-and-ubuntu-lts-support.md) -- [Serial port console redirection](../../unified-test-documentation/dasharo-compatibility/31G-ec-and-superio.md#sio004001-serial-port-in-firmware) -- [Vboot Verified Boot](../../unified-test-documentation/dasharo-security/201-verified-boot.md) -- [Intel ME HAP disable](../../unified-test-documentation/dasharo-security/20F-me-neuter.md) -- [BIOS flash protection for Vboot recovery region](../../unified-test-documentation/dasharo-security/20J-bios-lock-support.md) -- [Setup menu password configuration](../../dasharo-menu-docs/overview.md#dasharo-menu-guides) -- [SMM BIOS write protection](../../dasharo-menu-docs/dasharo-system-features.md#dasharo-security-options) -- [USB stack disable option in setup menu](../../dasharo-menu-docs/dasharo-system-features.md#usb-configuration) -- [Network stack disable option in setup menu](../../dasharo-menu-docs/dasharo-system-features.md#networking-options) - -## Known Issues - -- [Display Port has trouble working with certain monitors]( - https://github.com/Dasharo/dasharo-issues/issues/1015) -- [STB002.001 encounters unlisted errors]( - https://github.com/Dasharo/dasharo-issues/issues/1013) +- [UEFI compatible interface](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/30M-uefi-compatible-interface/) +- [Support for discrete TPM](https://docs.dasharo.com/unified-test-documentation/dasharo-security/200-tpm-support/) +- [UEFI Secure Boot support](https://docs.dasharo.com/unified-test-documentation/dasharo-security/206-secure-boot/) +- [Boot logo customization support](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/328-logo-customization-functionality/) +- [USB boot support](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/31N-usb-boot/) +- [NVMe boot support](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/312-nvme-support/) +- [TPM Measured Boot](https://docs.dasharo.com/unified-test-documentation/dasharo-security/203-measured-boot/) +- [UEFI Shell](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/30P-uefi-shell/) +- [UEFI Secure Boot](https://docs.dasharo.com/unified-test-documentation/dasharo-security/206-secure-boot/) +- [Network boot](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/315b-netboot-utilities/) +- [Windows 11 booting](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/31A-windows-booting/) +- [Ubuntu LTS booting](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/308-debian-stable-and-ubuntu-lts-support/) +- [Serial port console redirection](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/31G-ec-and-superio/#sio004001-serial-port-in-firmware) +- [Vboot Verified Boot](https://docs.dasharo.com/guides/vboot-signing/) +- [Intel ME HAP disable](https://docs.dasharo.com/unified-test-documentation/dasharo-security/20F-me-neuter/) +- [BIOS flash protection for Vboot recovery region](https://docs.dasharo.com/unified-test-documentation/dasharo-security/20J-bios-lock-support/) +- [Setup menu password configuration](https://docs.dasharo.com/dasharo-menu-docs/overview/#dasharo-menu-guides) +- [SMM BIOS write protection](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#dasharo-security-options) +- [USB stack disable option in setup menu](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#usb-configuration) +- [Network stack disable option in setup menu](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#networking-options) -[newsletter]: https://newsletter.3mdeb.com/subscription/n2EpSxtqL +### Known issues + +- [Display Port has trouble working with certain monitors](https://github.com/Dasharo/dasharo-issues/issues/1015) +- [STB002.001 encounters unlisted errors](https://github.com/Dasharo/dasharo-issues/issues/1013) + +### Binaries - -[![empty-pixel](../../images/empty_pixel.png)](overview.md) +[protectli_vault_adl_v0.9.0.rom][protectli_vault_adl_v0.9.0.rom_file]{.md-button} +[sha256][protectli_vault_adl_v0.9.0.rom_hash]{.md-button} +[sha256.sig][protectli_vault_adl_v0.9.0.rom_sig]{.md-button} + +To verify binary integrity with hash and signature please follow the +instructions in [Dasharo release signature verification](/guides/signature-verification) +using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/dasharo/dasharo-open-source-firmware-engineering-release-signing-key.asc) + +### SBOM (Software Bill of Materials) + +- [coreboot based on 4.21 revision 50887bab](https://github.com/Dasharo/coreboot/tree/50887bab) + + [License](https://github.com/Dasharo/coreboot/blob/50887bab/COPYING) +- [Dasharo EDKII fork based on f06673308f revision f0667330](https://github.com/Dasharo/edk2/tree/f0667330) + + [License](https://github.com/Dasharo/edk2/blob/f0667330/License.txt) +- [Dasharo iPXE fork based on 838611b34e revision 838611b3](https://github.com/Dasharo/ipxe/tree/838611b3) + + [License](https://github.com/Dasharo/ipxe/blob/838611b3/COPYING.GPLv2) +- [Intel Management Engine based on v16.1.25.1865 revision 3f879073](https://github.com/Dasharo/dasharo-blobs/blob/main/protectli/vault_adl_p/) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Flash Descriptor based on v1.1 revision 3f879073](https://github.com/Dasharo/dasharo-blobs/blob/main/protectli/vault_adl_p/) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Firmware Support Package based on IoT RPL-P MR1 (4445_03) revision a6ee9636](https://github.com/intel/FSP/commits/master/RaptorLakeFspBinPkg/IoT/RaptorLakeP) + + [License](https://github.com/intel/FSP/blob/a6ee9636/FSP_License.pdf) +- [Intel microcode based on ADL R0 0x432 revision microcode-20240312](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20240312/intel-ucode/06-9a-04) + + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20240312/license) +- [Intel microcode based on RPL-H/P/PX 6+8 J0 0x4121 revision microcode-20240312](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20240312/intel-ucode/06-ba-02) + + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20240312/license) + +[newsletter]: https://newsletter.3mdeb.com/subscription/n2EpSxtqL +[protectli_vault_adl_v0.9.0.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vault_adl_v0.9.0.rom +[protectli_vault_adl_v0.9.0.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vault_adl_v0.9.0.rom.sha256 +[protectli_vault_adl_v0.9.0.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vault_adl_v0.9.0.rom.sha256.sig From 880abdaadcd9f5671e85ad254921e8e9116b8388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20=C5=BBygowski?= Date: Wed, 11 Sep 2024 13:40:46 +0200 Subject: [PATCH 5/5] docs/variants/protectli_vp66xx: Synchronize content with release metadata MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Żygowski --- .../protectli_vp66xx/openness_score.md | 16 ++++++--- docs/variants/protectli_vp66xx/releases.md | 35 +++++++++---------- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/docs/variants/protectli_vp66xx/openness_score.md b/docs/variants/protectli_vp66xx/openness_score.md index 6724f1c573..3f9dbe909d 100644 --- a/docs/variants/protectli_vp66xx/openness_score.md +++ b/docs/variants/protectli_vp66xx/openness_score.md @@ -1,5 +1,13 @@ # Dasharo Openness Score +This page contains the [Dasharo Openness +Score](../../glossary.md#dasharo-openness-score) for Protectli +VP6630/VP6650/VP6670 Dasharo releases. The content of the page is generated +with [Dasharo Openness Score +utility](https://github.com/Dasharo/Openness-Score). + +## v0.9.0 + Openness Score for protectli_vp66xx_v0.9.0.rom Open-source code percentage: **36.6%** @@ -20,7 +28,7 @@ Closed-source code percentage: **63.4%** > Numbers given above already include the calculations from CBFS regions > presented below -## FMAP regions +### FMAP regions | FMAP region | Offset | Size | Category | | ----------- | ------ | ---- | -------- | @@ -40,7 +48,7 @@ Closed-source code percentage: **63.4%** | GBB | 0xb05000 | 0x3000 | data | | SI_DEVICEEXT2 | 0x4c1000 | 0xbf000 | empty | -## CBFS BOOTSPLASH +### CBFS BOOTSPLASH * CBFS size: 524288 * Number of files: 1 @@ -57,7 +65,7 @@ Closed-source code percentage: **63.4%** | ------------- | ------------- | ---- | ----------- | -------- | | (empty) | null | 524260 | none | empty | -## CBFS FW_MAIN_A +### CBFS FW_MAIN_A * CBFS size: 4587264 * Number of files: 13 @@ -86,7 +94,7 @@ Closed-source code percentage: **63.4%** | vbt.bin | raw | 1277 | LZMA | data | | (empty) | null | 36 | none | empty | -## CBFS COREBOOT +### CBFS COREBOOT * CBFS size: 5210112 * Number of files: 17 diff --git a/docs/variants/protectli_vp66xx/releases.md b/docs/variants/protectli_vp66xx/releases.md index 56f87ebfb2..00f573f484 100644 --- a/docs/variants/protectli_vp66xx/releases.md +++ b/docs/variants/protectli_vp66xx/releases.md @@ -13,7 +13,7 @@ For details about our release process please read -## v0.9.0 - 2024-09-10 +## v0.9.0 - 2024-09-11 Test results for this release can be found [here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/VP66xx/v0.9.0-results.csv). @@ -49,9 +49,13 @@ Test results for this release can be found ### Binaries -[protectli_vault_adl_v0.9.0.rom][protectli_vault_adl_v0.9.0.rom_file]{.md-button} -[sha256][protectli_vault_adl_v0.9.0.rom_hash]{.md-button} -[sha256.sig][protectli_vault_adl_v0.9.0.rom_sig]{.md-button} +[protectli_vp66xx_v0.9.0.rom][protectli_vp66xx_v0.9.0.rom_file]{.md-button} +[sha256][protectli_vp66xx_v0.9.0.rom_hash]{.md-button} +[sha256.sig][protectli_vp66xx_v0.9.0.rom_sig]{.md-button} + +[protectli_vp66xx_v0.9.0_dev_signed.rom][protectli_vp66xx_v0.9.0_dev_signed.rom_file]{.md-button} +[sha256][protectli_vp66xx_v0.9.0_dev_signed.rom_hash]{.md-button} +[sha256.sig][protectli_vp66xx_v0.9.0_dev_signed.rom_sig]{.md-button} To verify binary integrity with hash and signature please follow the instructions in [Dasharo release signature verification](/guides/signature-verification) @@ -60,23 +64,18 @@ using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/da ### SBOM (Software Bill of Materials) - [coreboot based on 4.21 revision 50887bab](https://github.com/Dasharo/coreboot/tree/50887bab) - + [License](https://github.com/Dasharo/coreboot/blob/50887bab/COPYING) - [Dasharo EDKII fork based on f06673308f revision f0667330](https://github.com/Dasharo/edk2/tree/f0667330) - + [License](https://github.com/Dasharo/edk2/blob/f0667330/License.txt) - [Dasharo iPXE fork based on 838611b34e revision 838611b3](https://github.com/Dasharo/ipxe/tree/838611b3) - + [License](https://github.com/Dasharo/ipxe/blob/838611b3/COPYING.GPLv2) -- [Intel Management Engine based on v16.1.25.1865 revision 3f879073](https://github.com/Dasharo/dasharo-blobs/blob/main/protectli/vault_adl_p/) - + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) -- [Intel Flash Descriptor based on v1.1 revision 3f879073](https://github.com/Dasharo/dasharo-blobs/blob/main/protectli/vault_adl_p/) - + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) -- [Intel Firmware Support Package based on IoT RPL-P MR1 (4445_03) revision a6ee9636](https://github.com/intel/FSP/commits/master/RaptorLakeFspBinPkg/IoT/RaptorLakeP) - + [License](https://github.com/intel/FSP/blob/a6ee9636/FSP_License.pdf) +- [Intel Management Engine based on v16.1.25.1865 revision 9712e97a](https://github.com/Dasharo/dasharo-blobs/blob/9712e97a/protectli/vault_adl_p/) +- [Intel Flash Descriptor based on v1.1 revision 9712e97a](https://github.com/Dasharo/dasharo-blobs/blob/9712e97a/protectli/vault_adl_p/) +- [Intel Firmware Support Package based on IoT RPL-P MR1 (4445_03) revision a6ee9636](https://github.com/intel/FSP/commits/a6ee9636/RaptorLakeFspBinPkg/IoT/RaptorLakeP) - [Intel microcode based on ADL R0 0x432 revision microcode-20240312](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20240312/intel-ucode/06-9a-04) - + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20240312/license) - [Intel microcode based on RPL-H/P/PX 6+8 J0 0x4121 revision microcode-20240312](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20240312/intel-ucode/06-ba-02) - + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20240312/license) [newsletter]: https://newsletter.3mdeb.com/subscription/n2EpSxtqL -[protectli_vault_adl_v0.9.0.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vault_adl_v0.9.0.rom -[protectli_vault_adl_v0.9.0.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vault_adl_v0.9.0.rom.sha256 -[protectli_vault_adl_v0.9.0.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vault_adl_v0.9.0.rom.sha256.sig +[protectli_vp66xx_v0.9.0.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vp66xx_v0.9.0.rom +[protectli_vp66xx_v0.9.0.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vp66xx_v0.9.0.rom.sha256 +[protectli_vp66xx_v0.9.0.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vp66xx_v0.9.0.rom.sha256.sig +[protectli_vp66xx_v0.9.0_dev_signed.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vp66xx_v0.9.0_dev_signed.rom +[protectli_vp66xx_v0.9.0_dev_signed.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vp66xx_v0.9.0_dev_signed.rom.sha256 +[protectli_vp66xx_v0.9.0_dev_signed.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_adl/v0.9.0/protectli_vp66xx_v0.9.0_dev_signed.rom.sha256.sig