i440bxemulation is missing the 640k-1024k mem hole. geodelx has the hole.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: LinuxBIOSv3-stuff/northbridge/intel/i440bxemulation/i440bx.c =================================================================== --- LinuxBIOSv3-stuff/northbridge/intel/i440bxemulation/i440bx.c (Revision 644) +++ LinuxBIOSv3-stuff/northbridge/intel/i440bxemulation/i440bx.c (Arbeitskopie) @@ -59,7 +59,10 @@ mc_dev = dev->link[0].children; if (mc_dev) { idx = 10; - ram_resource(dev, idx++, 0, tolmk); + /* 0 .. 640 KB */ + ram_resource(dev, idx++, 0, 640); + /* 1 MB .. (Systop - 1 MB) (in KB) */ + ram_resource(dev, idx++, 1024, tolmk - 1024); } phase4_assign_resources(&dev->link[0]); }
On Wed, Mar 19, 2008 at 7:39 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
i440bxemulation is missing the 640k-1024k mem hole. geodelx has the hole.
Right, but should it have the hole or not? I mean, is this a mainboard that can get away without it? I'd like to kill that memory hole.
thanks
ron
On Wed, Mar 19, 2008 at 09:38:59PM -0700, ron minnich wrote:
On Wed, Mar 19, 2008 at 7:39 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
i440bxemulation is missing the 640k-1024k mem hole. geodelx has the hole.
I'd like to kill that memory hole.
+1
On 20.03.2008 17:18, Peter Stuge wrote:
On Wed, Mar 19, 2008 at 09:38:59PM -0700, ron minnich wrote:
On Wed, Mar 19, 2008 at 7:39 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
i440bxemulation is missing the 640k-1024k mem hole. geodelx has the hole.
I'd like to kill that memory hole.
+1
What about the hole between 640k and 768k for VGA (0xA0000-0xAFFFF) and text mode (0xB8000-0xBFFFF)? Doesn't Qemu treat that area specially?
Regards, Carl-Daniel
Index: corebootv3-stuff2/northbridge/intel/i440bxemulation/i440bx.c =================================================================== --- corebootv3-stuff2/northbridge/intel/i440bxemulation/i440bx.c (Revision 794) +++ corebootv3-stuff2/northbridge/intel/i440bxemulation/i440bx.c (Arbeitskopie) @@ -61,8 +61,10 @@ mc_dev = dev->link[0].children; if (mc_dev) { idx = 10; -#warning FIXME: We have no memory hole between 640 and 768 kB - ram_resource(dev, idx++, 0, tolmk); + /* 0 .. 640 kB */ + ram_resource(dev, idx++, 0, 640); + /* 768 kB .. Systop (in KB) */ + ram_resource(dev, idx++, 768, tolmk - 768); } phase4_assign_resources(&dev->link[0]); }
On 22.08.2008 05:36, ron minnich wrote:
Acked-by: Ronald G. Minnich rminnich@gmail.com
Thanks, r802.
Regards, Carl-Daniel
ron minnich wrote:
On Wed, Mar 19, 2008 at 7:39 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
i440bxemulation is missing the 640k-1024k mem hole. geodelx has the hole.
Right, but should it have the hole or not? I mean, is this a mainboard that can get away without it? I'd like to kill that memory hole.
thanks
ron
The reason the hole is in Geode is because of the "legacy" memory descriptor setup (opposed to MTRRs as Intel and K8). It could be changed by setting r/w in the swisscheese descriptor or by removeing the swisscheese and extending the low memory descriptor.
coreboot doesn't do any legacy shadowing stuff, so the legacy area doesn't need to be saved or described. I don't know if the OS (linux) will take advantage of that or not. It may still skip the hole just to be safe or they might use the MTRRs the BIOS set.
Marc