coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cbmem_console.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #ifndef _CONSOLE_CBMEM_CONSOLE_H_
3 #define _CONSOLE_CBMEM_CONSOLE_H_
4 
5 #include <stdint.h>
6 #include <stddef.h>
7 
8 void cbmemc_init(void);
9 void cbmemc_tx_byte(unsigned char data);
10 
11 #define __CBMEM_CONSOLE_ENABLE__ (CONFIG(CONSOLE_CBMEM) && \
12  (ENV_RAMSTAGE || ENV_SEPARATE_VERSTAGE || ENV_POSTCAR || \
13  ENV_ROMSTAGE || (ENV_BOOTBLOCK && CONFIG(BOOTBLOCK_CONSOLE)) || \
14  (ENV_SMM && CONFIG(DEBUG_SMI))))
15 
16 #if __CBMEM_CONSOLE_ENABLE__
17 static inline void __cbmemc_init(void) { cbmemc_init(); }
18 static inline void __cbmemc_tx_byte(u8 data) { cbmemc_tx_byte(data); }
19 #else
20 static inline void __cbmemc_init(void) {}
21 static inline void __cbmemc_tx_byte(u8 data) {}
22 #endif
23 
24 /*
25  * Copy an external cbmem_console into the active cbmem_console.
26  */
27 void cbmemc_copy_in(void *buffer, size_t size);
28 
30 void cbmem_dump_console(void);
31 #endif
32 
33 /* Retrieves the location of the CBMEM Console buffer in SMM mode */
34 void smm_get_cbmemc_buffer(void **buffer_out, size_t *size_out);
static void __cbmemc_init(void)
Definition: cbmem_console.h:20
void cbmem_dump_console_to_uart(void)
void cbmemc_init(void)
Definition: cbmem_console.c:82
void smm_get_cbmemc_buffer(void **buffer_out, size_t *size_out)
void cbmemc_tx_byte(unsigned char data)
void cbmem_dump_console(void)
static void __cbmemc_tx_byte(u8 data)
Definition: cbmem_console.h:21
void cbmemc_copy_in(void *buffer, size_t size)
u8 buffer[C2P_BUFFER_MAXSIZE]
Definition: psp_smm.c:18
uint8_t u8
Definition: stdint.h:45