diff options
author | Aaron Durbin <adurbin@chromium.org> | 2014-02-14 00:30:04 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@google.com> | 2014-03-11 21:37:36 +0100 |
commit | 06ece7de93a6e0820fa21a86d2312c6fd9209aea (patch) | |
tree | 301b69639b3d953ca1a05f985457618a240a9073 /src/vendorcode/google/chromeos/chromeos.h | |
parent | e7e78d61a96072ba619f95eba9762a0ca50abe15 (diff) |
chromeos: provide option to dynamically allocate ram oops buffer
Fixing the location of the ram oops buffer can lead to certain
kernel and boot loaders being confused when there is a ram
reservation low in the address space. Alternatively provide
a mechanism to allocate the ram oops buffer in cbmem. As cbmem
is usually high in the address space it avoids low reservation
confusion.
The patch uncondtionally provides a GOOG9999 ACPI device with
a single memory resource describing the memory region used for
the ramoops region.
BUG=None
BRANCH=baytrail,haswell
TEST=Built and booted with and w/o dynamic ram oops. With
the corresponding kernel change things behave correctly.
Change-Id: Ide2bb4434768c9f9b90e125adae4324cb1d2d073
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/5257
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/vendorcode/google/chromeos/chromeos.h')
-rw-r--r-- | src/vendorcode/google/chromeos/chromeos.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vendorcode/google/chromeos/chromeos.h b/src/vendorcode/google/chromeos/chromeos.h index 7fe8f06c08..2a781effab 100644 --- a/src/vendorcode/google/chromeos/chromeos.h +++ b/src/vendorcode/google/chromeos/chromeos.h @@ -51,4 +51,19 @@ void init_chromeos(int bootmode); int vboot_get_handoff_info(void **addr, uint32_t *size); #endif +#if CONFIG_CHROMEOS_RAMOOPS +#include "gnvs.h" +struct device; + +void chromeos_ram_oops_init(chromeos_acpi_t *chromeos); +#if CONFIG_CHROMEOS_RAMOOPS_DYNAMIC +static inline void chromeos_reserve_ram_oops(struct device *dev, int idx) {} +#else /* CONFIG_CHROMEOS_RAMOOPS_DYNAMIC */ +void chromeos_reserve_ram_oops(struct device *dev, int idx); +#endif /* CONFIG_CHROMEOS_RAMOOPS_DYNAMIC */ +#else /* !CONFIG_CHROMEOS_RAMOOPS */ +static inline void chromeos_ram_oops_init(chromeos_acpi_t *chromeos) {} +static inline void chromeos_reserve_ram_oops(struct device *dev, int idx) {} +#endif /* CONFIG_CHROMEOS_RAMOOPS */ + #endif |