diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/chipset.h | 5 | ||||
-rw-r--r-- | include/config.h | 9 | ||||
-rw-r--r-- | include/link_defs.h | 7 | ||||
-rw-r--r-- | include/uart.h | 5 | ||||
-rw-r--r-- | include/util.h | 3 |
5 files changed, 29 insertions, 0 deletions
diff --git a/include/chipset.h b/include/chipset.h index bb0d7b4943..05eeb844a1 100644 --- a/include/chipset.h +++ b/include/chipset.h @@ -263,3 +263,8 @@ static inline void report_ap_reset(enum chipset_shutdown_reason reason) { } #endif /* !CONFIG_CMD_AP_RESET_LOG */ #endif /* __CROS_EC_CHIPSET_H */ + +/** + * Initialize reset logs and next reset log. + */ +void init_reset_log(void); diff --git a/include/config.h b/include/config.h index 377f89d603..5bb89a7a46 100644 --- a/include/config.h +++ b/include/config.h @@ -3525,6 +3525,15 @@ */ #undef CONFIG_UART_PAD_SWITCH +/** + * This will only be used for Kukui and cortex-m0. Preserve EC reset logs and + * console logs on SRAM so that the logs will be preserved after EC shutting + * down or sysjumped. It will keep the contents across EC resets, so we have + * more information about system states. The contents on SRAM will be cleared + * when checksum or sanity check fails. + */ +#undef CONFIG_PRESERVE_LOGS + /* * UART receive buffer size in bytes. Must be a power of 2 for macros in * common/uart_buffering.c to work properly. Must be larger than diff --git a/include/link_defs.h b/include/link_defs.h index 28ea0113e1..5ea500516f 100644 --- a/include/link_defs.h +++ b/include/link_defs.h @@ -134,3 +134,10 @@ extern void *__dram_bss_end; #endif #endif /* __CROS_EC_LINK_DEFS_H */ + +#ifdef CONFIG_PRESERVE_LOGS +#define __preserved_logs(name) \ + __attribute__((section(".preserved_logs." STRINGIFY(name)))) +#else +#define __preserved_logs(name) +#endif diff --git a/include/uart.h b/include/uart.h index d5493544c2..66561b09a7 100644 --- a/include/uart.h +++ b/include/uart.h @@ -352,3 +352,8 @@ int uart_console_read_buffer(uint8_t type, uint16_t *write_count); #endif /* __CROS_EC_UART_H */ + +/** + * Initialize tx buffer head and tail + */ +void uart_init_buffer(void); diff --git a/include/util.h b/include/util.h index 04acffd988..60bb00510a 100644 --- a/include/util.h +++ b/include/util.h @@ -55,6 +55,9 @@ extern "C" { /* True of x is a power of two */ #define POWER_OF_TWO(x) ((x) && !((x) & ((x) - 1))) +/* Macro to check if the value is in range */ +#define IN_RANGE(x, min, max) ((x) >= (min) && (x) < (max)) + /* * macros for integer division with various rounding variants * default integer division rounds down. |