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