Hi, > Thus spake Mitsuru IWASAKI <[EMAIL PROTECTED]>: > > OK, it seems to be difficult to determine the region for any BIOSes. > > I've decided to introduce a new loader tunable to indicate that BIOS > > has broken int 12H. Attached patch back out 1.385.2.26 changes to > > support older BIOSes, and add support for broken int 12 BIOSes by > > new loader tunable. > > I don't think this is the best solution, but it is probably good for > > all people for now. > > I'll make the equivalent patches for CURRENT and commit them, > > then MFC soon. > > Sorry for inconvenience, folks. > > This approach is okay with me in the sense that it doesn't break > anything that wasn't already broken, but as you say, I think we > can do better. Below is a patch that merely extracts the basemem > size from the bootinfo structure for the purposes of mapping the > EBDA. I retained the int 12h fallback just to be safe, but I > think the bootinfo structure is initialized with a valid basemem > for all loaders since at least 1998. (Maybe the fallbacks in the > kernel should be removed entirely to avoid redundancy, or moved > from loader and boot2 to locore.s.)
Yes, this idea was in my first patch actually, and this was not good solution as Bruce explained. Please see the archive at: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=94412+0+archive/2002/freebsd-current/20021006.freebsd-current I think that this is not so easy problem, we need to re-design memory size detection code carefully considering PAE support in future. This will take time, so the patch I committed into CURRENT last night is reasonable for the time being, I think. Thanks To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message