memory epia-m 127M != 512M

Niki Waibel niki.waibel at newlogic.com
Wed Sep 24 07:51:01 CEST 2003


i use a 512MByte mem module in the epia-m 600mhz and linuxbios sayes:
===
totalram: 127M
===

i modified src/northbridge/via/vt8623/northbridge.c
===
diff -u -N -r freebios-20030924.old/src/northbridge/via/vt8623/northbridge.c freebios-20030924/src/northbridge/via/vt8623/north
bridg
e.c
--- freebios-20030924.old/src/northbridge/via/vt8623/northbridge.c      2003-06-29 18:23:58.000000000 +0200
+++ freebios-20030924/src/northbridge/via/vt8623/northbridge.c  2003-09-24 14:10:22.025680920 +0200
@@ -9,10 +9,14 @@
 {
        unsigned long totalmem;
        unsigned char bank, mem, prevmem;
+#if 0
        // fix me later -- there are two more banks at 0x56 and 0x57
        unsigned long firstbank = 0x5a, lastbank = 0x5d;
+#endif
+       unsigned long banks[] = { 0x56, 0x57, 0x5a, 0x5b, 0x5c, 0x5d };
+       const unsigned long nbanks = 6;
+       unsigned long i;
        u8 sma_status, sma_size, sma_size_bits;
-       u8 val;
 
         struct pci_dev *pcidev;
 
@@ -28,8 +32,9 @@
        else
                sma_size = 0x01 << sma_size_bits;
 
-       for(totalmem = mem = prevmem = 0, bank = firstbank; 
-           bank <= lastbank; bank++) {
+       totalmem = mem = prevmem = 0;
+       for(i=0; i<nbanks; i++) {
+               bank = banks[i];
                pci_read_config_byte(pcidev, bank, &mem);
                // sanity check. If the mem value is < prevmem, 
                // that is an error, so skip this step. 
@@ -41,7 +46,7 @@
                        totalmem += (mem - prevmem) * 16;
                prevmem = mem;
        }
-
+
        totalmem -= sma_size;
        totalmem *= 1024;
 #if 0
===

but that did not help.

this is no urgent problem, because 128M is enough for the system i want
to build. but it could be a problem for other people.

niki



More information about the coreboot mailing list