487a54bcbe7b6dac1a856b0991e6d13c34a1c423 |
|
27-Jul-2014 |
Sheng-Liang Song <ssl@chromium.org> |
vboot: Notify EC of current boot mode Notify EC of boot mode, i.e. normal, developer or recovery. This is necessary for battery firmware updates. BUG=chrome-os-partner:24741 CQ-DEPEND=CL:205323 CQ-DEPEND=CL:210033 CQ-DEPEND=CL:215720 BRANCH=ToT TEST=Verified on samus & glimmer. Passed runalltests. ~/trunk/src/platform/vboot_reference $ make runalltests -j Change-Id: I1613ede34b4a929d1e8114fb519861f349377e94 Signed-off-by: Sheng-Liang Song <ssl@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/210032 Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
e778adae83d2ac4ab94aa10acceab328bbd3ea7b |
|
16-Jul-2014 |
Randall Spangler <rspangler@chromium.org> |
Change VbExEc functions to take a devidx parameter This will be used in subsequent CLs to support PD software sync. For now, only devidx=0 is used. This changes the external vboot API, so must be checked in at the same time as changes to the u-boot and depthcharge implementations. For now, those implementations should simply check if devidx=0 and fail if it's not. BUG=chrome-os-partner:30079 BRANCH=none TEST=make runtests CQ-DEPEND=CL:208195,CL:208196 Change-Id: Iad3be9d676ac224c4582669bcd67176b39f75c73 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/208210 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
5e8f1db9d4a483678c376a0a276b8f774f91d0ac |
|
09-May-2014 |
Hung-Te Lin <hungte@chromium.org> |
lib: Add VbExDisplaySetDimension. For displaying GBB images on panels with different dimension, X86 has VESA mode and VBIOS to scale automatically but ARM does not have such mode settings. If we install a larger panel on ARM platforms, current firmware will render the screens in left-top corner and leave black borders in right-bottom corner. To render images correctly, vboot library has to send out the expected dimension (similar to the VESA mode) so display provider can scale or shift images. BUG=chrome-os-partner:28494 TEST=emerge-nyan vboot_reference CQ-DEPEND=CL:199051,CL:199045 BRANCH=none Change-Id: I6d60f755ca2bcbd3135631d7624a8a4a4cff68b1 Reviewed-on: https://chromium-review.googlesource.com/199043 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org> Commit-Queue: Hung-Te Lin <hungte@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
a53a0b040f45a1086515e7a5c8a8326c0b1d1f74 |
|
11-Jan-2014 |
Luigi Semenzato <semenzato@chromium.org> |
vboot: use recovery button as dev mode switch confirmation We don't allow ENTER from a USB keyboard as the confirmation in the switch from normal to developer mode. For devices that have a physical recovery button, we require a recovery button press instead. For other devices, we require that ENTER be pressed on the internal keyboard. This prevents an "evil keyboard" attack in which a USB keyboard (or other USB device pretending to be a keyboard) sends a control-D/ENTER sequence shortly after every boot (followed by more evil keys). In that situation, when users power-on in recovery mode, they will be forced to dev mode even if it was not their intention. Further attacks are easy at that point. TESTING. On a panther device: 1. powered on with recovery button pressed -> booted in recovery mode 2. pressed control-D on external USB keyboard -> got to ToDev? screen 3. pressed ENTER -> system beeped 4. pressed recovery button -> system rebooted in DEV mode ... all as expected Also: 1. powered on with recovery button pressed and HELD recovery button 2. pressed control-D -> system beeped BUG=chrome-os-partner:21729 TEST=manual (see commit message) BRANCH=none CQ-DEPEND=CL:182420,CL:182946,CL:182357 Change-Id: Ib986d00d4567c2d447f8bbff0e5ccfec94596aa7 Reviewed-on: https://chromium-review.googlesource.com/182241 Reviewed-by: Luigi Semenzato <semenzato@chromium.org> Tested-by: Luigi Semenzato <semenzato@chromium.org> Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
8912169231e589b0400debed26f9cedbbe6d9561 |
|
10-Oct-2013 |
Daisuke Nojiri <dnojiri@google.com> |
Disable EC jump after RW image starts TEST=Built and booted Peppy. Ran flashrom from user space and verified the EC firmware was updated after reboot. CQ-DEPEND=CL:172651, CL:172652, CL:178324 BRANCH=none BUG=chromium:325286 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: Ia73da70dbf3abb5ced48666e86715c8d24a431a0 Reviewed-on: https://chromium-review.googlesource.com/172635 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@google.com> Commit-Queue: Daisuke Nojiri <dnojiri@google.com>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
0c3ba249abb1dc60f5ebabccf84ff13206440b83 |
|
29-Mar-2013 |
Bill Richardson <wfrichar@chromium.org> |
Massive refactoring of external header files. This reduces the number of exported header files to the minimum needed by the existing userspace utilities and firmware implementations. BUG=chromium:221544 BRANCH=none TEST=manual, trybots CQ-DEPEND=CL:47019,CL:47022,CL:47023 sudo FEATURES=test emerge vboot_reference FEATURES=test emerge-$BOARD \ vboot_reference \ chromeos-cryptohome \ chromeos-installer \ chromeos-u-boot \ peach-u-boot \ depthcharge Change-Id: I2946cc2dbaf5459a6c5eca92ca57d546498e6d85 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/47021 Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
ac8805e7e9bd40c03baf44e37b26f28d9b763ab5 |
|
16-Mar-2013 |
Gabe Black <gabeblack@chromium.org> |
Get rid of some crufty macros. These were macros that were never used, or that were only set to one thing and could be substituted up front. I left in code guarded by the HAVE_ENDIAN_H and HAVE_LITTLE_ENDIAN macros even though those are never defined because they guard a reportedly significantly faster implementation of some functionality, at least according to a comment in the source. It would be a good idea to enable that code path and see if it really does make a big difference before removing it entirely. BUG=None TEST=Built for Link, Daisy, and the host with FEATURES=test. Built depthcharge for Link and booted in normal mode. BRANCH=None Change-Id: I934a4dd0da169ac018ba07350d56924ab88b1acc Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://gerrit.chromium.org/gerrit/45687 Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Queue: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
93943266c597ad66300445a04afa01270f2b5763 |
|
26-Feb-2013 |
Randall Spangler <rspangler@chromium.org> |
Split off modules required for VbInit() and VbSelectFirmware() This makes it more obvious which modules and VbEx*() functions must be implemented to call these entry points. This change only moves functions between modules and adds two link-test binaries; it doesn't change any functionality. BUG=chromium-os:39262 BRANCH=none TEST=make && make runtests Change-Id: If3edf0b1989b631f0e7ad18de7ccdad8315181b5 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/44076 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
7c55708979036bff83370036034d8d2cea3053ed |
|
05-Feb-2013 |
Randall Spangler <rspangler@chromium.org> |
Reformat to kernel style No code changes, just reformatting. BUG=none BRANCH=none TEST=make runtests Change-Id: Ibffadf6c8a5911b79a29f8f554ca00c595f6b27b Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42624
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
5ca4ea087a3d67c2a639e8b9254f51f076bf85fa |
|
05-Feb-2013 |
Randall Spangler <rspangler@chromium.org> |
EC software sync uses precomputed hash if available This removes the need to load the EC code at all when the precomputed hash matches. BUG=chrome-os-partner:17606 BRANCH=spring TEST=wouldn't that be nice Change-Id: If4438b9db8b1449b8fd4d90ef3acb3bbec5e09a0 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/42567
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
a2326ee152ab5b8aee924ccf794cee38d54909bd |
|
24-Aug-2012 |
Stefan Reinauer <reinauer@chromium.org> |
Add CTRL-L in dev screen to support a "legacy boot option" This option is disabled per default and can be enabled with crossystem dev_boot_legacy=1 or by setting the GBB flag GBB_FLAG_FORCE_DEV_BOOT_LEGACY 0x00000080 BUG=chrome-os-partner:6108 TEST=crossystem dev_boot_legacy=1 boot to dev mode screen, press CTRL-L, see SeaBIOS start (other CLs needed) BRANCH=link Signed-off-by: Stefan Reinauer <reinauer@chromium.org> Change-Id: I593d2be7cff5ca07b8d08012c4514a172bd75a38 Reviewed-on: https://gerrit.chromium.org/gerrit/31265 Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Tested-by: Stefan Reinauer <reinauer@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Stefan Reinauer <reinauer@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
029ae65756993979c22035e3706e2b04049ef9fe |
|
23-Jul-2012 |
Randall Spangler <rspangler@chromium.org> |
VbExEcGetExpectedRW() should take a const ** Since vboot is expected not to modify the contents of the returned pointer. BUG=chrome-os-partner:11148 TEST=if it builds, it worked This change MUST be submitted at the same time as u-boot https://gerrit.chromium.org/gerrit/28146. Change-Id: Ieeee8f456a7fbd9fe6b108a29e208058310b471b Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/28145 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
b1aa7aea2dd2b956dc6d04c430bda29d4d15679f |
|
18-Jul-2012 |
Gabe Black <gabeblack@chromium.org> |
Change VbExEcGetExpectedRW so that vboot picks an ec image instead of U-Boot. This changes the signature of the function above so that it takes an additional parameter that specifies which EC image vboot wants. This is better than making U-Boot decide because U-Boot doesn't really keep track of which version it is (it peeks at internal vboot data) and vboot does. Also, some consts were removed from the image pointer pointer. The pointer itself will be changed in the body of the function to tell vboot where the EC has been loaded, and the contents of the buffer will be changed because U-Boot will have to actually load the EC there. BUG=chrome-os-partner:11148 TEST=Built vboot_reference, vboot_reference-firmware, chromeos-u-boot, and chromeos-bootimage for Daisy and Link and saw them complete successfully with and without the signature for U-Boot's version of this function being updated. That works because the function isn't actually being used yet. Change-Id: I2814c8210eb5b3d965bb8bbf23c0f283f9e44c90 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://gerrit.chromium.org/gerrit/27755 Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
053b7b682c60eb7bcf55a079ff7afccccef82fa6 |
|
08-Jul-2012 |
Randall Spangler <rspangler@chromium.org> |
Stub out new vboot APIs for EC software sync BUG=chrome-os-partner:11087 TEST=make sure it builds; APIs aren't used yet. Change-Id: If86f3465a889b8fa87cf225d2b9876fe79311327 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/26875 Reviewed-by: Simon Glass <sjg@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
592567e95612cdfa679b9b9fd3e4afe0579b1210 |
|
18-Jun-2012 |
Bill Richardson <wfrichar@chromium.org> |
Remove VbExTrustEC() from vboot, so it can go into BIOS. The VbExTrustEC function should be implemented in the BIOS, not the vboot library. Also, weak references don't seem to work with our linker, so we'll have to just require it always. BUG=chrome-os-partner:9953 TEST=none This must go in with a simultaneous change to U-Boot. The only test is whether or not everything continues to compile. Change-Id: I8a5ccb167eec3bcacbe892cf0bdcfe550a1f57d6 Reviewed-on: https://gerrit.chromium.org/gerrit/25557 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
f47291926afce3235421f73811a04324195f3e13 |
|
03-May-2012 |
Bill Richardson <wfrichar@chromium.org> |
Require -Wall -Werror for everything. BUG=none TEST=none Change-Id: Ib9781238274285f73d00d8fca4ecda28fc2c6678 Reviewed-on: https://gerrit.chromium.org/gerrit/21748 Commit-Ready: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
037dba21243559e93aa98c428c0655ceb418b23f |
|
19-Jan-2012 |
Bill Richardson <wfrichar@chromium.org> |
Fix audio loop for long-delay keyboard reads. BUG=chrome-os-partner:7428 TEST=manual Switch to dev-mode, turn it on, see how long it takes. With gbb.flags == 1 (factory mode), it should take 2 seconds. (You'll see a warning on the screen if gbb.flags is nonzero) With gbb.flags == 0 (after factory install), it should take 30 seconds. You should hear two beeps at 20 seconds. Change-Id: I4f14128b87d3482e291b1b40a11a6d27c72c1ad1 Reviewed-on: https://gerrit.chromium.org/gerrit/14534 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Commit-Ready: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
4313fba2fb928f662a63b7566f235291dc1455f7 |
|
23-Sep-2011 |
Bill Richardson <wfrichar@chromium.org> |
VbExBeep() now returns VbError_t instead of void This enables us to support playing sounds in the background if the BIOS allows it, so we don't have to block while beeping is happening. The new declaration is: VbError_t VbExBeep(uint32_t msec, uint32_t frequency); If the audio codec can run in the background, then: zero frequency means OFF, non-zero frequency means ON zero msec means return immediately, non-zero msec means delay (and then OFF if needed) else: non-zero msec and non-zero frequency means ON, delay, OFF, return zero msec or zero frequency means do nothing and return immediately The return value is used by the caller to determine the capabilities. The implementation should always do the best it can if it cannot fully support all features - for example, beeping at a fixed frequency if frequency support is not available. At a minimum, it must delay for the specified non-zero duration. Currently, VbExBeep() is called only when displaying the dev-mode screen. BUG=none TEST=manual I've tested on x86 and ARM, all timeouts and noises work as before. Note that ARM and coreboot will require a corresponding change to their VbExBeep() implementations, which will have to be handled with separate, simultaneous CLs. Change-Id: I3417ae4b99d9d0aee63f2ccaeed39b61d4333e5d Reviewed-on: http://gerrit.chromium.org/gerrit/8234 Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@google.com>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
b1c85a8442fd2d8e05705cdcadfa40865e952975 |
|
17-Aug-2011 |
Bill Richardson <wfrichar@chromium.org> |
Decompress images in vboot wrapper, not in BIOS. The vboot library needs to decompress the images so that it can handle those that are special cases (like rendering the HWID). This means that 1) it needs access to the BIOS' native decompression routine, and 2) that VbExDisplayImage() only needs to handle the uncompressed native-format image and doesn't need to know about how the image is packed in the GBB. BUG=chromium-os:19134 TEST=manual This requires a change to vboot_api.h, which requires a (simultaneous) matching change to the BIOS, at least for U-Boot, which builds separately. I've made that change and run the "vbexport_test display" command from the modified U-Boot, but that also requires a change to the way U-Boot is built so that I can get at the U-Boot commandline. Change-Id: I449fb467cd3a68e742f27ec41b95d52685459d89 Reviewed-on: http://gerrit.chromium.org/gerrit/6129 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|
32a6526d25d4bf9a1c137fc3d275d1c68935d184 |
|
27-Jun-2011 |
Randall Spangler <rspangler@chromium.org> |
Verified boot wrapper - add stub implementations for host This is part 2 of the wrapper API refactor. It adds stub implementations for the host, and changes the host-side utilities to use them. Firmware implementation is unchanged in this CL (other than a few updates to macros). BUG=chromium_os:16997 TEST=make && make runtests Change-Id: I63989bd11de1f2239ddae256beaccd31bfb5acef Reviewed-on: http://gerrit.chromium.org/gerrit/3256 Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/vboot_api_stub.c
|