summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/init/crt0.S.lb10
-rw-r--r--src/mainboard/digitallogic/msm586seg/mainboard.c4
-rw-r--r--src/mainboard/technologic/ts5300/mainboard.c4
3 files changed, 14 insertions, 4 deletions
diff --git a/src/arch/i386/init/crt0.S.lb b/src/arch/i386/init/crt0.S.lb
index 3865ba3c3f..9e8968510d 100644
--- a/src/arch/i386/init/crt0.S.lb
+++ b/src/arch/i386/init/crt0.S.lb
@@ -70,6 +70,7 @@ __main:
* Normally this is copying from FLASH ROM to RAM.
*/
movl %ebp, %esi
+ /* FIXME: look for a proper place for the stack */
movl $0x4000000, %esp
movl %esp, %ebp
pushl %esi
@@ -142,6 +143,11 @@ str_copying_to_ram: .string "Uncompressing coreboot to RAM.\r\n"
#else
str_copying_to_ram: .string "Copying coreboot to RAM.\r\n"
#endif
+str_pre_main: .string "Jumping to coreboot.\r\n"
+.previous
+
+#endif /* ASM_CONSOLE_LOGLEVEL > BIOS_DEBUG */
+
#if CONFIG_CBFS == 1
# if CONFIG_USE_FALLBACK_IMAGE == 1
str_coreboot_ram_name: .string "fallback/coreboot_ram"
@@ -149,9 +155,5 @@ str_coreboot_ram_name: .string "fallback/coreboot_ram"
str_coreboot_ram_name: .string "normal/coreboot_ram"
# endif
#endif
-str_pre_main: .string "Jumping to coreboot.\r\n"
-.previous
-
-#endif /* ASM_CONSOLE_LOGLEVEL > BIOS_DEBUG */
#endif /* CONFIG_USE_DCACHE_RAM */
diff --git a/src/mainboard/digitallogic/msm586seg/mainboard.c b/src/mainboard/digitallogic/msm586seg/mainboard.c
index b8f2150e78..7bd8ac0910 100644
--- a/src/mainboard/digitallogic/msm586seg/mainboard.c
+++ b/src/mainboard/digitallogic/msm586seg/mainboard.c
@@ -35,7 +35,9 @@ static void irqdump()
- set ADDDECTL (now done in raminit.c in cpu/amd/sc520
*/
static void enable_dev(struct device *dev) {
+#if !CONFIG_CBFS
extern unsigned char *rom_start, *rom_end;
+#endif
volatile struct mmcrpic *pic = MMCRPIC;
volatile struct mmcr *mmcr = MMCRDEFAULT;
@@ -134,10 +136,12 @@ static void enable_dev(struct device *dev) {
/* follow fuctory here */
mmcr->dmacontrol.extchanmapa = 0x3210;
+#if !CONFIG_CBFS
/* hack for IDIOTIC need to fix rom_start */
printk_err("Patching rom_start due to sc520 limits\n");
rom_start = 0x2000000 + 0x40000;
rom_end = rom_start + CONFIG_PAYLOAD_SIZE - 1;
+#endif
}
diff --git a/src/mainboard/technologic/ts5300/mainboard.c b/src/mainboard/technologic/ts5300/mainboard.c
index 343dbdf73c..551c3e0a84 100644
--- a/src/mainboard/technologic/ts5300/mainboard.c
+++ b/src/mainboard/technologic/ts5300/mainboard.c
@@ -35,7 +35,9 @@ static void irqdump()
- set ADDDECTL (now done in raminit.c in cpu/amd/sc520
*/
static void enable_dev(struct device *dev) {
+#if !CONFIG_CBFS
extern unsigned char *rom_start, *rom_end;
+#endif
volatile struct mmcrpic *pic = MMCRPIC;
volatile struct mmcr *mmcr = MMCRDEFAULT;
@@ -139,10 +141,12 @@ static void enable_dev(struct device *dev) {
mmcr->dmacontrol.extchanmapa = 0xf210;
mmcr->dmacontrol.extchanmapb = 0xffff;
+#if !CONFIG_CBFS
/* hack for IDIOTIC need to fix rom_start */
printk_err("Patching rom_start due to sc520 limits\n");
rom_start = 0x09400000 + 0xe0000;
rom_end = rom_start + CONFIG_PAYLOAD_SIZE - 1;
+#endif
printk_err("TS5300 EXIT %s\n", __func__);