From 1ba068550d70549580838ba675c8a6543c1d175d Mon Sep 17 00:00:00 2001 From: Andrey Petrov Date: Thu, 21 Apr 2016 14:59:12 -0700 Subject: [PATCH] soc/intel/apollolake: Avoid marking 0xe0000-0xfffff region usable coreboot writes RDSP at 0xf0000. Since depthcharge wipes usable memory regions before starting, kernel can't find RDSP. Change-Id: I584bd5d24248cf38f46342615cf3b0252a821b2a Signed-off-by: Andrey Petrov Reviewed-on: https://review.coreboot.org/14466 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/apollolake/northbridge.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/soc/intel/apollolake/northbridge.c b/src/soc/intel/apollolake/northbridge.c index 00e3501684..b3ae705b41 100644 --- a/src/soc/intel/apollolake/northbridge.c +++ b/src/soc/intel/apollolake/northbridge.c @@ -109,8 +109,12 @@ static int mc_add_dram_resources(device_t dev, int index) /* 0 - > 0xa0000: 640kb of DOS memory. Not enough for anybody nowadays */ ram_resource(dev, index++, 0, 640); - /* 0xc0000 -> top_of_ram, skipping the legacy VGA region */ - base_k = 768; + /* 0xa0000 - 0xbffff: legacy VGA */ + mmio_resource(dev, index++, 640, 128); + + /* 0xc0000 -> 0xfffff: leave without e820 entry, as it has special uses */ + /* 0x100000 -> top_of_ram */ + base_k = 1024; size_k = (tseg / KiB) - base_k; ram_resource(dev, index++, base_k, size_k); @@ -128,8 +132,6 @@ static int mc_add_dram_resources(device_t dev, int index) size_k = (touud / KiB) - base_k; ram_resource(dev, index++, base_k, size_k); - /* 0xa0000 - 0xbffff: legacy VGA */ - mmio_resource(dev, index++, 640, 128); return index; }