This patch drops arch/i386/lib/console.c and arch/i386/lib/console_print.c and
makes include/console/console.h and console/console.c usable both in __PRE_RAM__ and coreboot_ram stages. While debugging this, I removed an indirection from the e7520 ram init code (same as we did on a couple of other chipsets, removes some register pressure from romcc) Also, drop remainders of CONFIG_USE_INIT (except the one odd piece of dead code in cache_as_ram.inc) Then some ap_romstage.c fixes, at least the nvidia/l1_2pvv compiled for me with CONFIG_AP_CODE_IN_CAR set in Kconfig which it did not before. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5341 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
committed by
Stefan Reinauer
parent
b8ac05d187
commit
5a1f597085
@@ -1,41 +0,0 @@
|
||||
#include <build.h>
|
||||
#include <console/loglevel.h>
|
||||
|
||||
#if CONFIG_USE_PRINTK_IN_CAR == 0
|
||||
#include "console_print.c"
|
||||
#else /* CONFIG_USE_PRINTK_IN_CAR == 1 */
|
||||
#include <console/console.h>
|
||||
#endif /* CONFIG_USE_PRINTK_IN_CAR */
|
||||
|
||||
void console_init(void)
|
||||
{
|
||||
static const char console_test[] =
|
||||
"\r\n\r\ncoreboot-"
|
||||
COREBOOT_VERSION
|
||||
COREBOOT_EXTRA_VERSION
|
||||
" "
|
||||
COREBOOT_BUILD
|
||||
" starting...\r\n";
|
||||
print_info(console_test);
|
||||
}
|
||||
|
||||
|
||||
void post_code(u8 value)
|
||||
{
|
||||
#if !defined(CONFIG_NO_POST) || CONFIG_NO_POST==0
|
||||
#if CONFIG_SERIAL_POST==1
|
||||
print_emerg("POST: 0x");
|
||||
print_emerg_hex8(value);
|
||||
print_emerg("\r\n");
|
||||
#endif
|
||||
outb(value, 0x80);
|
||||
#endif
|
||||
}
|
||||
|
||||
void die(const char *str)
|
||||
{
|
||||
print_emerg(str);
|
||||
do {
|
||||
hlt();
|
||||
} while(1);
|
||||
}
|
@@ -1,124 +0,0 @@
|
||||
static void __console_tx_byte(unsigned char byte)
|
||||
{
|
||||
uart_tx_byte(byte);
|
||||
}
|
||||
|
||||
static void __console_tx_nibble(unsigned nibble)
|
||||
{
|
||||
unsigned char digit;
|
||||
digit = nibble + '0';
|
||||
if (digit > '9') {
|
||||
digit += 39;
|
||||
}
|
||||
__console_tx_byte(digit);
|
||||
}
|
||||
|
||||
static void __console_tx_char(int loglevel, unsigned char byte)
|
||||
{
|
||||
if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
|
||||
uart_tx_byte(byte);
|
||||
}
|
||||
}
|
||||
|
||||
static void __console_tx_hex8(int loglevel, unsigned char value)
|
||||
{
|
||||
if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
|
||||
__console_tx_nibble((value >> 4U) & 0x0fU);
|
||||
__console_tx_nibble(value & 0x0fU);
|
||||
}
|
||||
}
|
||||
|
||||
static void __console_tx_hex16(int loglevel, unsigned short value)
|
||||
{
|
||||
if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
|
||||
__console_tx_nibble((value >> 12U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 8U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 4U) & 0x0fU);
|
||||
__console_tx_nibble(value & 0x0fU);
|
||||
}
|
||||
}
|
||||
|
||||
static void __console_tx_hex32(int loglevel, unsigned int value)
|
||||
{
|
||||
if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
|
||||
__console_tx_nibble((value >> 28U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 24U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 20U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 16U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 12U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 8U) & 0x0fU);
|
||||
__console_tx_nibble((value >> 4U) & 0x0fU);
|
||||
__console_tx_nibble(value & 0x0fU);
|
||||
}
|
||||
}
|
||||
|
||||
static void __console_tx_string(int loglevel, const char *str)
|
||||
{
|
||||
if (ASM_CONSOLE_LOGLEVEL >= loglevel) {
|
||||
unsigned char ch;
|
||||
while((ch = *str++) != '\0') {
|
||||
__console_tx_byte(ch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if defined (__ROMCC__)
|
||||
#define STATIC
|
||||
#else
|
||||
#define STATIC static
|
||||
#endif
|
||||
|
||||
STATIC void print_emerg_char(unsigned char byte) { __console_tx_char(BIOS_EMERG, byte); }
|
||||
STATIC void print_emerg_hex8(unsigned char value){ __console_tx_hex8(BIOS_EMERG, value); }
|
||||
STATIC void print_emerg_hex16(unsigned short value){ __console_tx_hex16(BIOS_EMERG, value); }
|
||||
STATIC void print_emerg_hex32(unsigned int value) { __console_tx_hex32(BIOS_EMERG, value); }
|
||||
STATIC void print_emerg(const char *str) { __console_tx_string(BIOS_EMERG, str); }
|
||||
|
||||
STATIC void print_alert_char(unsigned char byte) { __console_tx_char(BIOS_ALERT, byte); }
|
||||
STATIC void print_alert_hex8(unsigned char value) { __console_tx_hex8(BIOS_ALERT, value); }
|
||||
STATIC void print_alert_hex16(unsigned short value){ __console_tx_hex16(BIOS_ALERT, value); }
|
||||
STATIC void print_alert_hex32(unsigned int value) { __console_tx_hex32(BIOS_ALERT, value); }
|
||||
STATIC void print_alert(const char *str) { __console_tx_string(BIOS_ALERT, str); }
|
||||
|
||||
STATIC void print_crit_char(unsigned char byte) { __console_tx_char(BIOS_CRIT, byte); }
|
||||
STATIC void print_crit_hex8(unsigned char value) { __console_tx_hex8(BIOS_CRIT, value); }
|
||||
STATIC void print_crit_hex16(unsigned short value){ __console_tx_hex16(BIOS_CRIT, value); }
|
||||
STATIC void print_crit_hex32(unsigned int value) { __console_tx_hex32(BIOS_CRIT, value); }
|
||||
STATIC void print_crit(const char *str) { __console_tx_string(BIOS_CRIT, str); }
|
||||
|
||||
STATIC void print_err_char(unsigned char byte) { __console_tx_char(BIOS_ERR, byte); }
|
||||
STATIC void print_err_hex8(unsigned char value) { __console_tx_hex8(BIOS_ERR, value); }
|
||||
STATIC void print_err_hex16(unsigned short value){ __console_tx_hex16(BIOS_ERR, value); }
|
||||
STATIC void print_err_hex32(unsigned int value) { __console_tx_hex32(BIOS_ERR, value); }
|
||||
STATIC void print_err(const char *str) { __console_tx_string(BIOS_ERR, str); }
|
||||
|
||||
STATIC void print_warning_char(unsigned char byte) { __console_tx_char(BIOS_WARNING, byte); }
|
||||
STATIC void print_warning_hex8(unsigned char value) { __console_tx_hex8(BIOS_WARNING, value); }
|
||||
STATIC void print_warning_hex16(unsigned short value){ __console_tx_hex16(BIOS_WARNING, value); }
|
||||
STATIC void print_warning_hex32(unsigned int value) { __console_tx_hex32(BIOS_WARNING, value); }
|
||||
STATIC void print_warning(const char *str) { __console_tx_string(BIOS_WARNING, str); }
|
||||
|
||||
STATIC void print_notice_char(unsigned char byte) { __console_tx_char(BIOS_NOTICE, byte); }
|
||||
STATIC void print_notice_hex8(unsigned char value) { __console_tx_hex8(BIOS_NOTICE, value); }
|
||||
STATIC void print_notice_hex16(unsigned short value){ __console_tx_hex16(BIOS_NOTICE, value); }
|
||||
STATIC void print_notice_hex32(unsigned int value) { __console_tx_hex32(BIOS_NOTICE, value); }
|
||||
STATIC void print_notice(const char *str) { __console_tx_string(BIOS_NOTICE, str); }
|
||||
|
||||
STATIC void print_info_char(unsigned char byte) { __console_tx_char(BIOS_INFO, byte); }
|
||||
STATIC void print_info_hex8(unsigned char value) { __console_tx_hex8(BIOS_INFO, value); }
|
||||
STATIC void print_info_hex16(unsigned short value){ __console_tx_hex16(BIOS_INFO, value); }
|
||||
STATIC void print_info_hex32(unsigned int value) { __console_tx_hex32(BIOS_INFO, value); }
|
||||
STATIC void print_info(const char *str) { __console_tx_string(BIOS_INFO, str); }
|
||||
|
||||
STATIC void print_debug_char(unsigned char byte) { __console_tx_char(BIOS_DEBUG, byte); }
|
||||
STATIC void print_debug_hex8(unsigned char value) { __console_tx_hex8(BIOS_DEBUG, value); }
|
||||
STATIC void print_debug_hex16(unsigned short value){ __console_tx_hex16(BIOS_DEBUG, value); }
|
||||
STATIC void print_debug_hex32(unsigned int value) { __console_tx_hex32(BIOS_DEBUG, value); }
|
||||
STATIC void print_debug(const char *str) { __console_tx_string(BIOS_DEBUG, str); }
|
||||
|
||||
STATIC void print_spew_char(unsigned char byte) { __console_tx_char(BIOS_SPEW, byte); }
|
||||
STATIC void print_spew_hex8(unsigned char value) { __console_tx_hex8(BIOS_SPEW, value); }
|
||||
STATIC void print_spew_hex16(unsigned short value){ __console_tx_hex16(BIOS_SPEW, value); }
|
||||
STATIC void print_spew_hex32(unsigned int value) { __console_tx_hex32(BIOS_SPEW, value); }
|
||||
STATIC void print_spew(const char *str) { __console_tx_string(BIOS_SPEW, str); }
|
||||
|
Reference in New Issue
Block a user