coreboot-kgpe-d16/src/mainboard/google/storm/bootblock.c
Vadim Bendebury 5a2718c2a9 storm: print uber-sbl information
Process information reported by uber-sbl: print out its version and
RPM and KRAIT log contents.

BRANCH=storm
BUG=chrome-os-partner:30623
TEST=rebooted a storm device, checked out /sys/firmware/log after
     booting up Chrome OS:
  localhost ~ # head -29 /sys/firmware/log | tail -15
  Uber-sbl version: @vbendeb-AAABANAZA
    Section 0 log:
      0    :00:SBL1, Start
      0    :00:SBL-RO Krait
      2623 :00:SBL-RO Krait
      0    :00:BB
      4666 :00:BB
      0    :00:sbl1_hw_init, Start
      6130 :00:sbl1_hw_init, Delta
      0    :00:SBL1, End
      15372:00:SBL1, Delta
    Section 1 log:
      0    :00:SBL-RO Krait, Start
      0    :00:SBL-RO Krait, End
      336  :00:SBL-RO Krait, Delta
  localhost ~ #

Change-Id: I524dbb49f676046a43bfba26b31b2834c8d2769c
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: dcabca6eb87dcead0c9c33749ed76ac939d843c1
Original-Change-Id: Ic037f936ff2d09b0346fb5239094e7928dfd7620
Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/252830
Original-Reviewed-by: Varadarajan Narayanan <varada@qti.qualcomm.com>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Commit-Queue: Vadim Bendebury <vbendeb@gmail.com>
Reviewed-on: http://review.coreboot.org/9843
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-04-21 08:25:22 +02:00

61 lines
1.7 KiB
C

/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <bootblock_common.h>
#include <console/console.h>
#include <symbols.h>
#include "mmu.h"
#include <soc/usbl_if.h>
static void dump_usbl_report(int section, sbl_ro_info *info)
{
int i, num_log_entries;
num_log_entries = info->num_log_entries;
if (!num_log_entries)
return;
printk(BIOS_INFO, " Section %d log:\n", section);
for (i = 0; i < num_log_entries; i++)
printk(BIOS_INFO, " %-5d:%2.2x:%.*s\n",
info->log[i].time_stamp,
info->log[i].type,
sizeof(info->log[i].msg),
info->log[i].msg);
}
void bootblock_mainboard_init(void)
{
int i;
setup_mmu(DRAM_NOT_INITIALIZED);
if (((uintptr_t)maskrom_param < (uintptr_t)&_sram) ||
((uintptr_t)maskrom_param > (uintptr_t)&_esram)) {
printk(BIOS_INFO, "No uber-sbl parameter detected\n");
return;
}
/* Is maskrom parameter address set to a sensible value? */
if ((maskrom_param->start_magic != UBER_SBL_SHARED_INFO_START_MAGIC) ||
(maskrom_param->end_magic != UBER_SBL_SHARED_INFO_END_MAGIC)) {
printk(BIOS_INFO, "Uber-sbl: invalid magic!\n");
} else {
printk(BIOS_INFO, "Uber-sbl version: %s\n",
maskrom_param->version);
for (i = 0; i < maskrom_param->num; i++)
dump_usbl_report(i, &maskrom_param->info[i]);
}
}