Commit Graph

10 Commits

Author SHA1 Message Date
Randall Spangler
a61d8db3d3 Change task messages to events
Signed-off-by: Randall Spangler <rspangler@chromium.org>

BUG=chrome-os-partner:7461
TEST=manual

make BOARD={bds,link,daisy}
make tests
flash link system and make sure it boots

Change-Id: I1241a1895c083e387e38ddab01ac346ca4474eb9
2012-04-06 09:06:53 -07:00
Louis Yung-Chieh Lo
0eb9447051 Fix the build error on adv board.
BUG=none
TEST=successfully BOARD=adv make.

Change-Id: I75e0f1e0487f52411c0c50b804e8997065f4e06c
2012-04-06 10:19:10 +08:00
Randall Spangler
ed33516e2e Preserve reset cause when jumping between EC images
BUG=chrome-os-partner:8718
TEST=manual

1) Use 'reboot' command from console to boot image.  Should end up in
image A, with last reset reason soft cold.  'sysinfo' should show we
jumped to this image.

2) sysjump RO.  Should end up in RO; otherwise same as 1)

3) reboot using Power+Esc+Reload.  Should end up in image RO, with last
reset reason reset pin.  'sysinfo' should show we did not jump to this
image.

4) sysjump A.  Should end up in A with reset reason reset pin.
'sysinfo' should show we jumped here.

Change-Id: I2dd5595eab4ba2c91bfe8b2b2e9677d7732aca63
Signed-off-by: Randall Spangler <rspangler@chromium.org>
2012-04-03 09:26:25 -07:00
Randall Spangler
43686b0588 Fix sysjump to RO
Signed-off-by: Randall Spangler <rspangler@chromium.org>

BUG=chrome-os-partner:8613
TEST=sysjump A, then sysjump RO

Change-Id: Id9b3c867fa01893542812373f4469534b4be9918
2012-03-23 09:13:40 -07:00
Randall Spangler
41e3b58258 Remove old scratchpad-based reboot-to-image interface
Now that we can jump directly to other images, we don't need this.

We jump to image A by default, unless the recovery button or signal is asserted.

Signed-off-by: Randall Spangler <rspangler@chromium.org>

BUG=chrome-os-partner:8562
TEST=manual

Reboot -> runs image A
Reboot with reload (F3) held down -> runs RO
Reboot with 'dut-control goog_rec_mode:on' -> runs RO

Change-Id: I8259fe0d738ce0ca897d2f4427d8cf61858b8901
2012-03-20 09:43:46 -07:00
Randall Spangler
b2ac77b37b Support warm reboot from one EC image to another.
This is necessary at init-time for verified boot to jump from RO to
one of the RW images.

It's also used by factory EC update to update one image and then jump
to the updated image to finish the update.  In this case, the x86 does
NOT reboot.

Signed-off-by: Randall Spangler <rspangler@chromium.org>

BUG=chrome-os-partner:8449
TEST=manual

1) power on x86 and log in
2) sysjump a  --> system is in a; x86 has not rebooted
3) sysjump ro --> system is back in RO; x86 has not rebooted
4) reboot -> system is in RO; x86 HAS rebooted

Change-Id: I9dbadcf9775e146a0718abfd4ee0758b65350a87
2012-03-19 15:41:14 -07:00
Bill Richardson
a4f5e0c29c Add vboot_init() function in correct place, make it do the switching.
Jumping (currently rebooting, see crosbug.com/p/8100) to the RW image should
be done by vboot_init(), not vboot_pre_init().

As currently written, vboot_init() has to come AFTER these function calls:

  task_init();             // sets up interrupts so that uart will work
  watchdog_init(1100);     // in case we fall over somewhere
  uart_init();             // we'd REALLY like to see some debugging output
  system_init();           // may go away with crosbug.com/p/8100
  keyboard_scan_init();    // check for F3 to go to recovery mode
  flash_init();            // maybe set RO regions (this should come earlier!)
  eeprom_init();           // this is where the try_b flags are kept

BUG=chrome-os-partner:7459
TEST=none

Signed-off-by: Bill Richardson <wfrichar@chromium.org>

Change-Id: I0ec3f6bcc26a308bb1005a944990963853b88b60
2012-03-13 10:17:50 -07:00
Louis Yung-Chieh Lo
9e3e87f802 Support reboot_ec command in ectool (temporarily).
Note that this is a big security hole and should be removed after we
complete the EC autoupdate mechanism and vboot code.

To full update EC firmware on proto 1.0, we need a manual way to switch
EC running on RO/RW. This CL implements the LPC command.

BUG=chrome-os-partner:8415
TEST=on proto 0.5.
ectool reboot_ec RW_A  # EC boots to RW A
ectool reboot_ec RO    # EC boots to RO

Change-Id: Ibf050328bc4e3d2c6d72bfc478d6334f11f0eb46
2012-03-09 21:10:13 +08:00
Vincent Palatin
c21f07e58e register console commands at compile-time
Instead of using a runtime callback to register the console commands,
put them in a special linker section. So we can do a macro to "register"
them during the build.

It saves 684 bytes and a few microseconds at startup.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BUG=None
TEST=run a few commands from the BDS command line.

Change-Id: Id33ea210b9035bf76ed720373c74c5dd24ccd1b1
2012-01-24 00:50:08 +00:00
Randall Spangler
bdf7da5b08 Initial sources import 1/3
source files mainly done by Randall.

Signed-off-by: Randall Spangler <rspangler@chromium.org>

Change-Id: Iaff83a842b17f3350fb6f2a3f1597ad4c29bd12a
2011-12-07 19:10:02 +00:00