| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:232066387
TEST=none
Change-Id: Ia6e25a01c40e89d439926c0fbafe896b603691fd
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3656370
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the dump_fmap flashrom output to calculate the offset and size. All
of the information is included on one line.
BUG=none
TEST=ap_ro_hash.py -v GBB True
Change-Id: I160173caaaf540c20786e892d244ee8a941833b6
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3654254
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a range is too big, break it up into smaller blocks that GSC can
handle.
BUG=none
TEST=run `ap_ro_hash.py COREBOOT` on volteer.
Change-Id: I094c2eb725af07e21b3e249336cb7b556761b50c
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3644691
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use mp, prepvt, and tot as the bcmp input. Convert those to the correct
tpm2 and cr50 branch names.
BUG=none
TEST=./util/bcmp.sh mp ; ./util/bcmp.sh tot ; ./util/bcmp.sh prepvt ;
verify the tpm2 and cr50 branch names are correct.
Change-Id: I0d1c237fd4322a102b939a7c16f10f991bf408fb
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3615476
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:229877169
TEST=none
Change-Id: I9b1e04f5487662816401129adb593b7f1c0e259b
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3628135
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some devices the board id flags are set to lock in the phase and the
board id type isn't set until the board is finalized. RO may be changed
until the board id type is written. Change the check from
board_id_is_erased to board_id_type_is_blank, so the factory can update
the AP RO hash until the board is finalized.
This is the same check we do in sn_bits. Try to read the board id and
then check the type. In the future, we may want to consolidate.
BUG=b:230430292
TEST=manual
Clear the board id
Set the hash
python ap_ro_hash.py GBB
gsctool -aA prints the digest
Set the BID flags
gsctool -ai 0xffffffff:0x1234
Clear the hash
gsctool -aH
gsctool -aA
get hash rc: 10 AP RO hash unprogrammed
Set the hash
python ap_ro_hash.py GBB
gsctool -aA prints the digest
Clear the hash
gsctool -aH
gsctool -aA
get hash rc: 10 AP RO hash unprogrammed
Set the BID type
gsctool -ai $(cros_config / brand-code):0x1234
Verify cr50 rejects setting the hash
python ap_ro_hash.py GBB
ERROR: Cr50 returned 7 (BID programmed)
Change-Id: I440ee84b3c86e16f027a8b9dcd51ea3031171ea1
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3627808
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Commit-Queue: Andrey Pronin <apronin@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Print the calculated digest, so we can use it for debugging.
BUG=none
TEST=./ap_ro_hash.py -v True GBB prints a digest that matches the
digest from the trunks_send command and the one saved in cr50.
Change-Id: I686dac5248782ea68d7bab98c2554940cc0b74b3
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3624499
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:219038720
TEST=gsctool -aL
Change-Id: I1c0b417e61dcb6460345c2fcf8d43952ebbf65d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3573469
Commit-Queue: Brian Granaghan <granaghan@google.com>
Tested-by: Brian Granaghan <granaghan@google.com>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:229877169
TEST=none
Change-Id: I492616346f21b824915fba33c66ad296507bcaf7
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3611617
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the power button input to determine if the power button is pressed.
CHECK_OUTPUT_PWRB_OUT follows CHECK_INPUT_PWRB_IN, so they should be the
same. This switches to using the RBOX input since that is what cr50
should be using.
BUG=b:175320127
TEST=press the power button. Verify powerbtn output looks good.
Change-Id: Ie7f224489505366029450c98e341f3790192d49a
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3611615
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
|