summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* gsctool: Parse X branding from factory config.factory-brya-15231.B-cr50_stabBrian Granaghan2023-05-051-1/+5
| | | | | | | | | | | | | | | | | | | | BUG=b:275356839 TEST=localhost ~ # gsctool -aD --factory_config chassis_x_branded: false hw_x_compliance_version: 08 raw value: 1122334455667788 Change-Id: I8b75886d22f921671160aa62a02d9872933200e1 Signed-off-by: Brian Granaghan <granaghan@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4477485 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org> (cherry picked from commit f430733d7accad534c1f4cbf750496c5866a22e9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4507029 Auto-Submit: Wei-Shuo Su <stevesu@google.com> Commit-Queue: Wei-Shuo Su <stevesu@google.com> Tested-by: Wei-Shuo Su <stevesu@google.com> Reviewed-by: Louis Chiu <louischiu@google.com>
* gsctool: Add command to get or set factory config.Brian Granaghan2023-05-051-1/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add '--factory_config' command to get the factory config if optarg is not provided and set it if one is provided. BUG=b:275356839 TEST=localhost ~ # gsctool -a --factory_config EEDDCCBBAA998877 Failed because already set: localhost ~ # gsctool -a --factory_config 001122334455667788 Factory config failed. (7) Successful set: localhost ~ # gsctool -a --factory_config 0 localhost ~ # gsctool -a --factory_config 001122334455667788 localhost ~ # gsctool -a --factory_config 1122334455667788 Change-Id: I128e9871eb2aece3a9173c5a6e31c2ce5a4d3cd0 Signed-off-by: Brian Granaghan <granaghan@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4404231 Commit-Queue: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Tested-by: Mary Ruthven <mruthven@chromium.org> (cherry picked from commit 20ee1fabc83507d6fb5786441b22b8c4a0bfdfb9) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4507008 Reviewed-by: Cheng Yueh <cyueh@chromium.org> Auto-Submit: Wei-Shuo Su <stevesu@google.com> Tested-by: Wei-Shuo Su <stevesu@google.com> Commit-Queue: Wei-Shuo Su <stevesu@google.com>
* cr50: Add get/set factory config command codes.Brian Granaghan2023-05-051-0/+31
| | | | | | | | | | | | | | | | | BUG=b:275356839 TEST=build Change-Id: I6de6de6a43cfe45860bbe9b4aa7cce211da0166e Signed-off-by: Brian Granaghan <granaghan@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4421422 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org> (cherry picked from commit 92026fc84fab67bb0ee9b66b635cafb436165d8d) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4506019 Commit-Queue: Wei-Shuo Su <stevesu@google.com> Auto-Submit: Wei-Shuo Su <stevesu@google.com> Tested-by: Wei-Shuo Su <stevesu@google.com> Reviewed-by: Cheng Yueh <cyueh@chromium.org>
* gsctool: add support for AP RO Verification V2 statusJett Rink2022-11-032-0/+56
| | | | | | | | | | | | | | | | | | Implement AP RO Verification V2 status that ti50 will send via the same TPM Vendor command: VENDOR_CC_GET_AP_RO_STATUS See ti50 impl in chrome-internal:5070449 BUG=b:256892104 TEST=manually verified all V2 return values from ti50 Change-Id: I95c071046054075c045d8e698946dc81e55c64dd Signed-off-by: Jett Rink <jettrink@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3999806 Tested-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* apro: define ap_ro_check_payload with the max number of rangesMary Ruthven2022-11-021-11/+7
| | | | | | | | | | | | | | | | A followup CL is going to add gbb data after the ap ro check payload. Define ap_ro_check_payload with the maximum number of AP RO ranges, so there is enough space between the AP RO check v1 data and the gbb descriptor. BUG=b:236844541 TEST=cr50 can validate existing AP RO data and save new data. Check one range and 32 ranges. Change-Id: I1faff319644b5c6aa531e500d3d60b4ce9c170ee Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3949615 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* apro: refactor writing AP RO check dataMary Ruthven2022-11-021-26/+75
| | | | | | | | | | | | | We'll need to reuse this code. Move it to its own function. BUG=b:236844541 TEST=erase the hash, write it, and trigger verification. Make sure ap_ro_info looks ok after reboot. Change-Id: If49fff3ad7e56d8685e08b480301e439fa715241 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3914999 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* apro: generate the hash with possible factory flagsMary Ruthven2022-11-021-7/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AP RO flags may have been non-zero when the factory generated the hash. The stored hash will not match finalized firmware since it was generated with non-zero gbb flags and the gbb flags are set to 0 during finalization. Cr50 can try to match the saved hash by using factory flags to calculate the AP RO hash. As long as the GBB flags are actually set to 0 it should be ok to try calculating the hash with a limited set of possible factory flags. Try to match the saved hash using GBB flags 0 to calculate the hash. If that doesn't match, cycle through the rest of the possible factory flags to see if any of them generate the saved hash. If none of the factory flags work, fail verification. This change adds 8 possible factory flag values: 0, 0x39, 0x239, 0x1039, 0x50b9, 0x40b9, 0x52b9, and 0x42b9 BUG=b:236844541,b:230071229 TEST=manual # add 0x42b9 possible_factory_flags # Set GBB flags to 0x42b9 /usr/share/vboot/bin/set_gbb_flags.sh 0x42b9 # save the hash with GBB 0x42b9 ap_ro_hash.py FMAP GBB # Verify AP RO verification fails because flags are 0x42b9 [349.029624 enable_spi_pinmux: AP] [349.030178 tpm_rst_asserted] [349.032382 spi_hash_pp_done: AP] [349.137962 validate_gbb: invalid flags 42b9] # reboot cr50 to release ec reset > reboot # Set GBB flags to 0 /usr/share/vboot/bin/set_gbb_flags.sh 0 # Verify ap ro verification passes. Change-Id: I17d191abada342263ea246911ce47ac24dbb940c Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3840653 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* usb_spi: move validate_ranges_sha print to usb_spi_sha256_updateMary Ruthven2022-11-023-10/+10
| | | | | | | | | | | | | | A future cl will call usb_spi_sha256_update in more places. Move the range print statement into usb_spi_sha256_update, so we don't need to print the range in multiple places later. BUG=b:236844541 TEST=make -j BOARD=cr50 Change-Id: I9475d14ea0d65be1ad68f606252d50d9af964253 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3840652 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* ap_ro: v1: check the gbb flags are 0Mary Ruthven2022-11-021-15/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change verifies the GBB flags are 0. Before running verification find the GBB flags using FMAP. Read the flags and verify they're 0. If they are continue with verification. If verification passes, set the status to AP_RO_PASS instead of AP_RO_PASS_UNVERIFIED_GBB. BUG=b:236844541 TEST=manual # Set GBB flags to 0x42b9 /usr/share/vboot/bin/set_gbb_flags.sh 0x42b9 # save the hash with GBB 0x42b9 ap_ro_hash.py WP_RO # Verify AP RO verification fails because flags are 0x42b9 [72.692916 RO Validation triggered] [72.694034 enable_spi_pinmux: AP] [72.696472 spi_hash_pp_done: AP] [72.747348 validate_gbbd: invalid flags 42b9] [72.748043 spi_hash_disable] [72.748325 AP RO FAILED!] # reboot cr50 to release ec reset > reboot # Set GBB flags to 0 /usr/share/vboot/bin/set_gbb_flags.sh 0 # Verify ap ro verification passes. [11.887981 RO Validation triggered] [11.890193 enable_spi_pinmux: AP] [11.893215 spi_hash_pp_done: AP] [11.944625 validate_gbbd: ok] [11.945545 validate_ranges_sha: 0:400000] [12.001037 AC: -F] [19.201118 spi_hash_disable] [19.202487 AP RO PASS!] [19.212337 AP off] [19.264606 CCD state: UARTEC+TX] # Verify verification fails if the FMAP isn't in the hash. # Set the hash ap_ro_hash.py COREBOOT GBB # Trigger verification. It should fail because the fmap isn't in # the hash. [87.274055 RO Validation triggered] [87.275653 enable_spi_pinmux: AP] [87.278614 spi_hash_pp_done: AP] [87.329715 init_gbbd: FMAP(3c0000:47c) not in hash.] [87.367118 combo0 efs rst] [87.367698 Recovery Requested] [87.388858 AC: -F] [87.544731 init_gbbd: FMAP(13c0000:47c) not in hash.] [87.707511 spi_hash_disable] [87.708415 AP RO FAILED!] Change-Id: I3f53272a9c1aa1e82df16461dd4ac6577e4060c8 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3840651 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* util/chargen: Update to python3Edward Hill2022-10-281-14/+15
| | | | | | | | | | | | Update to match the copy in ToT EC repo. BUG=b:227228605 TEST=script works with python3 Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: Idd4ff156f980d1edaaf4f98d468e3cffbe7ae771 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3989665 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* alerts: ignore RTC_DEAD alertsstabilize-15208.B-cr50_stabstabilize-15207.B-cr50_stabfirmware-nissa-15217.B-cr50_stabfirmware-nissa-15217.45.B-cr50_stabfirmware-nissa-15217.126.B-cr50_stabfactory-trogdor-15210.B-cr50_stabfactory-corsola-15197.B-cr50_stabfactory-corsola-15196.B-cr50_stabMary Ruthven2022-10-171-1/+9
| | | | | | | | | | | BUG=b:244476137 TEST=none Change-Id: I07b6cf0e65b578aa28a61185ff1e0a7b12a63380 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3935022 Reviewed-by: Andrey Pronin <apronin@chromium.org> Commit-Queue: Andrey Pronin <apronin@chromium.org>
* tools: drop tpm_hash_gen.pystabilize-quickfix-15183.78.B-cr50_stabstabilize-15185.B-cr50_stabstabilize-15185.7.B-cr50_stabstabilize-15183.82.B-cr50_stabstabilize-15183.69.B-cr50_stabstabilize-15183.14.B-cr50_stabstabilize-15174.B-cr50_stabstabilize-15167.B-cr50_stabrelease-R108-15183.B-cr50_stabfirmware-corsola-15194.B-cr50_stabVadim Bendebury2022-10-051-114/+0
| | | | | | | | | | | | | The script has been reworked to support multiple versions of GSC and has been moved into the Ti50 tree. BUG=None TEST=None Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Change-Id: I4ff086b73796bad09a7b572aa68566470582c28b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3936350 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* prepare to release 0.{5,6}.130firmware-duplo-15151.B-cr50_stabMary Ruthven2022-09-282-2/+2
| | | | | | | | | | | BUG=b:243160187 TEST=none Change-Id: Ib3fa73f9344f4342777a4f100bd28ee874f422dc Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3922444 Reviewed-by: Andrey Pronin <apronin@chromium.org> Commit-Queue: Andrey Pronin <apronin@chromium.org>
* ap_ro_integrity_check: remove v2 supportMary Ruthven2022-09-231-998/+56
| | | | | | | | | | | | | | | | | | | | | | | | Remove most of the v2 support. Keep finding the FMAP and put it behind FIND_FMAP, so we can use it to find the gbb. BUG=none TEST=manual # erase AP RO hash. Make sure AP RO verification is skipped and # the device boots. [128.981224 RO Validation triggered] [128.982357 ap_ro_check_unsupported: RO verification not ...] [129.109138 AC: R-] # Set the hash. Make sure validation runs. [56.397819 RO Validation triggered] [56.399009 enable_spi_pinmux: AP] [56.401519 spi_hash_pp_done: AP] ... Change-Id: Id52180c352a57e0e1e3cdc18bc3ee0fcce4c222c Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3869309 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* stack_analyzer: Migrate to python3stabilize-15129.B-cr50_stabstabilize-15122.B-cr50_stabstabilize-15120.B-cr50_stabYilin Yang2022-09-153-38/+47
| | | | | | | | | | | | | | | | | BUG=chromium:1031705 TEST=stack_analyzer_unittest.py TEST=`make BOARD=kukui SECTION=RO analyzestack` runs successfully Signed-off-by: kerker <kerker@chromium.org> Change-Id: I4027c9c21bdf5fb456430231f1e9bfefed3e8fdb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2419737 Reviewed-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> (cherry picked from commit 4747bf170d58917025889fedc93e5a0ac7db7fb1) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3893047 Auto-Submit: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Yu-Ping Wu <yupingso@chromium.org> Tested-by: Mary Ruthven <mruthven@chromium.org>
* gsctool: adjust CCD info v1 capabilities representationstabilize-15117.86.B-cr50_stabstabilize-15117.48.B-cr50_stabstabilize-15117.111.B-cr50_stabrelease-R107-15117.B-cr50_stabVadim Bendebury2022-09-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gsctool utility expects the 64 capabilities values to be represented as two u32 quantities in big endian format, where each two bits represent current and default states for various capabilities. Ti50 represents the same values as single u64 little endian values. This patch modifies the cpabilities values to match expectations in case ccd_info structure is of version 1. BUG=b:244750201 TEST=capalbilities display on the Ti50 console and in gsctool output are the same in both cases when CCD is opened and locked: localhost # ./gsctool -a -I State: Opened Password: None Flags: 000000 Capabilities, current and default: UartGscRxAPTx Y Always UartGscTxAPRx Y Always UartGscRxECTx Y Always UartGscTxECRx Y IfOpened UartGscRxFpmcuTx Y Always UartGscTxFpmcuRx Y IfOpened FlashAP Y IfOpened FlashEC Y IfOpened OverrideWP Y IfOpened RebootECAP Y IfOpened GscFullConsole Y IfOpened UnlockNoReboot Y Always UnlockNoShortPP Y Always OpenNoTPMWipe Y IfOpened OpenNoLongPP Y IfOpened RemoveBatteryBypassPP Y Always I2C Y IfOpened FlashRead Y Always OpenNoDevMode Y Always OpenFromUSB Y Always OverrideBatt Y IfOpened BootUnverifiedRo Y Default CCD caps bitmap: 0x3fffff Capabilities are default. localhost # ./gsctool -a -I State: Locked Password: None Flags: 000000 Capabilities, current and default: UartGscRxAPTx Y Always UartGscTxAPRx Y Always UartGscRxECTx Y Always UartGscTxECRx - IfOpened UartGscRxFpmcuTx Y Always UartGscTxFpmcuRx - IfOpened FlashAP - IfOpened FlashEC - IfOpened OverrideWP - IfOpened RebootECAP - IfOpened GscFullConsole - IfOpened UnlockNoReboot Y Always UnlockNoShortPP Y Always OpenNoTPMWipe - IfOpened OpenNoLongPP - IfOpened RemoveBatteryBypassPP Y Always I2C - IfOpened FlashRead Y Always OpenNoDevMode Y Always OpenFromUSB Y Always OverrideBatt - IfOpened BootUnverifiedRo - Default CCD caps bitmap: 0xe9817 Capabilities are default. Signed-off-by: Vadim Bendebury <vbendeb@google.com> Change-Id: I41e0ea22265cdb5aaaff33be4ba79030e402ee1b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3895514 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
* gsctool: Size TPM update request packets to fit the max block size.Sam McNally2022-09-141-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | tpm_send_pkt() uses a static buffer sized to MAX_BUF_SIZE. When updating via the TPM interface transfer_section() calls tpm_send_pkt() with a data size bounded by SIGNED_TRANSFER_SIZE. tpm_send_pkt() copies the data into its static buffer, with a 20 byte offset to leave space for the header. MAX_BUF_SIZE is 500 and SIGNED_TRANSFER_SIZE is 1024, so this overflows by 544 bytes. The build options for gsctool have recently changed to adopt the fortified version of memcpy, which now detects this buffer overflow. Split MAX_BUF_SIZE into MAX_RX_BUF_SIZE and MAX_TX_BUF_SIZE, increasing MAX_TX_BUF_SIZE to fit update packets. BUG=b:246212506 TEST=gsctool -a /opt/google/ti50/firmware/ti50.bin.prepvt succeeds make buildall -j Change-Id: I5180d8ec72a03feaeba9226c9c2f2faad29ae38a Signed-off-by: Sam McNally <sammc@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3893949 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* rdd: fix rddkeepalive disableMary Ruthven2022-09-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After `rddkeepalive disable` ccd doesn't disconnect even if suzyq is disconnected. It stays connected and the rdd_connect deferred call constantly wakes cr50. This change fixes rddkeepalive. It cancels any pending rdd_connect call and calls rdd_interrupt, so cr50 will start using the actual rdd state. BUG=b:186242173 TEST=manual # Verify rddkeepalive works when suzyq is disconnected. After # keepalive is disabled, cr50 enters sleep normally. # Disconnect suzyq. > rddkeepalive enable Forcing Rdd detect keepalive > [39.850055 Rdd connect] [40.163909 CCD EXT enable] [40.164722 USB PHY B] [40.165802 CCD state: UARTAP UARTEC USBEC+TX] > > ccdstate ... Rdd: connected KeepAlive: enabled ... > rddkeepalive disable Using actual Rdd state > [45.590282 Rdd disconnect] [46.165451 CCD EXT disable] [46.166255 CCD state:] > > ccdstate ... Rdd: disconnected KeepAlive: disabled ... > 10- <==== Cycles twice a second. # Verify rddkeepalive works when suzyq is connected. After # keepalive is disabled, USB stays connected. There are no # usb messages. # Connect suzyq. [211.541210 usb_reset, status 1028] [211.601188 AC: R-] [211.629741 SETAD 0x1a (26)] > > ccdstate ... Rdd: connected KeepAlive: disabled ... > rddkeepalive ena Forcing Rdd detect keepalive > rddkeepalive dis Using actual Rdd state > > ccdstate ... Servo: connected Rdd: connected ... > Change-Id: I5b55a84928aaef49c57f1512fcc886411b3fc118 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3894392 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
* fix ChromiumOS authors and whitespace warningsMary Ruthven2022-09-13790-822/+806
| | | | | | | | | | | BUG=none TEST=none Change-Id: I61b0b0106a43f723ec3bc805eb190aef00bbd05b Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3894391 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
* gsctool: support CCD info variationsVadim Bendebury2022-09-131-7/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cr50 and Ti50 generate different CCD Info reports, as the set of CCD capabilities is different on these two devices. To help addressing this problem a recent change was introduced in the Ti50 code to generate a versioned CCD Info report. This will allow the gsctool utility to address future modification of the CCD info report structure. The 'legacy' Cr50 report still does not have a header, and will be considered by gsctool 'version 0'. The Ti50 CCD Info report header version is set to 1. This patch consolidates processing of both report versions by gsctool. The set of CCD capabilities, their names and default states have been copied from Ti50 codebase and modified for code style manually, which is extremely error prone, this process will have to be automated, unfortunately there is no direct code sharing between the trees. BUG=b:244750201 TEST=on a Cr50 device for CCD in 'opened' and 'locked' states: - verified that 'gsctool -a -I' outputs for the old and new versions of gsctool are identical. On a Ti50 device, for CCD in 'opened' and 'locked' states: - verified that output of the new version 'gsctool -a -I' matches output of `ccd` ran on Ti50 console. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Change-Id: I47592e7b74c76cf130199161baf0ae7c88056b2a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3877672 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* gsctool: cosmetic changes to pacify pre-upload checksVadim Bendebury2022-09-091-3/+3
| | | | | | | | | | | | | | | | The 'All right reserved' line is not needed in the header any more. Also fixing compiler warning about potentially unassigned variable uses. Those warnings are false positives, but it is better to keep the compiler happy. BUG=none TEST=none Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Change-Id: If9f4baaad2c837101ca3d69e85e9998bef194fc4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3887969 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* ec: Fix DEBUG "variable" in usb_updater Makefile (retry)Brian Norris2022-09-072-4/+4
| | | | | | | | | | | | | | | | | | DEBUG is not the way to refer to a variable in a Makefile expression; $(DEBUG) is. Make extra/rma_reset/Makefile consistent with this too. Reland after gsctool fixed some build errors: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3876011 BUG=b:245028043 TEST=build (chromeos-cr50-dev) Signed-off-by: Brian Norris <briannorris@chromium.org> Change-Id: I6c9ac95522c987e520123b10f7c722a21bb5ecb8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3877390 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* gsctool: fix compilation problemsVadim Bendebury2022-09-071-6/+10
| | | | | | | | | | | | | | | | | | | | | It turns out that due to a bug in ./Makefile gsctool is always compiled with -O0. Fixing the make file bug highlighted a bug in gsctool code where a return value of getline() was left unchecked. This patch fixes the gsctool compilation problem. BUG=b:245028043 TEST=Verified that gsctool now builds successfully with -O3. Verified that attempts to set password are properly failed when entered passwords are of different length and succeed otherwise. Change-Id: I8a3f337f3d40ff14a23162fab796b5b02f6cc664 Signed-off-by: Vadim Bendebury <vbendeb@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3876011 Tested-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Brian Norris <briannorris@chromium.org>
* Revert "ec: Fix DEBUG "variable" in usb_updater Makefile"Jim Pollock2022-09-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit af5a3f99166f5c395c14add96af0bc13516946c9. Reason for revert: Change has broken most builders Original change's description: > ec: Fix DEBUG "variable" in usb_updater Makefile > > DEBUG is not the way to refer to a variable in a Makefile expression; > $(DEBUG) is. > > Also, imitate the =1 check from extra/rma_reset/Makefile. > > BUG=none > TEST=build > > Change-Id: Ic71be497ca83041dfdedf63c10e7c74b38c05bc8 > Signed-off-by: Brian Norris <briannorris@chromium.org> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872547 > Commit-Queue: Mary Ruthven <mruthven@chromium.org> > Reviewed-by: Mary Ruthven <mruthven@chromium.org> Bug: none Change-Id: I4950c7f081f04f1dad0091dd2d7abe64426b3518 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3874108 Tested-by: Jim Pollock <jmpollock@chromium.org> Owners-Override: Jim Pollock <jmpollock@chromium.org> Reviewed-by: Dan Callaghan <dcallagh@chromium.org>
* Revert "ec: Check DEBUG is nonempty"Jim Pollock2022-09-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 84783974eaab2604f0fa52893f8118dd5e80884e. Reason for revert: Change has broken most builders Original change's description: > ec: Check DEBUG is nonempty > > To support DEBUG=yesplease, etc. > > BUG=none > TEST=none > > Signed-off-by: Brian Norris <briannorris@chromium.org> > Change-Id: I3547e0eb1c5cc0ebffebd779cfa1a139f1956d78 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872718 > Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> > Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Bug: none Change-Id: I9dd5bab15e56b67b500a3b3ab5043753411b7deb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3874069 Owners-Override: Jim Pollock <jmpollock@chromium.org> Reviewed-by: Dan Callaghan <dcallagh@chromium.org> Tested-by: Jim Pollock <jmpollock@chromium.org>
* ec: Check DEBUG is nonemptyfirmware-ti50-mp-15090.B-cr50_stabBrian Norris2022-09-022-2/+2
| | | | | | | | | | | | | To support DEBUG=yesplease, etc. BUG=none TEST=none Signed-off-by: Brian Norris <briannorris@chromium.org> Change-Id: I3547e0eb1c5cc0ebffebd779cfa1a139f1956d78 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872718 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* ec: Fix DEBUG "variable" in usb_updater MakefileBrian Norris2022-09-021-3/+3
| | | | | | | | | | | | | | | | DEBUG is not the way to refer to a variable in a Makefile expression; $(DEBUG) is. Also, imitate the =1 check from extra/rma_reset/Makefile. BUG=none TEST=build Change-Id: Ic71be497ca83041dfdedf63c10e7c74b38c05bc8 Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872547 Commit-Queue: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* apro: add compile time check to verify max AP RO data sizestabilize-15086.B-cr50_stabstabilize-15083.B-cr50_stabfirmware-ti50-prepvt-15086.B-cr50_stabfirmware-ti50-mp-15224.B-cr50_stabMary Ruthven2022-08-271-0/+8
| | | | | | | | | | | | | | Use a build assert to verify the header, hash, and maximum number of RO ranges can fit in the AP RO space. BUG=none TEST=none Change-Id: I4ecd12ba06e1af524d6ae38a16211ffddeabb8f9 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3840986 Commit-Queue: Andrey Pronin <apronin@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org>
* util: convert config_option_check.py to Python 3Jack Rosenthal2022-08-261-18/+28
| | | | | | | | | | | | | | | | | | | | | | | The main fixes that were needed were: * Use utf-8 encoding from git subprocess. * Don't use 'is' to compare string equality (Python does not guarantee interning of strings). For the parser state, the string comparison was removed by changing this to an Enum, since we have Python 3 anyway. BUG=chromium:1031705 TEST=create commit with invalid config options and run script, notice the script points them out and exits 1, then test without that commit, no output and exit 0. Change-Id: I1113e063f747f0207c4b59a74f4e4a06bbcd5fcd Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2068520 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit a9666e310606cbd1a54d32fa0cb200f16cf1d451) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3858397 Tested-by: Mary Ruthven <mruthven@chromium.org> Auto-Submit: Mary Ruthven <mruthven@chromium.org>
* ap_ro_integrity_check: specify ap ro status enum valuesstabilize-15072.B-cr50_stabMary Ruthven2022-08-251-7/+7
| | | | | | | | | | | | | Specify ap ro status enum values, so it's easy to verify they're the same across Ti50 and AP scripts. BUG=none TEST=none Change-Id: Id65855b030ae315440f59b84dd02def0ef9d2c1f Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3828598 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* apro: clear AP_RO_FAIL on combo0Mary Ruthven2022-08-254-1/+28
| | | | | | | | | | | | | | | | | | | | | | There are a couple of known issues saving the AP RO verification hash in cr50, so it's possible AP RO verification will fail even if the AP RO is ok. Add support for releasing the EC from reset with PWRB + refresh after AP RO verification fails. This just makes it easier to recover the device. If the device is released from reset, the status is set to AP_RO_FAIL_CLEARED and a APROF_FAIL_CLEARED flog event is logged. This only releases EC reset if the device failed AP RO verification. Any other verification status won't get cleared by the key combo. BUG=b:240530668 TEST=trigger verification on a device with a bad hash. Verify the EC is held in reset until PWRB + refresh is pressed. make -C extra/usb_updater gsctool Change-Id: I03a02501e7c91a41374816d82f48a5289f289c39 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3805820 Reviewed-by: Andrey Pronin <apronin@chromium.org>
* cr50/nvmem: fix unmarshalling of objectContextID in TPM2 state loadVadim Sukhomlinov2022-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems this field is only accessed by TPM2_ContextSave command, didn't affect the format of data and only led to faster increase of object context ids. It is unclear if it is related to TPM_RC_OBJECT_MEMORY errors. BUG=b:242870497 TEST=TCG test ------------------------------- Test Environment ----------------------- Test Suite Version: 2.1a Operating System: Linux TDDL Version: SocketTDDL ---------------------------------- Test Object ------------------------- TPM Vendor: CROS TPM Firmware Version: 2de0a64 8 TPM Spec Version: 1.16 Vendor Specific Info: xCG , fTPM, , Tested Spec Version: 1.16 ------------------------------ Test Result Summary --------------------- Test executed on: Fri Aug 19 10:04:45 2022 Performed Tests: 248 Passed Tests: 248 Failed Tests: 0 Errors: 0 Warnings: 0 ======================================================================== Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com> Change-Id: I81c4e8ffbb79c709b046f4db57d86d6007d3574d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3842207 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Code-Coverage: Vadim Sukhomlinov <sukhomlinov@chromium.org> Auto-Submit: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Vadim Sukhomlinov <sukhomlinov@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org>
* apro: add new return codes (take two)Mary Ruthven2022-08-183-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new ap_ro_integrity_check return codes. The existing AP_RO_PASS (1) return code doesn't verify the GBB. Rename it to AP_RO_PASS_UNVERIFIED_GBB. Shimless RMA should only treat AP_RO_PASS (6) as a pass. Nothing returns this right now. This CL also adds AP_RO_IN_PROGRESS(7). AP_RO_IN_PROGRESS is used if AP RO verification is ongoing. AP_RO_FAIL_CLEARED will be used in a followup CL. old: 1 - AP_RO_PASS new: 1 - AP_RO_PASS_UNVERIFIED_GBB ... 6 - AP_RO_PASS 7 - AP_RO_IN_PROGRESS This saves 8 bytes since it also shortens a print message. The remaining space changes from 5804 to 5812 bytes. BUG=b:234497234 TEST=make buildall -j; make -C extra/usb_updater/ gsctool Change-Id: I9f8b45f5564d453cbb4386b318b65d977d8b3f73 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3828596 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* Revert "apro: add new return codes"stabilize-15054.98.B-cr50_stabstabilize-15054.26.B-cr50_stabstabilize-15054.115.B-cr50_stabrelease-R106-15054.B-cr50_stabJudy Hsiao2022-08-123-22/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c1f5a5481f1121e2f408055f04906205b779dc91. Reason for revert: b:242249503 ``` gsctool.c:2382:2: error: duplicate case value 2382 | case AP_RO_UNSUPPORTED_NOT_TRIGGERED: | ^~~~ gsctool.c:2373:2: note: previously used here 2373 | case AP_RO_UNSUPPORTED_NOT_TRIGGERED: | ^~~~ ``` Original change's description: > apro: add new return codes > > Add new ap_ro_integrity_check return codes. The existing AP_RO_PASS (2) > return code doesn't verify the GBB. Rename it to > AP_RO_PASS_UNVERIFIED_GBB. Shimless RMA should only treat > AP_RO_PASS (7) as a pass. Nothing returns this right now. > This CL also adds AP_RO_FAIL_CLEARED(8) and AP_RO_IN_PROGRESS(9). > AP_RO_IN_PROGRESS is used if AP RO verification is ongoing. > AP_RO_FAIL_CLEARED will be used in a followup CL. > > old: > 2 - AP_RO_PASS > > new: > 2 - AP_RO_PASS_UNVERIFIED_GBB > ... > 7 - AP_RO_PASS > 8 - AP_RO_FAIL_CLEARED > 9 - AP_RO_IN_PROGRESS > > This saves 8 bytes since it also shortens a print message. The remaining > space changes from 5804 to 5812 bytes. > > BUG=b:234497234 > TEST=make buildall -j > > Change-Id: I8d19a411c2534236c9defa82291872420c19a15b > Signed-off-by: Mary Ruthven <mruthven@chromium.org> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3805819 > Reviewed-by: Andrey Pronin <apronin@chromium.org> > Commit-Queue: Andrey Pronin <apronin@chromium.org> Bug=b:234497234, b:242249503 Change-Id: I63ebc6a1343410e3b2a5ab0684a8a533553ec1ec Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3826713 Reviewed-by: Andrey Pronin <apronin@chromium.org> Auto-Submit: Judy Hsiao <judyhsiao@google.com> Tested-by: Judy Hsiao <judyhsiao@google.com> Owners-Override: Judy Hsiao <judyhsiao@google.com> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Andrey Pronin <apronin@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org>
* apro: add new return codesMary Ruthven2022-08-113-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new ap_ro_integrity_check return codes. The existing AP_RO_PASS (2) return code doesn't verify the GBB. Rename it to AP_RO_PASS_UNVERIFIED_GBB. Shimless RMA should only treat AP_RO_PASS (7) as a pass. Nothing returns this right now. This CL also adds AP_RO_FAIL_CLEARED(8) and AP_RO_IN_PROGRESS(9). AP_RO_IN_PROGRESS is used if AP RO verification is ongoing. AP_RO_FAIL_CLEARED will be used in a followup CL. old: 2 - AP_RO_PASS new: 2 - AP_RO_PASS_UNVERIFIED_GBB ... 7 - AP_RO_PASS 8 - AP_RO_FAIL_CLEARED 9 - AP_RO_IN_PROGRESS This saves 8 bytes since it also shortens a print message. The remaining space changes from 5804 to 5812 bytes. BUG=b:234497234 TEST=make buildall -j Change-Id: I8d19a411c2534236c9defa82291872420c19a15b Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3805819 Reviewed-by: Andrey Pronin <apronin@chromium.org> Commit-Queue: Andrey Pronin <apronin@chromium.org>
* util/flash_cr50: Update servo controlsstabilize-15033.B-cr50_stabstabilize-15032.B-cr50_stabRobert Zieba2022-08-051-9/+9
| | | | | | | | | | | | | | | | This utility currently uses the outdated servo controls `servo_v4_type` and `servo_v4_role`. These were replaced with `root.dut_connection_type` and `servo_pd_role` respectively. This commit updates this utility to use the updated controls BUG=none TEST=Flash Cr50 FW on a DeWatt device Signed-off-by: Robert Zieba <robertzieba@google.com> Change-Id: Ic24215725a09ce464c39fa1ffc8c2b3965a9738f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3811889 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org>
* cr50: TOT_ONLY: add chargenMary Ruthven2022-08-051-0/+6
| | | | | | | | | | | | | | | | DO NOT LAND IN RELEASE BRNACHES. Add chargen to tot images, so we can verify c2d2 and servo micro functionality with tot cr50 images. BUG=b:240718978 TEST=run chargen Change-Id: I98bc344a2914f311a056904a7fc5b650b22c40d0 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3805824 Commit-Queue: Andrey Pronin <apronin@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org>
* chargen: update for cr50 branchMary Ruthven2022-08-051-1/+1
| | | | | | | | | | | | | | | The cr50 branch doesn't have uart_buffer_full. It has uart_buffer_room. Update chargen to use uart_buffer_room instead of uart_buffer_full, so it'll work with cr50. BUG=b:240718978 TEST=none Change-Id: I5f9a5d8a3cdc15db7a7ca66d54f7997dce165fd9 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3805823 Commit-Queue: Andrey Pronin <apronin@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org>
* Update header templates/examplesAlex Klein2022-07-291-1/+1
| | | | | | | | | | | | | | ChromiumOS instead of Chromium OS and drop "All rights reserved.". BUG=b:230609017 TEST=None Change-Id: I55bf56261a7695a5b52ce61b46d6fb2695495d87 Signed-off-by: Alex Klein <saklein@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3791656 Commit-Queue: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Tested-by: Mary Ruthven <mruthven@chromium.org>
* Makefile.toolchain: Disable assembler warningsstabilize-14998.B-cr50_stabstabilize-14989.85.B-cr50_stabstabilize-14989.107.B-cr50_stabrelease-R105-14989.B-cr50_stabfactory-foobar-15000.B-cr50_stabVadim Sukhomlinov2022-07-141-0/+3
| | | | | | | | | | | | | | | | | | | | Binutils 2.36 seems to have a bug which is addressed in 2.37. https://sourceware.org/bugzilla/show_bug.cgi?id=27412 This is a temporarily fix. BUG=b:238039591 TEST=make hosttests Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com> Change-Id: I78551ec9eac5eb7e6fad2da8eb734c5a895d3a3c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3760892 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Auto-Submit: Vadim Sukhomlinov <sukhomlinov@chromium.org>
* Makefile.toolchain: Add -no-pie to more placesManoj Gupta2022-07-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add -no-pie link flag to disable position independent code in more places. This is needed since GCC will be configured to use position independent code by default. BUG=b:236984388 TEST=CQ BRANCH=none Signed-off-by: Manoj Gupta <manojgupta@google.com> Change-Id: I41ab27779218e84c5891a286a43c7b51776eed0b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3727781 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3759129 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Vadim Sukhomlinov <sukhomlinov@chromium.org> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org>
* Makefile.toolchain: Disable position independent codeManoj Gupta2022-07-131-3/+4
| | | | | | | | | | | | | | | | | | | | | | | Disable position independent code generation explicitly. This is needed since GCC will be configured to use position independent code by default. BUG=b:236984388 TEST=CQ BRANCH=none Signed-off-by: Manoj Gupta <manojgupta@google.com> Change-Id: I9cfc3c0e47b23b0282e06fd482441f979d19622d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3730964 Tested-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3759128 Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Vadim Sukhomlinov <sukhomlinov@chromium.org> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
* gsctool: clean up and restore compilation outside chrootstabilize-14964.B-cr50_stabfirmware-chameleon-14947.B-cr50_stabfirmware-14947.B-cr50_stabVadim Bendebury2022-06-162-3/+4
| | | | | | | | | | | | | | | | The new compiler version does not like mixing up arrays and pointers, BRANCH=none BUG=none TEST=compilation succeeds inside and outside chroot, gsctool updates succeed with Ti50 Signed-off-by: Vadim Bendebury <vbendeb@google.com> Change-Id: Ia507d27315bf601450a7d9b45cf20f98f4833a05 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3710276 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* cr50: remove flashrom --do-not-verify flag from docsstabilize-14918.B-cr50_stabNikolai Artemiev2022-06-151-3/+3
| | | | | | | | | | | | | The flag is being deleted, see b/234557583 and crrev.com/c/3697556. BUG=b:234557583 TEST=none Change-Id: Iad05e425db5b7301d83ec83af8eed9f006a02ab1 Signed-off-by: Nikolai Artemiev <nartemiev@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3697266 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org>
* base64: add implementation for encoding binary into base64Vadim Bendebury2022-06-138-0/+204
| | | | | | | | | | | | | | | | | | | | In the Cr50 tree there is no really output devices other than console where base64 encoding output could be sent, and there is no use for decoding function yet. Add the encoding function implementation, make it possible to send output to console by default and optionally to a passed in function. Add test to verify proper encoding. BUG=b:234745585 TEST='make run-base64' succeeds. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Change-Id: Ibc10681632bc649320d602e319e4f634b4b3a1d1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3701141 Reviewed-by: Mary Ruthven <mruthven@chromium.org> Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
* prepare to release 0.{5,6}.120stabilize-quickfix-14909.132.B-cr50_stabstabilize-14909.100.B-cr50_stabrelease-R104-14909.B-cr50_stabfirmware-guybrush-14500.B-cr50_stabfactory-guybrush-14908.B-cr50_stabfactory-brya-14909.124.B-cr50_stabMary Ruthven2022-06-062-2/+2
| | | | | | | | | | | BUG=b:235079109 TEST=none Change-Id: Ia0892309b9586737b518d9b037b083e0b3231b34 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3691319 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* cr50: Add corp format to u2f_attestHoward Yang2022-06-033-24/+77
| | | | | | | | | | | | | | | Add a format for u2fd-corp attestation to u2f_attest, and corresponding test case in u2f_test.py BUG=b:233147441 TEST=make buildall -j TEST=u2f_test.py Change-Id: I4d12345fd0531a4be091c05670215444fe38e706 Signed-off-by: Howard Yang <hcyang@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3670107 Reviewed-by: Andrey Pronin <apronin@chromium.org> Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
* add CR50_DEV and CRYPTO_TEST builds to make buildallMary Ruthven2022-06-011-1/+7
| | | | | | | | | | | | | | | Build CR50_DEV, CRYPTO_TEST, and CRYPTO_TEST red board images in make buildall, so make buildall will find failures in all cr50 images we use. BUG=none TEST=make buildall ; ls build/cr50* shows all of the new cr50 directories. The ec images in those directories have 'DBG' and 'CT' strings in their versions. Change-Id: I19cee37a6c9fe255d44700e3bb8d616f8b8fc875 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3628193 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
* scribe: fix build failuresVadim Bendebury2022-05-271-1/+6
| | | | | | | | | | | | | | | Scribe code is not compiled often, it has bitrot a bit due to tool upgrades. This patch restores the scribe build correctness. BUG=none TEST=scribe build does not fail any more. Signed-off-by: Vadim Bendebury <vbendeb@google.com> Change-Id: I335c7903258b14ff731e7c345a36194395baf5d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3668651 Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
* gsctool: block ti50 upgrade without going through 0.0.15Jett Rink2022-05-231-3/+33
| | | | | | | | | | | | | | | | | | | | We need to ensure that versions before 0.0.15 upgrade to 0.0.15 before going to 0.0.16 or later. Otherwise, the first page of the new RW is erased when upgrading RO and we need to rescue. BUG=none TEST=locally changed must have version to 0.22.0 and played around with different versions on my brya. Worked as expected around version 0.22.0 Change-Id: I79b41fb86c22aa37163264815faef9558370d702 Signed-off-by: Jett Rink <jettrink@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3658243 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Auto-Submit: Jett Rink <jettrink@chromium.org>