baytrail: start collecting timestamps

This commit always selects COLLECT_TIMESTAMPS and starts
tracking TSC values from the early stages of bootblock.
The initial timestamp value is saved in mm0 and mm1 while
in bootlbock. This approach works because romcc is not configured
to use mmx registers for its compilation.

Additionally, the romstage api with the mainboard was changed to
always pass around a pointer to a romstage_params structure as the
timestamps are saved in there until ram is up.

BUG=chrome-os-partner:22873
BRANCH=None
TEST=Built and booted with added code to print out timestamps at
     and of ramstage. Everything looks legit.

Change-Id: Iba8d5fff1654afa6471088c46a357474ba533236
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/170950
Reviewed-by: Shawn Nematbakhsh <shawnn@chromium.org>
This commit is contained in:
Aaron Durbin 2013-09-27 11:38:36 -05:00 committed by chrome-internal-fetch
commit c197ccfc25
8 changed files with 78 additions and 11 deletions

View file

@ -23,7 +23,7 @@
#include <baytrail/mrc_wrapper.h>
#include <baytrail/romstage.h>
void mainboard_romstage_entry(unsigned long bist)
void mainboard_romstage_entry(struct romstage_params *rp)
{
struct mrc_params mp = {
.mainboard = {
@ -32,8 +32,6 @@ void mainboard_romstage_entry(unsigned long bist)
.spd_addrs = { 0xa0, 0xa2 },
},
};
struct romstage_params rp = {
.mrc_params = &mp,
};
romstage_common(&rp);
rp->mrc_params = &mp;
romstage_common(rp);
}