[comp.unix.i386] How do you remap memory on a 386 ?

glenn@extro.ucc.su.oz (G. Geers) (10/04/89)

Hi,
	I've just bought a 386 machine with 1Mb RAM and intend to run UNIX on it. 
	One thing strikes me as odd -  only 640kb of memory is visible.
	I have turned off shadowing so it's not that problem.
	The machine has Phoenix bios and is highly configurable. 
	The question is: Can you map the 384kb between 640kb and 1024kb to start
	at an address above 1024kb ?

	ie on system start up you get:
	Base memory 640kb Extended memory 384kb

	BTW it is a C&T chipset based machine @ 20MHz.

				Thanks in advance
							Glenn

Glenn Geers
Dept. Theoretical Physics
The University of Sydney
Sydney 2006 Australia

glenn@extro.ucc.su.oz

tron1@tronsbox.UUCP (HIM) (10/07/89)

>	I've just bought a 386 machine with 1Mb RAM and intend to run UNIX on it. 
>	One thing strikes me as odd -  only 640kb of memory is visible.

Not Odd at all. 

*0386 (and in fact AT's) use the address space from 640-1MEG as the space
for various ROMS for VGA , HD CONTROLLERS and the like.

As far as I know , there is NO way to get it into useful space.

You might as well shadow and get the speed.

ALL the UNIX systems I have installed have this problem.

****************************************************************************
  So Lord, I'd think you more than wise, (and me much less a jerk) 
  if only once you might supply.....
                        SOME PENGUIN WINGS THAT WORK!"  Opus '83 - 89 R.I.P.

 UUCP: tron1@tronsbox.UUCP  BEST PATH ---> uunet!tronsbox!tron1 
      Sysop, The Penthouse ]I[ BBS - (201)759-8450 / (201)759-8568 
****************************************************************************

ilan343@violet.berkeley.edu (10/08/89)

In article <[252da3cc:205.1]comp.unix.i386;1@tronsbox.UUCP> tron1@tronsbox.UUCP (HIM) writes:
>>	I've just bought a 386 machine with 1Mb RAM and intend to run UNIX on it. 
>>	One thing strikes me as odd -  only 640kb of memory is visible.
>
>Not Odd at all. 
>
>*0386 (and in fact AT's) use the address space from 640-1MEG as the space
>for various ROMS for VGA , HD CONTROLLERS and the like.
>
>As far as I know , there is NO way to get it into useful space.
>
>You might as well shadow and get the speed.
>
>ALL the UNIX systems I have installed have this problem.
>
I thought that was the case for most 386 boxes. However, I just
installed 386/ix in a system built around a DTK 20MHz motherboard, with
5MB of RAM installed.

I dont't think I have a shadow RAM option. Upon booting-up, the DTK
BIOS test gives me

Base memory 640KB, Extended RAM 4480 KB (Total 5120 KB)
 I concluded  that the RAM between 640 and 1M is being remapped to
 Extended memory addresses.

 When UNIX boots-up, all of the memory seems to be there, it gives me
 5242880 bytes total.


What is happening with other motherboards. Do you have an option of
disabling shadow ram and remapping the memory above 640K?

bt455s39@uhccux.uhcc.hawaii.edu (Carmen Hardina) (10/08/89)

In article <[252da3cc:205.1]comp.unix.i386;1@tronsbox.UUCP> tron1@tronsbox.UUCP (HIM) writes:
>>	I've just bought a 386 machine with 1Mb RAM and intend to run UNIX on it. 
>>	One thing strikes me as odd -  only 640kb of memory is visible.
[....]
>*0386 (and in fact AT's) use the address space from 640-1MEG as the space
>for various ROMS for VGA , HD CONTROLLERS and the like.
>As far as I know , there is NO way to get it into useful space.
>You might as well shadow and get the speed.
>ALL the UNIX systems I have installed have this problem.
[....]

I am running an Everex 3000A under SCO XENIX 386 SVR2.  What I did to
avoid this problem was set the DIP switches on the motherboard to
remap the first 1MB of memory to 512K main/512 extended.  This way,
the whole thing is usable memory under XENIX/UNIX.  If the memory is
configured as 640/0 or 640/384, that other 384K of memory is not usable
by the operating system.  That was my experience/resolution.

					--Carmen


P.S.  Sorry if the attribution lines are incorrect.
-- 
Carmen Hardina, Assistant System Administrator
INET: islenet!manapua!carmen@uhccux.uhcc.Hawaii.Edu
UUCP: {uunet,ucbvax,dcdwest}!ucsd!nosc!uhccux!islenet!manapua!carmen

pcg@aber-cs.UUCP (Piercarlo Grandi) (10/11/89)

In article <[252da3cc:205.1]comp.unix.i386;1@tronsbox.UUCP> tron1@tronsbox.UUCP (HIM) writes:
    
    *0386 (and in fact AT's) use the address space from 640-1MEG as the space
    for various ROMS for VGA , HD CONTROLLERS and the like.
    
    As far as I know , there is NO way to get it into useful space.

Not entirely true. Most of these machines actually remap the missing 384k to
high memory; you can disable shadowing, and the 384k will reappear at some
high address. With Unix 3.2 you can specify in /etc/default/boot which
regions of memory the kernel will look at at boot time to search for
physical memory; these regions need not be contiguous at all.

Most Unix 3.2 systems come with a selection of examples of this for various
types of machines. have a look at the /etc/default directory, and the
boot(1M) manual page, and the CPU manual for your machine to know how to
disable shadowing.

Some (very few) machines (e.g., I think, but not sure, Dell) don't remap the
384k into any really accessible part of the physical address space. Too
bad...
-- 
Piercarlo "Peter" Grandi           | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk

akcs.larry@nstar.UUCP (Larry Snyder) (10/16/89)

>I am running an Everex 3000A under SCO XENIX 386 SVR2.  What I did to
>avoid this problem was set the DIP switches on the motherboard to
>remap the first 1MB of memory to 512K main/512 extended.  This way,
>the whole thing is usable memory under XENIX/UNIX.  If the memory is
>configured as 640/0 or 640/384, that other 384K of memory is not usable

I wish I could do that.  I am running SCO 2.3.2 on my machine which
uses an AMI 25 mhz motherboard (non-cache) and I am not aware of anyway