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