xref: /linux/drivers/firmware/coreboot/memconsole.h (revision 9e947d96915af63e28896caae85a81b74855621b)
1*44e33a5aSSean Rhodes /* SPDX-License-Identifier: GPL-2.0-only */
2*44e33a5aSSean Rhodes /*
3*44e33a5aSSean Rhodes  * memconsole.h
4*44e33a5aSSean Rhodes  *
5*44e33a5aSSean Rhodes  * Internal headers of the memory based BIOS console.
6*44e33a5aSSean Rhodes  *
7*44e33a5aSSean Rhodes  * Copyright 2017 Google Inc.
8*44e33a5aSSean Rhodes  */
9*44e33a5aSSean Rhodes 
10*44e33a5aSSean Rhodes #ifndef __FIRMWARE_COREBOOT_MEMCONSOLE_H
11*44e33a5aSSean Rhodes #define __FIRMWARE_COREBOOT_MEMCONSOLE_H
12*44e33a5aSSean Rhodes 
13*44e33a5aSSean Rhodes #include <linux/types.h>
14*44e33a5aSSean Rhodes 
15*44e33a5aSSean Rhodes /*
16*44e33a5aSSean Rhodes  * memconsole_setup
17*44e33a5aSSean Rhodes  *
18*44e33a5aSSean Rhodes  * Initialize the memory console, passing the function to handle read accesses.
19*44e33a5aSSean Rhodes  */
20*44e33a5aSSean Rhodes void memconsole_setup(ssize_t (*read_func)(char *, loff_t, size_t));
21*44e33a5aSSean Rhodes 
22*44e33a5aSSean Rhodes /*
23*44e33a5aSSean Rhodes  * memconsole_sysfs_init
24*44e33a5aSSean Rhodes  *
25*44e33a5aSSean Rhodes  * Update memory console length and create binary file
26*44e33a5aSSean Rhodes  * for firmware object.
27*44e33a5aSSean Rhodes  */
28*44e33a5aSSean Rhodes int memconsole_sysfs_init(void);
29*44e33a5aSSean Rhodes 
30*44e33a5aSSean Rhodes /* memconsole_exit
31*44e33a5aSSean Rhodes  *
32*44e33a5aSSean Rhodes  * Unmap the console buffer.
33*44e33a5aSSean Rhodes  */
34*44e33a5aSSean Rhodes void memconsole_exit(void);
35*44e33a5aSSean Rhodes 
36*44e33a5aSSean Rhodes #endif /* __FIRMWARE_COREBOOT_MEMCONSOLE_H */
37