Date: Sun, 15 Dec 1996 13:47:16 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: eivind@dimaga.com (Eivind Eklund) Cc: tony@dell.com, hackers@freebsd.org Subject: Re: MAXMEM was: Re: 2.1.6 on Compaq Prosignia 500 (2.1.5 Message-ID: <199612152047.NAA23869@phaeton.artisoft.com> In-Reply-To: <3.0.32.19961215044615.00925dd0@dimaga.com> from "Eivind Eklund" at Dec 15, 96 04:46:16 am
next in thread | previous in thread | raw e-mail | index | archive | help
> The problem is that these BIOS calls are (to my knowledge; I'm no BIOS/PC > hardware guru) only are guaranteed available on EISA computers, and only > work from protected mode. To do this "properly" requires both a check to > see if the computer has an EISA bus (which is in no way guaranteed - EISA > seems to be dying), a switch to protected mode, and a fetch of the value. > Few operating systems seems to do this "correctly". As examples, both > Novell and SCO need this to be specified as an option. You forgot to mention that the EISA standard does not specify a mechanism for determining the per slot memory which the particular machine has, except from a real mode only BIOS call. The real soloution is to make VM86() work, and make the BIOS calls from protected mode by creating a VM, loading code, running the VM to make real mode BIOS calls, fetching out the results, and destroying the VM (unless you have a disk driver or something using it). Note that in order to do this, you have to read the CMOS values (up to 16M) to know a minimal amount of memory you have to work with. However the point remains valid: the place to fix this is in the kernel support for virtual machines, not in the boot blocks themselves. Consider: the PC is an inept design. Almost all other systems have standardized ROM interfaces for protected mode. Even PS/2 machines (ABIOS). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612152047.NAA23869>