summaryrefslogtreecommitdiff
path: root/src/arch/i386/lib
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@openbios.org>2005-12-02 21:52:30 +0000
committerStefan Reinauer <stepan@openbios.org>2005-12-02 21:52:30 +0000
commit7ce8c54e2ba89059d28790550a8f74907b54b916 (patch)
treee89df947fbe9e3f85d6082af6926038e9fe8e61a /src/arch/i386/lib
parentc2455dc0ce210b3da2b14be8885803ff47a781eb (diff)
1201_ht_bus0_dev0_fidvid_core.diff
https://openbios.org/roundup/linuxbios/issue41 Lord have mercy upon us. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2118 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/i386/lib')
-rw-r--r--src/arch/i386/lib/c_start.S6
-rw-r--r--src/arch/i386/lib/console.c57
2 files changed, 8 insertions, 55 deletions
diff --git a/src/arch/i386/lib/c_start.S b/src/arch/i386/lib/c_start.S
index ce13d150d7..04b5a68676 100644
--- a/src/arch/i386/lib/c_start.S
+++ b/src/arch/i386/lib/c_start.S
@@ -22,18 +22,20 @@ _start:
leal _stack, %edi
movl $_estack, %ecx
subl %edi, %ecx
+ shrl $2, %ecx /* it is 32 bit align, right? */
xorl %eax, %eax
rep
- stosb
+ stosl
/** clear bss */
leal _bss, %edi
movl $_ebss, %ecx
subl %edi, %ecx
jz .Lnobss
+ shrl $2, %ecx /* it is 32 bit align, right? */
xorl %eax, %eax
rep
- stosb
+ stosl
.Lnobss:
/* set new stack */
diff --git a/src/arch/i386/lib/console.c b/src/arch/i386/lib/console.c
index fd1b5d759e..a1f5d6f2a4 100644
--- a/src/arch/i386/lib/console.c
+++ b/src/arch/i386/lib/console.c
@@ -120,58 +120,8 @@ static void print_spew_hex16(unsigned short value){ __console_tx_hex16(BIOS_SPEW
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); }
-/* Non inline versions.... */
-#if 0
-static void print_alert_char_(unsigned char value) NOINLINE { print_alert_char(value); }
-static void print_alert_hex8_(unsigned char value) NOINLINE { print_alert_hex8(value); }
-static void print_alert_hex16_(unsigned short value) NOINLINE { print_alert_hex16(value); }
-static void print_alert_hex32_(unsigned int value) NOINLINE { print_alert_hex32(value); }
-static void print_alert_(const char *str) NOINLINE { print_alert(str); }
-
-static void print_crit_char_(unsigned char value) NOINLINE { print_crit_char(value); }
-static void print_crit_hex8_(unsigned char value) NOINLINE { print_crit_hex8(value); }
-static void print_crit_hex16_(unsigned short value) NOINLINE { print_crit_hex16(value); }
-static void print_crit_hex32_(unsigned int value) NOINLINE { print_crit_hex32(value); }
-static void print_crit_(const char *str) NOINLINE { print_crit(str); }
-
-static void print_err_char_(unsigned char value) NOINLINE { print_err_char(value); }
-static void print_err_hex8_(unsigned char value) NOINLINE { print_err_hex8(value); }
-static void print_err_hex16_(unsigned short value) NOINLINE { print_err_hex16(value); }
-static void print_err_hex32_(unsigned int value) NOINLINE { print_err_hex32(value); }
-static void print_err_(const char *str) NOINLINE { print_err(str); }
-
-static void print_warning_char_(unsigned char value) NOINLINE { print_warning_char(value); }
-static void print_warning_hex8_(unsigned char value) NOINLINE { print_warning_hex8(value); }
-static void print_warning_hex16_(unsigned short value) NOINLINE { print_warning_hex16(value); }
-static void print_warning_hex32_(unsigned int value) NOINLINE { print_warning_hex32(value); }
-static void print_warning_(const char *str) NOINLINE { print_warning(str); }
-
-static void print_notice_char_(unsigned char value) NOINLINE { print_notice_char(value); }
-static void print_notice_hex8_(unsigned char value) NOINLINE { print_notice_hex8(value); }
-static void print_notice_hex16_(unsigned short value) NOINLINE { print_notice_hex16(value); }
-static void print_notice_hex32_(unsigned int value) NOINLINE { print_notice_hex32(value); }
-static void print_notice_(const char *str) NOINLINE { print_notice(str); }
-
-static void print_info_char_(unsigned char value) NOINLINE { print_info_char(value); }
-static void print_info_hex8_(unsigned char value) NOINLINE { print_info_hex8(value); }
-static void print_info_hex16_(unsigned short value) NOINLINE { print_info_hex16(value); }
-static void print_info_hex32_(unsigned int value) NOINLINE { print_info_hex32(value); }
-static void print_info_(const char *str) NOINLINE { print_info(str); }
-
-static void print_debug_char_(unsigned char value) NOINLINE { print_debug_char(value); }
-static void print_debug_hex8_(unsigned char value) NOINLINE { print_debug_hex8(value); }
-static void print_debug_hex16_(unsigned short value) NOINLINE { print_debug_hex16(value); }
-static void print_debug_hex32_(unsigned int value) NOINLINE { print_debug_hex32(value); }
-static void print_debug_(const char *str) NOINLINE { print_debug(str); }
-
-static void print_spew_char_(unsigned char value) NOINLINE { print_spew_char(value); }
-static void print_spew_hex8_(unsigned char value) NOINLINE { print_spew_hex8(value); }
-static void print_spew_hex16_(unsigned short value) NOINLINE { print_spew_hex16(value); }
-static void print_spew_hex32_(unsigned int value) NOINLINE { print_spew_hex32(value); }
-static void print_spew_(const char *str) NOINLINE { print_spew(str); }
-#endif
-
-#else
+#else
+/* CONFIG_USE_INIT == 1 */
extern int do_printk(int msg_level, const char *fmt, ...);
@@ -273,12 +223,13 @@ extern int do_printk(int msg_level, const char *fmt, ...);
#define print_spew_hex32(HEX) printk_spew ("%08x", (HEX))
-#endif /* CONFIG_USE_INIT == 0 */
+#endif /* CONFIG_USE_INIT */
#ifndef LINUXBIOS_EXTRA_VERSION
#define LINUXBIOS_EXTRA_VERSION ""
#endif
+
static void console_init(void)
{
static const char console_test[] =