From bceaa257a38d62c91317cecc78f4dba46654eb93 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 12 Jun 2008 00:58:36 -0400 Subject: X86: Make the e820 table manually or automatically configurable from python. --- configs/common/FSConfig.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'configs') diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index 369d845c1..1c33b6b2a 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -168,9 +168,25 @@ def makeLinuxX86System(mem_mode, mdesc = None): # Physical memory self.membus = Bus(bus_id=1) - self.physmem = PhysicalMemory(range = AddrRange('4GB')) #range = AddrRange(mdesc.mem())) + self.physmem = PhysicalMemory(range = AddrRange(mdesc.mem())) self.physmem.port = self.membus.port + # We assume below that there's at least 1MB of memory. We'll require 2 + # just to avoid corner cases. + assert(self.physmem.range.second >= 0x200000) + + # Mark the first megabyte of memory as reserved + self.e820_table.entries.append(X86E820Entry( + addr = 0, + size = '1MB', + range_type = 2)) + + # Mark the rest as available + self.e820_table.entries.append(X86E820Entry( + addr = 0x100000, + size = '%dB' % (self.physmem.range.second - 0x100000 - 1), + range_type = 1)) + # North Bridge self.iobus = Bus(bus_id=0) self.bridge = Bridge(delay='50ns', nack_delay='4ns') -- cgit v1.2.3