From: Simon Marlow (simonm@dcs.glasgow.ac.uk)
Date: 03/09/92


From: simonm@dcs.glasgow.ac.uk (Simon Marlow)
Subject: Re: Rebooting - an observation
Date: 9 Mar 1992 19:22:30 GMT

r36110m@kaira.hut.fi (Mika Matti Jalava) writes:

>In article <1992Mar8.071926.25302@colorado.edu> drew@cs.colorado.edu (Drew Eckhardt) writes:

>>Linux reads memory size from CMOS. Disabling shadowing will increase
>>the apparant RAM size to CMOS, Linux sees it when it boots, and will
>>use it when it needs it.

>At least my machine doesn't give the shadow RAM for other purposes.
>The free memory (extended in setup) doesn't change if I disable
>shadowing. This may be different in more advanced computers (mine is a
>built on a cheap clone motherboard). I suppose the shadow RAM is
>always mapped between 640k and 1M. QEMM and similar programs can use
>it, but it can't be used as normal extended memory.

>So, is there any way to use this kind of memory for linux? As buffer
>cache or something like that? Would it be too big an effort for the
>comparatively small memory area to be used?

> Mika

Yes, I've managed to do this, in fact it was the first hack I applied
to the source code. On my machine (which is based on the NEAT chip
set) you can map RAM into various parts of memory between the 640k &
1M boundaries. I used the memory from 0xd0000 to 0xeffff (128K). The
change to the kernel is in the function buffer_init in buffers.c , and
its quite simple to see how to change the code to include the extra
memory when allocating buffers for the cache. (Sorry I don't have a
patch right now, but mail me if you have problems).

Cheers,
        Simon.