RAM Mapping Script
Coleman Kane
cokane at cokane.org
Sun Mar 2 11:12:41 EST 2008
Jim Kuzdrall wrote:
> I have a Dell 2650 with one byte of bad RAM. Unfortunately, it is
> in low RAM which resides on the board. It is not practical to replace
> the memory chip.
>
> The kernel has a function, mmap(), which allows one to reserve
> 4,8,16,... bytes of memory at a specific physical address for a
> process. As I understand it, one reserves the bad memory for a
> do-nothing (or possibly not-loaded) process.
>
> Is there a command line equivalent of mmap() that can be put in one
> of the starting scripts? Or is there a better way to take the bytes
> out of service?
>
> The error occurs at address 64h. The memory test from the SuSE 9.3
> installation CD reports 5 memory errors at this location in 250 passes
> (90 hours of testing). The same testing program reports no errors on a
> Thinkpad T60 after 138 test passes through 5 times more RAM, so it does
> not appear to be imagining the defect.
>
> Jim Kuzdrall
>
This low memory byte is the location of your real-mode (16-bit mode)
Interrupt Vector for software interrupt routine 25 (19h). Note that
these are not necessarily related to the IRQ's that are assigned to
devices (this one in particular has nothing to do with an IRQ).
You can find out what the purpose of this routine is here:
http://www.ctyme.com/intr/rb-2270.htm
Contrary to popular belief, it is possible that this memory does get
accessed later on. For example, anything trying to use V86 mode, such as
your VBE / int 10h routines for VESA framebuffer access on the console
or in X.org will copy the first ~1MB of system RAM into a local space
for mapping to the V86 process space. Additionally, it looks like INT
19h *might* be called from real mode to reboot your system, depending
upon your systems BIOS. Yes, Linux can switch the machine back down to
16-bit real mode in a number of circumstances, one of these is at system
shutdown and reboot.
Is this actually causing you trouble while you're using the system? It
seems that this could cause errors on reboot, shutdown, suspend, or at
system boot-up, but otherwise it would be a harmless thing that you can
safely ignore. You don't have to worry about any kernel structures being
mapped to this area of system RAM.
Can you disable the on-board memory from Dell's BIOS ?
--
Coleman
More information about the gnhlug-discuss
mailing list