===================================================================
@@ -1,3 +1,5 @@
+#include <console/console.h>
+
#define SMBUS_IO_BASE 0x5000
#define SMBHSTSTAT 0x0
@@ -54,7 +56,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_active(void)
===================================================================
@@ -1,3 +1,4 @@
+#include <console/console.h>
/*
* Enable the serial evices on the VIA
*/
@@ -33,11 +34,11 @@
{
uint8_t c;
device_t dev;
- outb(6, 0x80);
+ post_code(0x06);
dev = pci_locate_device(PCI_ID(0x1106,0x8231), 0);
if (dev == PCI_DEV_INVALID) {
- outb(7, 0x80);
+ post_code(0x07);
die("Serial controller not found\n");
}
@@ -47,7 +48,7 @@
c = pci_read_config8(dev, 0x50);
c |= 6;
pci_write_config8(dev, 0x50, c);
- outb(2, 0x80);
+ post_code(0x02);
// now go ahead and set up com1.
// set address
vt8231_writesuper(0xf4, 0xfe);
===================================================================
@@ -1,4 +1,5 @@
#define SMBUS_IO_BASE 0xf00
+#include <console/console.h>
#define SMBHSTSTAT 0x0
#define SMBSLVSTAT 0x1
@@ -52,7 +53,7 @@
/* let clocks and the like settle */
/* as yet arbitrary count - 1000 is too little 5000 works */
for(i = 0 ; i < 5000 ; i++)
- outb(0x80,0x80);
+ post_code(POST_SMBUS_DELAY);
/*
* The VT1211 serial port needs 48 mhz clock, on power up it is getting
@@ -75,7 +76,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(void)
===================================================================
@@ -277,7 +277,7 @@
return;
}
- outb( P80_CHIPSET_INIT, 0x80);
+ post_code( P80_CHIPSET_INIT );
ChipsetGeodeLinkInit();
#ifdef UNUSED_CODE
===================================================================
@@ -18,10 +18,11 @@
*/
#include "smbus.h"
+#include <console/console.h>
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(u32 smbus_io_base)
===================================================================
@@ -21,10 +21,11 @@
#define _SB700_SMBUS_C_
#include "smbus.h"
+#include <console/console.h>
static inline void smbus_delay(void)
{
- outb(inb(0x80), 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(u32 smbus_io_base)
===================================================================
@@ -21,10 +21,11 @@
#define _SB800_SMBUS_C_
#include "smbus.h"
+#include <console/console.h>
static inline void smbus_delay(void)
{
- outb(inb(0x80), 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(u32 smbus_io_base)
===================================================================
@@ -20,10 +20,11 @@
#include <arch/io.h>
#include "smbus.h"
+#include <console/console.h>
static inline void smbus_delay(void)
{
- outb(inb(0x80), 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(u32 smbus_io_base)
===================================================================
@@ -1,4 +1,5 @@
#include <device/smbus_def.h>
+#include <console/console.h>
#define SMBGSTATUS 0xe0
#define SMBGCTL 0xe2
@@ -12,7 +13,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(unsigned smbus_io_base)
===================================================================
@@ -19,6 +19,7 @@
*/
#include <device/smbus_def.h>
+#include <console/console.h>
#define SMBHSTSTAT 0x0
#define SMBSLVSTAT 0x1
@@ -42,7 +43,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(unsigned smbus_io_base)
===================================================================
@@ -19,6 +19,7 @@
*/
#include <device/smbus_def.h>
+#include <console/console.h>
#define SMBHSTSTAT 0x1
#define SMBHSTPRTCL 0x0
@@ -35,7 +36,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);;
}
#if 0
===================================================================
@@ -34,10 +34,11 @@
* Longer than this is just painful when a timeout condition occurs.
*/
#define SMBUS_TIMEOUT (100*1000*10)
+#include <console/console.h>
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_done(unsigned smbus_io_base)
===================================================================
@@ -1,5 +1,6 @@
#include <device/smbus_def.h>
#include "i82371eb.h"
+#include <console/console.h>
#define SMBHST_STATUS 0x0
#define SMBHST_CTL 0x2
@@ -15,12 +16,12 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
- outb(0x80, 0x80);
- outb(0x80, 0x80);
- outb(0x80, 0x80);
- outb(0x80, 0x80);
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
+ post_code(POST_SMBUS_DELAY);
+ post_code(POST_SMBUS_DELAY);
+ post_code(POST_SMBUS_DELAY);
+ post_code(POST_SMBUS_DELAY);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(unsigned smbus_io_base)
===================================================================
@@ -19,6 +19,7 @@
*/
#include <device/smbus_def.h>
+#include <console/console.h>
#include "i82801ax.h"
int do_smbus_read_byte(u16 smbus_io_base, u8 device, u8 address);
===================================================================
@@ -19,6 +19,7 @@
*/
#include <device/smbus_def.h>
+#include <console/console.h>
static void smbus_delay(void)
{
===================================================================
@@ -1,5 +1,6 @@
#include <device/pci_ids.h>
#include "i82801cx.h"
+#include <console/console.h>
static void enable_smbus(void)
{
@@ -21,7 +22,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
// See http://www.coreboot.org/pipermail/linuxbios/2004-September/009077.html
===================================================================
@@ -19,6 +19,7 @@
*/
#include "i82801dx.h"
+#include <console/console.h>
#define SMBHSTSTAT 0x0
#define SMBHSTCTL 0x2
@@ -56,7 +57,7 @@
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_active(void)
===================================================================
@@ -1,4 +1,5 @@
#include <device/smbus_def.h>
+#include <console/console.h>
#define SMBHSTSTAT 0x0
#define SMBHSTCTL 0x2
@@ -17,7 +18,7 @@
static void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(unsigned smbus_io_base)
===================================================================
@@ -20,6 +20,7 @@
/* This code is based on src/southbridge/intel/esb6300/esb6300_smbus.h */
#include <device/smbus_def.h>
+#include <console/console.h>
#define SMBHSTSTAT 0x0
#define SMBHSTCTL 0x2
@@ -38,7 +39,7 @@
static void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
static int smbus_wait_until_ready(u32 smbus_io_base)
===================================================================
@@ -20,12 +20,13 @@
*/
#include "smbus.h"
+#include <console/console.h>
#define SMBUS0_IO_BASE 0x8D0
static inline void smbus_delay(void)
{
- outb(0x80, 0x80);
+ post_code(POST_SMBUS_DELAY);
}
int smbus_wait_until_ready(unsigned smbus_io_base)
===================================================================
@@ -22,6 +22,7 @@
#include <stdint.h>
#include <console/loglevel.h>
+#include <console/post_codes.h>
#ifndef __PRE_RAM__
void console_tx_byte(unsigned char byte);
===================================================================
@@ -0,0 +1,181 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Alexandru Gagniuc <mr.nuke.me@gmail.com>
+ *
+ * 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 3 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, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @file post_codes.h
+ * @importance Life-threatening
+ *
+ * This aims to be a central point for POST codes used throughout coreboot.
+ * All POST codes should be declared here as macros, and post_code() should
+ * be used with the macros instead of hardcoded values. This allows us to
+ * quicly reference POST codes when npthing is working
+ *
+ * The format for a POST code macro is
+ * #define POST_WHAT_WE_COMMUNICATE_IS_HAPPENING_WHEN_THIS_CODE_IS_POSTED
+ * Lets's keep it at POST_* instead of POST_CODE_*
+ *
+ * DOCUMENTATION:
+ * Please document any and all post codes using Doxygen style comments. We
+ * want to be able to generate a verbose enough documentation that is useful
+ * during debugging. Failure to do so will result in your patch being rejected
+ * without any explanation or effort on part of the maintainers.
+ *
+ */
+#ifndef THE_ALMIGHTY_POST_CODES_H
+#define THE_ALMIGHTY_POST_CODES_H
+
+/**
+ * \brief Entry into 'crt0.s' reset code jumps to here
+ *
+ * Do we even need to document this?
+ */
+#define POST_ENTRY_CRT0_S 0x01
+
+/**
+ * \brief Entry into protected mode
+ *
+ * Self-explanatory
+ */
+#define POST_ENTER_PROTECTED_MODE 0x10
+
+/**
+ * \brief Start copying coreboot to RAM with decompression if compressed
+ *
+ * Self-explanatory
+ */
+#define POST_PREPARE_RAMSTAGE 0x11
+
+/**
+ * \brief Copy/decompression finished; jumping to RAM
+ *
+ * This is called after ramstage is warm and fuzzy in memory, and before
+ * the code jumps there.
+ */
+#define POST_RAMSTAGE_IS_PREPARED 0x12
+
+
+/**
+ * \brief Entry into c_start
+ *
+ * TODO: Can someone please document this? This code is pretty confusiong
+ * Is this in ramstage, romstage, or beerstage?
+ */
+#define POST_ENTRY_C_START 0x13
+
+/**
+ * \brief Delay the SMBUS
+ *
+ * This is used mostly by SMBUS code to insert a delay
+ * FIXME: This shouldn't ne used by the SMBUS code.
+ * If you feel you need to use this, ask us abbout "smbus refactoring"
+ */
+#define POST_SMBUS_DELAY 0x80
+
+/**
+ * \brief Entry into coreboot in RAM
+ *
+ * TODO: please chek if this is correct
+ * Starting ramstage.
+ */
+#define POST_ENTRY_RAMSTAGE 0x80
+
+/**
+ * \brief Console is initialized
+ *
+ * The console is initialized and is ready for usage
+ */
+#define POST_CONSOLE_READY 0x39
+
+/**
+ * \brief Console boot message succeeded
+ *
+ * Console boot message has been succesfully sent
+ */
+#define POST_CONSOLE_BOOT_MSG 0x40
+
+/**
+ * \brief Devices have been enumerated
+ *
+ * Self-explanatory
+ */
+#define POST_DEVICE_ENUMERATION_COMPLETE 0x66
+
+/**
+ * \brief Devices have been configured
+ *
+ * Self-explanatory
+ */
+#define POST_DEVICE_CONFIGURATION_COMPLETE 0x88
+
+/**
+ * \brief Devices have been enabled
+ *
+ * Self-explanatory
+ */
+#define POST_DEVICES_ENABLED 0x89
+
+/**
+ * \brief Entry into elf boot
+ *
+ * Can someone please document this?
+ */
+#define POST_ENTER_ELF_BOOT 0xf8
+/**
+ * \brief Jumping to payload
+ *
+ * Called right before jumping to a payload. If the boot sequence stops
+ * here, chances are the payload freezes.
+ */
+#define POST_JUMPING_TO_PAYLOAD 0xf3
+/**
+ * \brief Not supposed to get here
+ *
+ * A function that should not have returned, returned
+ *
+ * Check the console output for details.
+ */
+#define POST_DEAD_CODE 0xee
+
+/**
+ * \brief Pre call to hardwaremain()
+ *
+ * POSTed right before hardwaremain is called from c_start.S
+ * TODO: Change this code to a lower number
+ */
+#define POST_PRE_HARDWAREMAIN 0xfe
+
+/**
+ * \brief Elfload fail or die() called
+ *
+ * Coreboot was not able to load the payload, no payload was detectes
+ * or die() was called.
+ * \n
+ * If this code appears before enetering ramstage, then most likely
+ * ramstage is corrupted, and reflashing of the ROM chip is needed.
+ * \n
+ * If this code appears after ramstage, there is a problem with the payload
+ * If the payload was built out-of-tree, check that it was compiled as
+ * a coreboot payload
+ * \n
+ * Check the console output to see exactly where the failure occured.
+ */
+#define POST_DIE 0xff
+
+
+#endif /* THE_ALMIGHTY_POST_CODES_H */
\ No newline at end of file
===================================================================
@@ -27,6 +27,7 @@
#include <cpu/x86/stack.h>
#include <cpu/x86/mtrr.h>
+#include <console/post_codes.h>
#define CacheSize CONFIG_DCACHE_RAM_SIZE
#define CacheBase CONFIG_DCACHE_RAM_BASE
@@ -261,7 +262,7 @@
/* Clear boot_complete flag. */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
cld /* Clear direction flag. */
movl %ebp, %esi
@@ -272,7 +273,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -27,6 +27,7 @@
#define CR0_CD 0x40000000 /* bit 30 = Cache Disable */
#define CR0_NW 0x20000000 /* bit 29 = Not Write Through */
#include <cpu/amd/gx2def.h>
+#include <console/post_codes.h>
/***************************************************************************
/**
/** DCacheSetup
@@ -184,7 +185,7 @@
/* clear boot_complete flag */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
/* TODO For suspend/resume the cache will have to live between
* CONFIG_RAMBASE and CONFIG_RAMTOP
@@ -201,7 +202,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -144,13 +144,13 @@
/* the 0x80 led should now be working*/
- outb(0xaa, 0x80);
+ post_code(0xaa);
#if 0
- /* wtf are 680 leds ... */
+ /* wtf are 680 leds ... *//* <-- WTF is this comment? */
par = (unsigned long *) 0xfffef0c4;
*par = 0x28000680;
/* well? */
- outb(0x55, 0x80);
+ post_code(0x55);
#endif
/* set the uart baud rate clocks to the normal 1.8432 MHz.*/
===================================================================
@@ -26,6 +26,7 @@
#define CR0_CD 0x40000000 /* bit 30 = Cache Disable */
#define CR0_NW 0x20000000 /* bit 29 = Not Write Through */
#include <cpu/amd/lxdef.h>
+#include <console/post_codes.h>
/***************************************************************************
/**
/** DCacheSetup
@@ -210,7 +211,7 @@
/* clear boot_complete flag */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
/* TODO For suspend/resume the cache will have to live between
* CONFIG_RAMBASE and CONFIG_RAMTOP
@@ -227,7 +228,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -1,6 +1,7 @@
/* For starting coreboot in protected mode */
#include <arch/rom_segs.h>
+#include <console/post_codes.h>
.code32
@@ -51,7 +52,7 @@
/* Save the BIST value */
movl %eax, %ebp
- post_code(0x10)
+ post_code(POST_ENTER_PROTECTED_MODE)
movw $ROM_DATA_SEG, %ax
movw %ax, %ds
===================================================================
@@ -20,6 +20,7 @@
#include <cpu/x86/stack.h>
#include <cpu/x86/mtrr.h>
+#include <console/post_codes.h>
#define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
#define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
@@ -229,7 +230,7 @@
/* Clear boot_complete flag. */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
cld /* Clear direction flag. */
movl %ebp, %esi
@@ -240,7 +241,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -24,6 +24,7 @@
#include <cpu/x86/stack.h>
#include <cpu/x86/mtrr.h>
#include <cpu/x86/lapic_def.h>
+#include <console/post_codes.h>
#define CacheSize CONFIG_DCACHE_RAM_SIZE
#define CacheBase (0xd0000 - CacheSize)
@@ -296,7 +297,7 @@
movl $0x4000, %edx
movb %ah, %al
.testx1:
- outb %al, $0x80
+ post_code(%al)
decl %edx
jnz .testx1
@@ -306,7 +307,7 @@
movl $0x4000, %edx
.testx2:
- outb %al, $0x80
+ post_code(%al)
decl %edx
jnz .testx2
@@ -364,7 +365,7 @@
/* Clear boot_complete flag. */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
cld /* Clear direction flag. */
movl %ebp, %esi
@@ -375,7 +376,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -20,6 +20,7 @@
#include <cpu/x86/stack.h>
#include <cpu/x86/mtrr.h>
+#include <console/post_codes.h>
#define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
#define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
@@ -229,7 +230,7 @@
/* Clear boot_complete flag. */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
cld /* Clear direction flag. */
movl %ebp, %esi
@@ -240,7 +241,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -20,6 +20,7 @@
#include <cpu/x86/stack.h>
#include <cpu/x86/mtrr.h>
+#include <console/post_codes.h>
#define CACHE_AS_RAM_SIZE CONFIG_DCACHE_RAM_SIZE
#define CACHE_AS_RAM_BASE CONFIG_DCACHE_RAM_BASE
@@ -243,7 +244,7 @@
/* Clear boot_complete flag. */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
cld /* Clear direction flag. */
movl %ebp, %esi
@@ -254,7 +255,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -37,7 +37,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl [] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -54,8 +54,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
-
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
};
===================================================================
@@ -53,7 +53,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -56,7 +56,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -60,7 +60,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -68,7 +68,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
msr_t msr;
static const struct mem_controller memctrl[] = {
===================================================================
@@ -118,8 +118,6 @@
{.channel0 = {DIMM0}},
};
- post_code(0x01);
-
SystemPreInit();
msr_init();
===================================================================
@@ -142,8 +142,6 @@
{.channel0 = {DIMM0}},
};
- post_code(0x01);
-
SystemPreInit();
msr_init();
===================================================================
@@ -93,7 +93,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -118,7 +118,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -158,7 +158,6 @@
void main(unsigned long bist)
{
int err;
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -161,7 +161,6 @@
void main(unsigned long bist)
{
int err;
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -58,7 +58,6 @@
void main(unsigned long bist)
{
- post_code(0x01);
static const struct mem_controller memctrl[] = {
{.channel0 = {DIMM0, DIMM1}}
===================================================================
@@ -57,18 +57,18 @@
{
struct lb_memory *lb_mem;
- post_code(0x80);
+ post_code(POST_ENTRY_RAMSTAGE);
/* console_init() MUST PRECEDE ALL printk()! */
console_init();
- post_code(0x39);
+ post_code(POST_CONSOLE_READY);
printk(BIOS_NOTICE, "coreboot-%s%s %s %s...\n",
coreboot_version, coreboot_extra_version, coreboot_build,
(boot_complete)?"rebooting":"booting");
- post_code(0x40);
+ post_code(POST_CONSOLE_BOOT_MSG);
/* If we have already booted attempt a hard reboot */
if (boot_complete) {
@@ -80,15 +80,15 @@
/* Find the devices we don't have hard coded knowledge about. */
dev_enumerate();
- post_code(0x66);
+ post_code(POST_DEVICE_ENUMERATION_COMPLETE);
/* Now compute and assign the bus resources. */
dev_configure();
- post_code(0x88);
+ post_code(POST_DEVICE_CONFIGURATION_COMPLETE);
/* Now actually enable devices on the bus */
dev_enable();
/* And of course initialize devices on the bus */
dev_initialize();
- post_code(0x89);
+ post_code(POST_DEVICES_ENABLED);
#if CONFIG_WRITE_HIGH_TABLES == 1
cbmem_initialize();
===================================================================
@@ -47,7 +47,7 @@
static void enable_cx700_serial(void)
{
- outb(6, 0x80);
+ post_code(0x06);
// WTH?
outb(0x03, 0x22);
@@ -98,5 +98,5 @@
// should be done. Dump a char for fun.
cx700_writesiobyte(0x3f8, 48);
- outb(7, 0x80);
+ post_code(0x07);
}
===================================================================
@@ -17,6 +17,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <console/console.h>
+
// other bioses use this, too:
#define SMBUS_IO_BASE 0x0500
@@ -44,7 +46,7 @@
#define I2C_TRANS_CMD 0x40
#define CLOCK_SLAVE_ADDRESS 0x69
-#define SMBUS_DELAY() outb(0x80, 0x80)
+#define SMBUS_DELAY() post_code(POST_SMBUS_DELAY)
/* Debugging macros. */
#if CONFIG_DEBUG_SMBUS
===================================================================
@@ -55,7 +55,7 @@
void enable_vx800_serial(void)
{
- outb(6, 0x80);
+ post_code(0x06);
outb(0x03, 0x22);
//pci_write_config8(PCI_DEV(0,17,0),0xb4,0x7e);
@@ -97,5 +97,5 @@
vx800_writesiobyte(0x3f9, 0xf);
// should be done. Dump a char for fun.
vx800_writesiobyte(0x3f8, 48);
- outb(7, 0x80);
+ post_code(0x07);
}
===================================================================
@@ -47,7 +47,7 @@
#define I2C_TRANS_CMD 0x40
#define CLOCK_SLAVE_ADDRESS 0x69
-#define SMBUS_DELAY() outb(0x80, 0x80)
+#define SMBUS_DELAY() post_code(POST_SMBUS_DELAY)
#ifdef CONFIG_DEBUG_SMBUS
#define PRINT_DEBUG(x) print_debug(x)
===================================================================
@@ -46,12 +46,12 @@
{
unsigned int tval, i;
- outb(0x71, 0x80);
+ post_code(0x71);
tval = getGX1Mem(GX_BASE + MC_MEM_CNTRL1);
tval |= RFSHTST;
for(i=0; i>NUM_REFRESH; i++)
setGX1Mem(GX_BASE + MC_MEM_CNTRL1, tval);
- outb(0x72, 0x80);
+ post_code(0x72);
}
@@ -59,7 +59,7 @@
{
unsigned int tval, i;
- outb(0x73, 0x80);
+ post_code(0x73);
/* start SDCLCK's */
tval = getGX1Mem(GX_BASE + MC_MEM_CNTRL1);
@@ -101,7 +101,7 @@
for(i=0; i<2000; i++)
outb(0, 0xed);
- outb(0x74, 0x80);
+ post_code(0x74);
}
static unsigned int size_dimm(int dimm_shift)
@@ -321,7 +321,7 @@
unsigned int mem_config = 0x00700070;
print_debug("Setting up default parameters for memory\n");
- outb(0x70, 0x80);
+ post_code(0x70);
setGX1Mem(GX_BASE + MC_MEM_CNTRL2, 0x000007d8); /* Disable all CLKS, Shift = 3 */
setGX1Mem(GX_BASE + MC_MEM_CNTRL1, 0x92140000); /* MD_DS=2, MA_DS=2, CNTL_DS=2 SDCLKRATE=4 */
@@ -350,5 +350,5 @@
setGX1Mem(GX_BASE + MC_BANK_CFG, mem_config);
enable_dimm();
- outb(0x7e, 0x80);
+ post_code(0x7e);
}
===================================================================
@@ -576,7 +576,7 @@
/* wait 200 SDCLKs */
for (i = 0; i < 200; i++)
- outb(0xaa, 0x80);
+ post_code(0xaa);
/* load RDSYNC */
msr = rdmsr(MC_CF_RDSYNC);
===================================================================
@@ -19,11 +19,12 @@
#include <cpu/x86/post_code.h>
#include <cpu/x86/stack.h>
+#include <console/post_codes.h>
.section ".rom.data", "a", @progbits
.section ".rom.text", "ax", @progbits
/* This is the entry code. The code in the .reset section jumps here. */
- post_code(0x01)
+ post_code(POST_ENTRY_CRT0_S)
===================================================================
@@ -5,11 +5,12 @@
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; version 2 of the License.
*/
+#include <console/post_codes.h>
/* clear boot_complete flag */
xorl %ebp, %ebp
__main:
- post_code(0x11)
+ post_code(POST_PREPARE_RAMSTAGE)
cld /* clear direction flag */
movl %ebp, %esi
@@ -20,7 +21,7 @@
call copy_and_run
.Lhlt:
- post_code(0xee)
+ post_code(POST_DEAD_CODE)
hlt
jmp .Lhlt
===================================================================
@@ -1,4 +1,5 @@
#include <cpu/x86/post_code.h>
+#include <console/post_codes.h>
.section ".text"
.code32
@@ -14,7 +15,7 @@
movl %eax, %fs
movl %eax, %gs
- post_code(0x13) /* post 13 */
+ post_code(POST_ENTRY_C_START) /* post 13 */
/** clear stack */
cld
@@ -73,7 +74,7 @@
* bss is cleared. Now we call the main routine and
* let it do the rest.
*/
- post_code(0xfe) /* post fe */
+ post_code(POST_PRE_HARDWAREMAIN) /* post fe */
/* Restore the stack location */
movl %ebp, %esp
@@ -82,7 +83,7 @@
call hardwaremain
/* NOTREACHED */
.Lhlt:
- post_code(0xee) /* post ee */
+ post_code(POST_DEAD_CODE) /* post ee */
hlt
jmp .Lhlt