Age | Commit message (Collapse) | Author |
|
When copying the device name, the temporary target variable was twice
smaller than the copy size.
Create a define to ensure this won't break again.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7188 chrome-os-partner:7430 chrome-os-partner:7432
chrome-os-partner:7559
TEST=On lumpy with usb keyboard configured, run in recovery mode, insert
a bad key, press tab, remove the key, press tab. The recovery info are
displayed properly.
Change-Id: Ia9e765555d2f4efba81b8c389be2778cf2b92db0
Reviewed-on: https://gerrit.chromium.org/gerrit/14185
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
BUG=chromium-os:24151
TEST=verify ME hash in the OS
Change-Id: I752bdb9e7fedc3a25772ba33b00d981b9e3db4b0
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/13994
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
This fixes the breakage introduced by
https://gerrit.chromium.org/gerrit/#change,13371
BUG=none
TEST=emerge-stumpy chromeos-u-boot does not fail anymore
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Change-Id: If969ea2aab6a29d6c22053a63ef1b155d3fb42fa
Reviewed-on: https://gerrit.chromium.org/gerrit/13842
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Tested-by: Stefan Reinauer <reinauer@chromium.org>
Commit-Ready: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
|
|
The intent is for LCD init to happen such that we never need to call
udelay(). Add tracking that this is indeed the case, and report it
with the boot time report.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I78e458a6b878a4237e4e059525bae4fa47844ed9
Reviewed-on: https://gerrit.chromium.org/gerrit/13377
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
Records the total time taken by TPM operations for display as part of the
bootstage report.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I7ce6efa3c2bb90858d17ab6613724e6ae73d918b
Reviewed-on: https://gerrit.chromium.org/gerrit/13371
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
This adds a new type of boot timer, which records the time taken by
an operation, rather than marking the instant when it occurred. This
is useful to track the amount of time spent in a repeating activity
during boot.
To use this, call bootstage_start() at the start of the activity, then
bootstage_accum() at the end, to add this segment of time to the total.
You can call them (start first, then accum) as many times as you like.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I3f1b536dc140c91a4a780188f6974dc37780f4f0
Reviewed-on: https://gerrit.chromium.org/gerrit/13370
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
The mmc0_tftpboot option reads a kernel using TFTP but then boots from
eMMC. This allows kernel development without resorting to NFS root (which
changes some parts of the boot process).
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I23c0890f76dc63dde128d7137d8891341761c884
Reviewed-on: https://gerrit.chromium.org/gerrit/13280
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
The vboot command makes sure that the LCD init is completed so we don't
need this in board_late_init().
Overall the LCD init optimization reduces boot time by about 150ms.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: Idcefb81108d0499bb208f8b3d90df65ca4cb6349
Reviewed-on: https://gerrit.chromium.org/gerrit/13206
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
LCD final init is now kept in board_late_init(), so we need to enable
this feature in the config.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: Ib895c2768359439349714805cea6ff636c2307b3
Reviewed-on: https://gerrit.chromium.org/gerrit/13214
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
Some USB keys are very slow at answering the initial GET_DESCRIPTOR or
SET_ADDRESS request.
I have encountered a couple of USB keys which take respectively 140ms
and 230ms to send back their data packet on such a request, and thus
fail with the current code.
According to the USB2.0 standard 9.2.6.4, the device should answer the
standard device requests (e.g. GET_DESCRIPTOR or SET_ADDRESS) in less
than 500ms, so let's increase the control endpoint timeout to that
value.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7344 chrome-os-partner:7345
TEST=boot a recovery image from the 2 previously non working keys.
(Lexar JUMPDRIVE TwistTurn LJDTT32GASBNA and USB M316 Aquarium Tutle)
Change-Id: I00ffb11810ac538bae4622ecba7edd2388d592b2
Reviewed-on: https://gerrit.chromium.org/gerrit/13716
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
|
|
The GetReport request isn't implemented in all keyboards, so
use interrupt transfers instead.
BUG=chrome-os-partner:5752
TEST=Use USB keyboard in u-boot (recovery mode)
Change-Id: Ided3289ef86ee9899813582c9f137526399ad2f8
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: https://gerrit.chromium.org/gerrit/13491
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
|
|
Turning on this option saves about 20ms boot time.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I06ec0ae0da4afc208ca7952dfa42e725f5a67d4c
Reviewed-on: https://gerrit.chromium.org/gerrit/13208
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
This option delays console initialization until after relocation. This
can save time if this init is relatively expensive, since after
relocation the CPU is often running much faster.
This option should be used in conjunction with CONFIG_PRE_CONSOLE_BUFFER
to ensure that all console output is buffered until the console is
ready for it.
This saves about 30ms boot time.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I3a774b418d45e7be9338f9942df445c2c2baa528
Reviewed-on: https://gerrit.chromium.org/gerrit/13207
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
|
|
This is a revised version of this patch which fixes an ARM bug.
This change plumbs the size of the GBB specified in the device tree to the
functions that read it from the flash into memory, and adds checks to those
functions to make sure they don't spill out of the in memory GBB. From a
security standpoint this is a largely theoretical problem since the GBB is
in the read only portion of flash and if that can be modified the machine
is totally compromised, but it's possible somehow an attacker could force
vboot to read the GBB from the wrong place. From a practical perspective
it's not a bad idea to check this to avoid accidental memory corruption.
BUG=chromium-os:24223
TEST=Built and booted on Lumpy. Built for Kaen.
Change-Id: I90d23fd6e055db595af12b1bd63d9932cbffe7ae
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/13279
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
|
|
This breaks recovery mode on Kaen - the bitmaps are not displayed.
This reverts commit e1153e1f56ebebff188f3693e534f10bd68e6f07
Change-Id: I300ae39382dc1960bb0375ad660a88b65181edc9
Reviewed-on: https://gerrit.chromium.org/gerrit/13274
Reviewed-by: Gabe Black (Do Not Use) <gabeblack@google.com>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
Provide a function to detect USB device insertion/removal in order to
avoid having to do USB enumeration in a tight loop when trying to detect
peripheral hotplugging.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752 chrome-os-partner:6344
TEST=on Lumpy, insert and remove a USB key in recovery mode.
Change-Id: I18dc97d54cd909acea754fd9b3a4b7f4fc3219ec
Reviewed-on: https://gerrit.chromium.org/gerrit/13249
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Stefan Reinauer <reinauer@chromium.org>
|
|
Relocation takes about 40ms of the boot time, so add a timer to track it.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: If936bc8ff9a23f6dd885f60e845a597ac7edad97
Reviewed-on: https://gerrit.chromium.org/gerrit/13203
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
This change plumbs the size of the GBB specified in the device tree to the
functions that read it from the flash into memory, and adds checks to those
functions to make sure they don't spill out of the in memory GBB. From a
security standpoint this is a largely theoretical problem since the GBB is
in the read only portion of flash and if that can be modified the machine
is totally compromised, but it's possible somehow an attacker could force
vboot to read the GBB from the wrong place. From a practical perspective
it's not a bad idea to check this to avoid accidental memory corruption.
BUG=chromium-os:24223
TEST=Built and booted on Lumpy. Built for Kaen.
Change-Id: I4f33552f9d27321e73659520b08be52d775a6a9b
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/13228
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
|
|
Implement the VbExBeep function so that the DEV screen can beep.
Much of this code was coppied from coreboot.
BUG=chrome-os-partner:7114
TEST=manual, check that Stumpy beeps on DEV screen timeout and when
booting from USB with dev_boot_usb=0.
Change-Id: Icd4eabb0b10cc3d226db71e6a2b52d3ed7eb25ef
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/13110
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
Instead, once we know which firmware we are actually running on,
copy the FWID to the BIOS version in the SMBIOS table.
BUG=chrome-os-partner:6827
TEST=Boot Stumpy, go to chrome://settings/about and see
Google_Stumpy.... show up as "Firmware"
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Also needs https://gerrit-int.chromium.org/#change,9288
Change-Id: I2e16a2fdb7fb835b0a0fbf08462d8a98b3cfe208
Reviewed-on: https://gerrit.chromium.org/gerrit/13098
Tested-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
|
|
https://gerrit.chromium.org/gerrit/11152 introduced a bug where the
gbb pointer used during rewriteable firmware boot is bogus.
The pointer is retrieved from the 'chromeos-config' section of the
device tree, but on x86 platform this memory area is never
initialized. The fix is to make sure that the proper gbb address in
the CPU address space is used before gbb contents are accessed.
What it boils down to is that when CONFIG_HARDWARE_MAPPED_SPI is set,
gbb address should be determined before setup_gbb_and_cdata() is
called.
To accomplish that fdt_decode_twostop_fmap() is being modified to
retrieve the flash base address among other things. Calling this
function before setup_gbb_and_cdata() allows to assign the gbb pointer
before it is used.
`google-binary-block' is not yet being removed from the cromeos-config
section of the device tree as this could break some tests.
BUG=chromium-os:22528
BUG=chrome-os-partner:7155
TEST=manual
. build a new firmware image and program it on a Lumpy
. verify that the device comes up as expected
. modify the firmware to use read/write path as suggested by hungte@
cd ~/trunk/src/platform/vboot_reference/scripts/image_signing
./resign_firmwarefd.sh /build/lumpy/firmware/image.bin \
/build/lumpy/firmware/new_image.bin \
../../tests/devkeys/firmware_data_key.vbprivk \
../../tests/devkeys/firmware.keyblock \
../../tests/devkeys/firmware_data_key.vbprivk \
../../tests/devkeys/firmware.keyblock \
../../tests/devkeys/kernel_subkey.vbpubk \
1 0
. put new_image.bin into a lumpy flashrom
. reboot the device
. observe it come up, printing on the console
'vboot_twostop: jump to readwrite main firmware at 0x1110000, size 0xdffc0'
along the way
Change-Id: Ieeaadafdf31ee6199a6f1fce0b9684dd494a7602
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/12969
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
BUG=chromium-os:23496
TEST=built and booted Cardhu to cmd prompt; USB, MMC, SPI all work.
This build is to allow developers that don't have a Waluigi to
still contribute to porting/upstreaming T30 U-Boot code/patches.
Signed-off-by: Tom Warren <twarren@nvidia.com>
Change-Id: I5978cbe33bfc9329f420c32eb5ca97b9b302029c
Reviewed-on: https://gerrit.chromium.org/gerrit/12932
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
BUG=chromium-os:23496
TEST=build and boot Waluigi T30. Usb detects devices OK.
usb tree, usb part, ext2ls usb and ext2load usb work as expected.
Signed-off-by: Tom Warren <twarren@nvidia.com>
Change-Id: I40910e0c770bb33171ad9c8b4e5a6baaaac4a7df
Reviewed-on: https://gerrit.chromium.org/gerrit/12392
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
|
|
In making config names consistent, this commit renames configs following
the "chromeos_${BOARD}" naming convention.
The old config names are kept before portage overlays are set to the new
config names to prevent builders from break. They will be removed in
next commit.
BUG=chromium-os:23869
TEST=Run script snippet below successfully
>>>>
for BOARD in lumpy \
stumpy \
tegra2_aebl \
tegra2_arthur \
tegra2_asymptote \
tegra2_dev-board \
tegra2_dev-board-opengl \
tegra2_kaen \
tegra2_seaboard \
tegra2_wario \
waluigi \
x86-alex \
x86-alex_he \
x86-mario \
x86-mario64
do
ebuild-${BOARD} /path/to/chromeos-u-boot-9999.ebuild configure
done
<<<<
Change-Id: I984bea648f6d8384facce9771a7a5de3b169108c
Signed-off-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/12671
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
This setting is now in the fdt, so remove the CONFIG item.
BUG=chromium-os:23496
TEST=build and boot on Seaboard, T33, Kaen
Change-Id: I336a6cc2140c725fdda85330efe617f82f205a90
Reviewed-on: https://gerrit.chromium.org/gerrit/12250
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
New device ID range is included to allow the SPI driver to use the
Panther Point based controller and a new device ID is checked when
attaching the AHCI controller.
BUG=chrome-os-partner:7112
TEST=manual
After this change the top of the tree ChromeOS can be booted on IVB
reworked Stumpy platforms.
Change-Id: Ia41c17b58337cde2d041990b3d1c9da37c0cd92c
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/12606
|
|
Enable the compilation of USB keyboard driver code and the associated
polling code to detect keypress with the EHCI controller.
BUG=chrome-os-partner:5752
TEST=tested on Stumpy and Lumpy, with and without usb-keyboard set
in the device tree, check Ctrl+U, Ctrl+D and space are working as expected.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: I424758ad6a30d01b5858ddaff6e4494a40e79f83
Reviewed-on: https://gerrit.chromium.org/gerrit/12582
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
|
|
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752
TEST=on Lumpy, test Ctrl+D behavior with and without usb-keyboard set
in the device tree.
Change-Id: I7bb2f6ea18f5edadea93f9e5d23ed49ed57a3b23
Reviewed-on: https://gerrit.chromium.org/gerrit/12589
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
|
|
We don't need the default serial clock now, since we try with both
options.
BUG=chromium-os:23496
TEST=build and boot on Seaboard, T33, Kaen
Change-Id: I68a80174e10b299c46742d36291d839ea9fa6d7c
Reviewed-on: https://gerrit.chromium.org/gerrit/12249
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
|
|
BUG=chromium-os:23496
TEST=built Seaboard and Waluigi OK
Signed-off-by: Tom Warren <twarren@nvidia.com>
Change-Id: I9045f77032038435180b68c9a7f79c3f0cca1989
Reviewed-on: https://gerrit.chromium.org/gerrit/12391
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
This reads the frequency of a named clock from the fdt.
BUG=chromium-os:23496
TEST=build and boot on Seaboard, T33, Kaen
Change-Id: Ib35bf7ef749f51862644218b1015057ca4e25203
Reviewed-on: https://gerrit.chromium.org/gerrit/12243
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
This reverts commit fab63e9aacc49a3d224df47b6d0e23dc6b73de40.
Change-Id: I4ce3622871374baa7da19263cbe38603b4f9e356
Reviewed-on: https://gerrit.chromium.org/gerrit/11943
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
|
|
Move the malloc() out of fdt_decode_alloc_region() and rename it
accordingly. This makes the code somewhat cleaner and allows us
to print a sensible error message.
BUG=chromium-os:17062
TEST=build and boot on Kaen
Change-Id: I8edc8809baa42578e74c5e42cf47494b31b774e7
Reviewed-on: https://gerrit.chromium.org/gerrit/11878
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
Perhaps due to a toolchain change or the recent TFTP changes, U-Boot
no longer fits in the space available. This removes NAND support
to give us time to expand the space and/or fix the toolchain.
TBR=U-Boot suddenly grew for no immediately obvious reason, quick fix.
http://build.chromium.org/p/chromiumos/builders/tegra2%20seaboard%20full/builds/924/steps/cbuildbot/logs/stdio
TEST=build U-Boot and see that it is about 40KB smaller.
Change-Id: Iec02cc4da57cac7e79355714000f3e5d31c326c4
Reviewed-on: https://gerrit.chromium.org/gerrit/11895
Reviewed-by: Yasuhiro Matsuda <mazda@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
We need something akin to load_addr to handle saving data.
Signed-off-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 1aec244acf9daf0d4dad80fe86b2c2b7404251d6)
Change-Id: I56c586abb3e075f0ab422c833637a3160d7e2a5f
Reviewed-on: https://gerrit.chromium.org/gerrit/11800
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
TftpStart should support starting either a get or a put.
(cherry-picked from 58f317d)
Change-Id: Ic221520a1c7cb00536a42d3ab531efbcaba35bf6
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11799
|
|
This is a better name for this protocol. Also remove the typedef to keep
checkpatch happy, and move zeroing of NetBootFileXferSize a little
earlier since TFTPPUT will need to change this.
(cherry-picked from e4bf0c5)
Change-Id: I90d03045de0231553a693f7119bdcc67a908e3c9
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11796
|
|
ICMP packets can tell you when there is no server at the other end. It
is useful for tftp to figure this out, so that a quick error can be
displayed, rather than pointlessly retrying.
This adds an ICMP packet handler to the net interface.
Signed-off-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 4793ee6522f10a3d108de7e47adbcf5f15eb3f46)
Change-Id: I02bbd41b3852b92b06210db160a06c62f5bf414f
Reviewed-on: https://gerrit.chromium.org/gerrit/11795
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
It seems we put numbers and addresses into environment variables a lot.
We should have some functions to do this.
(cherry picked from commit d67f10c)
Change-Id: I922e72a7db872f26774459a6dc074a80016ef904
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11792
Reviewed-by: Doug Anderson <dianders@chromium.org>
|
|
This function is generally useful and shouldn't hide away in hush. It
has been moved as is.
Signed-off-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 3cce8a5496452285e1828984ad3945417205cfc3)
Change-Id: I014f58e901e6b035b5eeb694c62e6e881a7b75c2
Reviewed-on: https://gerrit.chromium.org/gerrit/11791
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
BUG=chromium-os:21033
TEST=run `sf erase, write` and `sf read` on Waluigi
verify the data it reads from SPI flash matches that it writes to
Change-Id: Ibeefd3183e4fa367d68d0035a818e1c166e6d59d
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/11473
Commit-Ready: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
|
|
BUG=chromium-os:21033
TEST=run `sf erase, write` and then `sf read` on seaboard
verify the data it reads from SPI flash matches that it writes to
Change-Id: I1b04afa4b54738cd93be29b70f428bdc3e6b234f
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/11472
Commit-Ready: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
|
|
BUG=chromium-os:21033
TEST=build seaboard successfully
Change-Id: Idbfbdbf0bdb1070f4a2b5f8205c1caff6ef0c811
Signed-off-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11471
Reviewed-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
On X86 systems the hardware maps the bootprom SPI flash chip into the
top of memory address range. This could be used for accessing all
information in the SPI flash.
The vboot-reference code requires access to FMAP sections containing
cryptographic information, and as of today, u-boot reads the whole
sections, which are 64 KB in size, even though the actual areas
accessed by vboot-reference are much smaller.
A much faster way of accessing this information would be just passing
around pointers to the appropriate memory areas. This would eliminate
one copy, and also would make sure that only the areas actually
accessed get fetched from SPI flash.
This patch provides this ability trying to keep code changes to a
minimum.
New feature is enabled by defining CONFIG_HARDWARE_MAPPED_SPI. The
firmware storage API for file reads changes when the new configuration
option is set: a pointer to pointer to buffer is passed to the
read_spi() function instead of a pointer to buffer. When the new
feature is enabled the read_spi() function sets the pointer value to
point to the requested data instead of copying the data into the
buffer.
A new data type is introduced (read_buf_type), which is set to be a
(void *) if the new feature is not enabled, or (void **) otherwise.
This type is used as the buffer pointer in the spi_read() function.
Code allocating/freeing buffers used to keep data read from SPI flash
is now conditionally compiled.
Call sites for the spi_read() function are modified to adjust the
buffer pointer parameter (pass the address of the parameter instead of
the parameter, when the new feature is enabled).
gbb field access functions can be aliased to gbb_init(), as they all
in fact do the same - read a certain section of the gbb area.
This change does not benefit the ARM implementations, and makes the
code more complicated that it should be. Some u-boot rearchitecture
along with vboot_reference API enhancements could address this. A
tracking issue
(http://code.google.com/p/chromium-os/issues/detail?id=22528) has been
opened for that.
BUG=chrome-os-partner:6585, chromium-os:22528
TEST=manual
. build a new stumpy firmware image
. boot the stumpy, observe it start up chromeos.
. assess the boot timing using the cbmem.py utility (this
modification shaves in excess of 100ms off the boot time).
. disable the new feature, build a stumpy image, observe that is
still boots chromeOs.
. run emerge-terga2_kaen chromeos-u-boot to confirem that ARM
version builds cleanly.
Change-Id: I4e6ab530d24f5771b5a86a48d3f3135101b469a6
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11152
|
|
With this set of config options we can now boot the kernel. With
the kernel I have, it doesn't work yet, but at least it prints out
some messages to the UART.
BUG=chromium-os:21540
TEST=If I have a reasonable kernel in MMC1, I see that it can boot
quite a ways into the kernel w/ autoboot.
Change-Id: I5918fff3d48f2ff9f2bac9261c84e08e60a1560a
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/10675
|
|
BUG=chromium-os:21540
TEST=Able to use mmc.
Change-Id: I1d566f08f9dd115b5be1a05ffa0ff07b508e0cee
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/10663
|
|
The MMC reader looks like a USB device, so we don't need to support generic
MMC devices directly.
BUG=chrome-os-partner:6585
TEST=Built and booted on Stumpy.
Change-Id: Id5729cd9d51e0c4cb2570b9b452f96bd23764b85
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/10755
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
|
|
We aren't currently planning to have network support in production firmware. If
we need it at some point, we can easily turn that support back on.
BUG=chrome-os-partner:6585
TEST=Built and booted on Stumpy
Change-Id: Iad265bb2bbae5360135eaa8577cc6dfde95045f9
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/10754
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
|
|
Disable it by default since we're using the SCSI interface now. Being able to
turn IDE back on later might be necessary if we haven't gotten AHCI support
working on a new platform yet.
BUG=chrome-os-partner:6585
TEST=Built and booted on Stumpy.
Change-Id: I07e80dc2673529f3f2ec52431e1c0958511539b0
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/10753
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
|
|
Also disable those options. This way they can be enabled when needed, but when
you aren't expecting to use the command line (most of the time) they can be
excluded to reduce u-boot's size and load time.
BUG=chrome-os-partner:6585
TEST=Built and booted on Stumpy.
Change-Id: I7ea0f02a1aa3537fa4282822bbc0d4976c2b1383
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/10752
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
|