mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
We need the sys_info struct in the global variables struct for cache as ram on k8. The sys_info struct is generally very useful so it makes sense to start accomodating it. This patch adds an (empty for now) sys_info struct for geode. It add sys_info to the global variables struct. It removes global variables from console.h to a new file, globalvars.h. Very little code needs to include this file. This patch is tested on the dbe62 and simnow with no problems. k8 compilation is now broken but I'm working on it. I'm going through the eyeballs-bleed code on k8 startup to document it and with any luck we'll have more functionality by the end of today. But it's hard ... Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> git-svn-id: svn://coreboot.org/repository/coreboot-v3@828 f3766cd6-281f-0410-b1cd-43a5c92072e9
72 lines
2.5 KiB
C
72 lines
2.5 KiB
C
/*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef CONSOLE_H
|
|
#define CONSOLE_H
|
|
|
|
#include <types.h>
|
|
#include <shared.h> /* We share symbols from stage 0 */
|
|
#include <post_code.h>
|
|
|
|
#define BIOS_ALWAYS 0 /* log no matter what; not necessarily an error */
|
|
#define BIOS_EMERG 0 /* system is unusable */
|
|
#define BIOS_ALERT 1 /* action must be taken immediately */
|
|
#define BIOS_CRIT 2 /* critical conditions */
|
|
#define BIOS_ERR 3 /* error conditions */
|
|
#define BIOS_WARNING 4 /* warning conditions */
|
|
#define BIOS_NOTICE 5 /* normal but significant condition */
|
|
#define BIOS_INFO 6 /* informational */
|
|
#define BIOS_DEBUG 7 /* debug-level messages */
|
|
#define BIOS_SPEW 8 /* Way too many details */
|
|
|
|
void console_init(void);
|
|
void console_tx_byte(unsigned char byte, void *arg);
|
|
void console_tx_flush(void);
|
|
unsigned char console_rx_byte(void);
|
|
int console_tst_byte(void);
|
|
void console_loglevel_init(void);
|
|
#ifdef CONFIG_CONSOLE_BUFFER
|
|
void printk_buffer_init(void);
|
|
void printk_buffer_move(void *newaddr, int newsize);
|
|
#endif
|
|
|
|
struct console_driver {
|
|
void (*init)(void);
|
|
void (*tx_byte)(unsigned char byte, void *arg);
|
|
void (*tx_flush)(void);
|
|
unsigned char (*rx_byte)(void);
|
|
int (*tst_byte)(void);
|
|
};
|
|
|
|
#ifdef CONFIG_CONSOLE_BUFFER
|
|
struct printk_buffer {
|
|
int len;
|
|
int readoffset;
|
|
int writeoffset;
|
|
char buffer[];
|
|
};
|
|
#endif
|
|
|
|
int printk(int msg_level, const char *fmt, ...) __attribute__((format (printf, 2, 3)));
|
|
EXPORT_SYMBOL(printk);
|
|
void banner(int msg_level, const char *msg);
|
|
EXPORT_SYMBOL(banner);
|
|
void dump_mem_range(int msg_level, unsigned char *buf, int size);
|
|
EXPORT_SYMBOL(dump_mem_range);
|
|
void die(const char *msg);
|
|
EXPORT_SYMBOL(die);
|
|
|
|
#endif /* CONSOLE_H */
|