Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 1998 12:17:11 -0400
From:      sbabkin@dcn.att.com
To:        k@numeri.campus.luth.se, freebsd-hackers@FreeBSD.ORG
Subject:   RE: Special memory board on ISA bus
Message-ID:  <C50B6FBA632FD111AF0F0000C0AD71EEFF8B66@dcn71.dcn.att.com>

next in thread | raw e-mail | index | archive | help
> -----Original Message-----
> From:	Johan Karlsson [SMTP:k@numeri.campus.luth.se]
> 
> I have a special memory board on the ISA bus that responds to
> addresses from 
> BOARD_BASE up to BOARD_BASE+BOARD_MASK. 
> 
Is it mapped in ISA hole under 1M or over it ?

> Now I need to make sure that the memory manager in FreeBSD does not
> use this 
> part of the memory address space. Is there an "easy" way to do this or
> do I 
> have to rewrite init386 in /usr/src/sys/i386/i386/machdep.c to ensure
> that it 
> will not use the board.
> 
There exists such a thing as 1M address hole at 15M address, configured
 in BIOS (some BIOSes also have ability to configure 2M hole at 14M).
The problem is that FreeBSD does not support it if you have over 16M 
of memory. You can add it to machdep.c,
to the memory size probe routine and add one more entry to the array
describing the physical memory. But there is a catch: the kernel is
loaded
over 1M, into the second contiguous piece of memory that is normally the
biggest. But if you have 15M hole and 32M of memory, the third piece
would be the biggest, and the VM initialization code is thinking that
the
kernel is in the biggest piece, not the second. That would be wrong and
need to be fixed.

> I also need to make sure that the cache is not used when I read/write
> to my 
> board. To do this one can use the MTRR:s (Memory Type Range
> Registers). 
> 
I guess, if you configure the memory hole in BIOS, it does all the
necessary
setups during bootstrapping and then you just use it in FreeBSD (and for
range 
640K-1M it's already preconfigured).

-Serge

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C50B6FBA632FD111AF0F0000C0AD71EEFF8B66>