summaryrefslogtreecommitdiff
path: root/util/romcc/tests/simple_test36.c
diff options
context:
space:
mode:
authorEric Biederman <ebiederm@xmission.com>2003-06-19 15:14:52 +0000
committerEric Biederman <ebiederm@xmission.com>2003-06-19 15:14:52 +0000
commitf7a0ba84dcddf08cdd6a4431c899ae1ee0ed986c (patch)
tree534aa45bab630b970d02f2f7f514dc3acc9d9683 /util/romcc/tests/simple_test36.c
parent9dbd46077615b14f28f6a6b398c392f608af68e1 (diff)
downloadcoreboot-f7a0ba84dcddf08cdd6a4431c899ae1ee0ed986c.tar.xz
- Update the romcc version.
- Add an additional consistency check to romcc and fix the more obvious problems it has uncovered With this update there are no known silent failures in romcc. - Update the memory initialization code to setup all 3 of the memory sizing registers properly - In auto.c test our dynamic maximum amount of ram. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@885 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/romcc/tests/simple_test36.c')
-rw-r--r--util/romcc/tests/simple_test36.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/util/romcc/tests/simple_test36.c b/util/romcc/tests/simple_test36.c
new file mode 100644
index 0000000000..9044bda7b9
--- /dev/null
+++ b/util/romcc/tests/simple_test36.c
@@ -0,0 +1,41 @@
+static void order_dimms(void)
+{
+ unsigned long tom;
+
+ tom = 0;
+ for(;;) {
+
+ unsigned csbase, csmask;
+ unsigned size;
+ unsigned index;
+ csbase = 0;
+
+ for(index = 0; index < 1; index++) {
+ csbase = __builtin_inl(0x40);
+ }
+ if (csbase == 0) {
+ break;
+ }
+
+
+ size = csbase;
+
+ csbase = (tom << 21);
+
+ tom += size;
+
+
+ csmask = size;
+ csmask |= 0xfe00;
+
+
+ __builtin_outl(csbase, 0xCFC);
+
+ __builtin_outl(0xc260, 0xCF8);
+ __builtin_outl(csmask, 0xCFC);
+ }
+
+ tom &= ~0xff000000;
+
+ __builtin_outl(tom, 0x1234);
+}