After some toing and froing with Aaron Durbin over the last 6 hours
this is where we are:
mrc.cache is now working but cold boot still takes roughly 5 seconds to
get to SeaBIOS display. Warm boot/reset is instantaneous. Aaron says the
mrc.bin blob is not happy (and we can't have an unhappy blob now, can
we).
In order to get mrc.cache working this is what's required:
1. Remove 'select CHROMEOS' from src/mainboard/samsung/lumpy/Kconfig.
2. Add this patch:
diff --git a/src/vendorcode/google/chromeos/gnvs.h
b/src/vendorcode/google/chrom
index 00fe443..5384423 100644
--- a/src/vendorcode/google/chromeos/gnvs.h
+++ b/src/vendorcode/google/chromeos/gnvs.h
@@ -61,9 +61,13 @@ typedef struct {
// dbe
} __attribute__((packed)) chromeos_acpi_t;
+#if CONFIG_CHROMEOS
extern chromeos_acpi_t *vboot_data;
void chromeos_init_vboot(chromeos_acpi_t *chromeos);
void chromeos_set_me_hash(u32*, int);
void acpi_get_vdat_info(uint64_t *vdat_addr, uint32_t *vdat_size);
+#else
+static inline void chromeos_init_vboot(chromeos_acpi_t *chromeos) {}
+#endif
#endif
3. make oldconfig
4. make clean
5. make (obviously)
Additionally, to get timing information in cbmem -c and cbmem -t the
following was necessary:
1. Add 'select LAPIC_MONOTONIC_TIMER' to
src/mainboard/samsung/lumpy/Kconfig
2. make oldconfig
3. make (again obviously)
The cbmem output is attached. Where to go from here? Many thanks to
Aaron for all his help.