[OLPC-devel] 2316 revisions

Tom Sylla tom.sylla at amd.com
Fri Jun 16 15:28:11 EDT 2006


Christopher Blizzard wrote:
> I never did poke around to try and find the right memory amount.  I 
> think the Insyde BIOS was set up to reserve 8MB for the video ram, plus 
> some odds and ends that were used for other resources.  128MB didn't 
> work, but 96MB did.  I never did a binary search to find the right number.

I've been a little confused about why anyone ever used a mem= parameter 
on the Insyde BIOS. The e820 map is correct. I see this from the Insyde 
BIOS:

BIOS-provided physical RAM map:
  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
  BIOS-e820: 0000000000100000 - 00000000073b0000 (usable)
  BIOS-e820: 00000000073b0000 - 00000000073bffc0 (ACPI data)
  BIOS-e820: 00000000073bffc0 - 00000000073c0000 (ACPI NVS)
  BIOS-e820: 0000000040400000 - 0000000040440004 (reserved)
  BIOS-e820: 00000000f0000000 - 0000000100000000 (reserved)
115MB LOWMEM available.
-----

128MB is 0x8000000. 0x8000000 minus 0x73c0000 is 0xc40000 or exactly 
12MB+256KB. The 12MB is from the framebuffer, and the 256KB is from VSA 
(SMM code). ACPI takes another 64K off of the top for its data and NVS 
(0x73b0000-0x73c0000). The usable region of 0x100000-0x73b0000 is 
exactly right. This memory map looks perfect to me (except maybe the 
size of the 4040 region, but that doesn't really matter).

Our BIOS will keep the map correct, too, if you change the frame buffer 
size in setup, the e820 map will adjust accordingly. If you find that is 
ever not the case, it should be reported to Insyde, they would like to 
know (and so would we, since Insyde BIOS is a derivative of our internal 
BIOS)

I think the net result is that no one should need a mem= on the Insyde 
BIOS. If you find that you do, please report it so it can be fixed.

For *LinuxBIOS*, I would make sure its reporting of the memory map is 
proper, instead of fixing it up with the mem= parameter. I would expect 
the LinuxBIOS map to be much simpler, since it may not have ACPI, and 
may not even need to reserve the BIOS shadow regions.

Tom




More information about the Devel mailing list