summaryrefslogtreecommitdiff
path: root/src/mainboard/digitallogic/msm586seg
diff options
context:
space:
mode:
authorarch import user (historical) <svn@openbios.org>2005-07-06 17:17:41 +0000
committerarch import user (historical) <svn@openbios.org>2005-07-06 17:17:41 +0000
commit54d6b08f010d2dc458184a4845f8fbdaaf0da429 (patch)
treee0a5d1459e05651ef46b4b671a2664721221fd7a /src/mainboard/digitallogic/msm586seg
parent93cabf12d1394e74818c9028789d9fe875147980 (diff)
Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-54
Creator: Ronald G. Minnich <rminnich@lanl.gov> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1970 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/digitallogic/msm586seg')
-rw-r--r--src/mainboard/digitallogic/msm586seg/Config.lb1
-rw-r--r--src/mainboard/digitallogic/msm586seg/Options.lb6
-rw-r--r--src/mainboard/digitallogic/msm586seg/auto.c89
3 files changed, 77 insertions, 19 deletions
diff --git a/src/mainboard/digitallogic/msm586seg/Config.lb b/src/mainboard/digitallogic/msm586seg/Config.lb
index 9f5bb16f1f..04cc7f2d7b 100644
--- a/src/mainboard/digitallogic/msm586seg/Config.lb
+++ b/src/mainboard/digitallogic/msm586seg/Config.lb
@@ -4,7 +4,6 @@
##
default ROM_SIZE = 512 * 1024
default FALLBACK_SIZE = 0x10000
-
if USE_FALLBACK_IMAGE
default ROM_SECTION_SIZE = 64 * 1024 # FALLBACK_SIZE
default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
diff --git a/src/mainboard/digitallogic/msm586seg/Options.lb b/src/mainboard/digitallogic/msm586seg/Options.lb
index 91e8ef0a13..610ef9a791 100644
--- a/src/mainboard/digitallogic/msm586seg/Options.lb
+++ b/src/mainboard/digitallogic/msm586seg/Options.lb
@@ -5,6 +5,7 @@ uses HAVE_FALLBACK_BOOT
uses HAVE_HARD_RESET
uses HAVE_OPTION_TABLE
uses USE_OPTION_TABLE
+uses CONFIG_COMPRESS
uses CONFIG_ROM_STREAM
uses IRQ_SLOT_COUNT
uses MAINBOARD
@@ -32,8 +33,13 @@ uses CC
uses HOSTCC
uses OBJCOPY
+uses CONFIG_CONSOLE_SERIAL8250
+
+
uses DEFAULT_CONSOLE_LOGLEVEL
uses MAXIMUM_CONSOLE_LOGLEVEL
+
+default CONFIG_CONSOLE_SERIAL8250=1
default DEFAULT_CONSOLE_LOGLEVEL=9
default MAXIMUM_CONSOLE_LOGLEVEL=9
## ROM_SIZE is the size of boot ROM that this board will use.
diff --git a/src/mainboard/digitallogic/msm586seg/auto.c b/src/mainboard/digitallogic/msm586seg/auto.c
index 7aba46e797..b9f490a4f8 100644
--- a/src/mainboard/digitallogic/msm586seg/auto.c
+++ b/src/mainboard/digitallogic/msm586seg/auto.c
@@ -10,11 +10,14 @@
#include "pc80/serial.c"
#include "arch/i386/lib/console.c"
#include "ram/ramtest.c"
-#include "cpu/x86/mtrr/earlymtrr.c"
#include "cpu/x86/bist.h"
//#include "lib/delay.c"
#include "cpu/amd/sc520/raminit.c"
+typedef void (*lj)(void);
+
+
+
struct mem_controller {
int i;
};
@@ -45,6 +48,23 @@ static inline int spd_read_byte(unsigned device, unsigned address)
//#include "sdram/generic_sdram.c"
+static inline void dumpmem(void){
+ int i, j;
+ unsigned char *l;
+ unsigned char c;
+
+ for(i = 0x4000; i < 0x5000; i += 16) {
+ print_err_hex32(i); print_err(":");
+ for(j = 0; j < 16; j++) {
+ l = (unsigned char *)i + j;
+ c = *l;
+ print_err_hex8(c);
+ print_err(" ");
+ }
+ print_err("\r\n");
+ }
+}
+
static void main(unsigned long bist)
{
volatile int i;
@@ -61,6 +81,8 @@ static void main(unsigned long bist)
print_err("HI THERE!\r\n");
// sizemem();
staticmem();
+ print_err("c60 is "); print_err_hex16(*(unsigned short *)0xfffefc60);
+ print_err("\n");
// while(1)
print_err("STATIC MEM DONE\r\n");
@@ -69,36 +91,67 @@ static void main(unsigned long bist)
#if 0
- else {
- /* clear memory 1meg */
+
+ /* clear memory 1meg */
__asm__ volatile(
- "1: \n\t"
- "movl %0, %%fs:(%1)\n\t"
- "addl $4,%1\n\t"
- "subl $4,%2\n\t"
- "jnz 1b\n\t"
- :
- : "a" (0), "D" (0), "c" (1024*1024)
- );
+ "1: \n\t"
+ "movl %0, %%fs:(%1)\n\t"
+ "addl $4,%1\n\t"
+ "subl $4,%2\n\t"
+ "jnz 1b\n\t"
+ :
+ : "a" (0), "D" (0), "c" (1024*1024)
+ );
+
- }
#endif
-
+
#if 0
dump_pci_devices();
#endif
#if 0
dump_pci_device(PCI_DEV(0, 0, 0));
#endif
-
+
#if 0
print_err("RAM CHECK!\r\n");
// Check 16MB of memory @ 0
ram_check(0x00000000, 0x01000000);
#endif
-#if 1
- print_err("RAM CHECK!\r\n");
- // Check 1MB of memory @ 0
- ram_check(0x00000000, 0x0100000);
+#if 0
+ print_err("RAM CHECK for 32 MB!\r\n");
+ // Check 32MB of memory @ 0
+ ram_check(0x00000000, 0x02000000);
+#endif
+#if 0
+ {
+ volatile unsigned char *src = (unsigned char *) 0x2000000 + 0x70000;
+ volatile unsigned char *dst = (unsigned char *) 0x4000;
+ for(i = 0; i < 0x10000; i++) {
+ /*
+ print_err("Set dst "); print_err_hex32((unsigned long) dst);
+ print_err(" to "); print_err_hex32(*src); print_err("\r\n");
+ */
+ *dst = *src;
+ //print_err(" dst is now "); print_err_hex32(*dst); print_err("\r\n");
+ dst++, src++;
+ outb((unsigned char)i, 0x80);
+ }
+ }
+ dumpmem();
+ outb(0, 0x80);
+ print_err("loop forever\r\n");
+ outb(0xdd, 0x80);
+ __asm__ volatile(
+ "movl %0, %%edi\n\t"
+ "jmp *%%edi\n\t"
+ :
+ : "a" (0x4000)
+ );
+
+ print_err("FUCK\r\n");
+
+ while(1);
#endif
}
+