summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2018-01-10 11:07:59 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-01-15 22:36:51 -0500
commit1e973575493db7b15d6cd36613034e3ea17ca900 (patch)
tree7b05bb79e0352879f33da0cfbf08c97d51b46af3 /src/include
parentf7a5547478eae53e6623164b8faacfaf6e721cb1 (diff)
downloadtalos-hostboot-1e973575493db7b15d6cd36613034e3ea17ca900.tar.gz
talos-hostboot-1e973575493db7b15d6cd36613034e3ea17ca900.zip
Expand Hostboot to 64MB
We hit out-of-memory errors while trying to boot a Opal system due to the large amount of memory used by the PM procedures and the pinning of memory in secure mode. Also did some other rearranging of the pinned memory sections to get some space back. Change-Id: I61f219d7f32871a39b236d963bae893a6ef0ce0e CQ: SW413191 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51724 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/kernel/basesegment.H6
-rw-r--r--src/include/kernel/memstate.H8
-rw-r--r--src/include/kernel/vmmmgr.H4
-rw-r--r--src/include/usr/vmmconst.h28
4 files changed, 24 insertions, 22 deletions
diff --git a/src/include/kernel/basesegment.H b/src/include/kernel/basesegment.H
index 7629473f0..7902d0e9f 100644
--- a/src/include/kernel/basesegment.H
+++ b/src/include/kernel/basesegment.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2017 */
+/* Contributors Listed Below - COPYRIGHT 2011,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -136,7 +136,7 @@ class BaseSegment : public Segment
/**
* @brief Allocates a block of virtual memory that extends the VMM
- * space up to 48MEG of Mainstore.
+ * into Mainstore (up to VMM_MEMORY_SIZE).
*/
static int mmExtend(void);
@@ -206,7 +206,7 @@ class BaseSegment : public Segment
/**
* @brief Allocates a block of virtual memory that extends the VMM
- * space up to 48MEG of Mainstore.
+ * into Mainstore (up to VMM_MEMORY_SIZE).
*/
int _mmExtend(void);
diff --git a/src/include/kernel/memstate.H b/src/include/kernel/memstate.H
index a01fdcc32..fb42ed31f 100644
--- a/src/include/kernel/memstate.H
+++ b/src/include/kernel/memstate.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2017 */
+/* Contributors Listed Below - COPYRIGHT 2013,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -29,6 +29,8 @@
#ifndef __KERNEL_MEMSTATE_H
#define __KERNEL_MEMSTATE_H
+#include <usr/vmmconst.h>
+
namespace KernelMemState
{
// hb_Mem_Location struct values are defined below.
@@ -45,7 +47,7 @@ namespace KernelMemState
- - 4 = Hostboot is using half a cache
- - 8 = Hostboot is using reduced cache
- - 10 = Hostboot is using the full cache
- - - 48 = Hostboot is using 48 MB of mainstore*/
+ - - XX = Hostboot is using XX MB of mainstore*/
enum MemLocation
@@ -62,7 +64,7 @@ namespace KernelMemState
HALF_CACHE = 0x00000004,
REDUCED_CACHE = 0x00000008,
FULL_CACHE = 0x0000000A,
- MS_48MEG = 0x00000030,
+ FULL_MEM = (VMM_MEMORY_SIZE/MEGABYTE),
};
struct mem_location
diff --git a/src/include/kernel/vmmmgr.H b/src/include/kernel/vmmmgr.H
index 11d8199e8..6f211a0eb 100644
--- a/src/include/kernel/vmmmgr.H
+++ b/src/include/kernel/vmmmgr.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2010,2017 */
+/* Contributors Listed Below - COPYRIGHT 2010,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -192,7 +192,7 @@ class VmmManager
/**
* @brief Allocates a block of virtual memory that extends the VMM
- * space up to 48MEG of Mainstore.
+ * snto Mainstore (up to VMM_MEMORY_SIZE).
*/
static int mmExtend( void);
diff --git a/src/include/usr/vmmconst.h b/src/include/usr/vmmconst.h
index 32be069d6..5da954974 100644
--- a/src/include/usr/vmmconst.h
+++ b/src/include/usr/vmmconst.h
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2017 */
+/* Contributors Listed Below - COPYRIGHT 2011,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -71,7 +71,7 @@
#define VMM_ADDR_EXTEND_BLOCK (VMM_ADDR_BASE_BLOCK + VMM_BASE_BLOCK_SIZE)
/** Maximize size of Base Segment Memory after expansion */
-#define VMM_MEMORY_SIZE (48*MEGABYTE)
+#define VMM_MEMORY_SIZE (64*MEGABYTE)
/** Base Segment Extended Memory Block Size */
#define VMM_EXTEND_BLOCK_SIZE (VMM_MEMORY_SIZE-VMM_BASE_BLOCK_SIZE)
@@ -141,13 +141,13 @@ enum BlockPriority
#define SLBE_b 12
/** Hostboot reserved memory */
-#define VMM_HRMOR_OFFSET 128*MEGABYTE
-#define VMM_HB_RSV_MEM_SIZE 256*MEGABYTE
+#define VMM_HRMOR_OFFSET (128*MEGABYTE)
+#define VMM_HB_RSV_MEM_SIZE (256*MEGABYTE)
/** Hardwired offsets from HRMOR to HOMER images in real mem */
/** HOMER starts immediately after our HB memory */
-/** <n0p0 HRMOR = 128MB> + <memory size = 48MB> = 176 MB */
-/** HOMER is 4 MB per proc, 8 procs = 32MB */
+/** <n0p0 HRMOR = 128MB> + <memory size = 64MB> = 192 MB */
+/** HOMER is 4 MB per proc, 4 procs = 16MB */
/** Each HOMER must start on a 4MB offset to meet OCC requirements */
#define VMM_HOMER_REGION_START_OFFSET (VMM_MEMORY_SIZE)
#define VMM_HOMER_INSTANCE_SIZE_IN_MB (4)
@@ -160,7 +160,6 @@ enum BlockPriority
/** Physical Memory for OCC common space - 8MB total */
/** OCC Common must be on an 8MB offset */
-/** Start = End of Homer, currently 208MB */
#define VMM_OCC_COMMON_START_OFFSET VMM_HOMER_REGION_END_OFFSET
#define VMM_OCC_COMMON_SIZE_IN_MB 8
#define VMM_OCC_COMMON_SIZE \
@@ -178,15 +177,9 @@ enum BlockPriority
#define VMM_ATTR_DATA_SIZE (1*MEGABYTE)
/** End of Attr Area = 217MB */
-/** Chunk of physical memory used for Dump Source Table */
-#define DUMP_TEST_MEMORY_ADDR \
- (VMM_ATTR_DATA_START_OFFSET + VMM_ATTR_DATA_SIZE) /* currently 217MB */
-#define DUMP_TEST_MEMORY_SIZE (4*MEGABYTE)
-/** End of Dump Source Table = 221MB */
-
/** Memory for hostboot data Table of Contents */
#define VMM_HB_DATA_TOC_START_OFFSET \
- (DUMP_TEST_MEMORY_ADDR + DUMP_TEST_MEMORY_SIZE) /* currently 221MB */
+ (VMM_ATTR_DATA_START_OFFSET + VMM_ATTR_DATA_SIZE) /* currently 217MB */
/** Variable Attribute overrides and Attributes memory here **/
@@ -218,6 +211,13 @@ enum BlockPriority
/** Block size used in remove pages test */
#define VMM_SIZE_RMVPAGE_TEST (8 * PAGESIZE)
+/** Chunk of physical memory used for Dump Source Table */
+#define DUMP_TEST_MEMORY_ADDR (256*MEGABYTE)
+#define DUMP_TEST_MEMORY_SIZE (4*MEGABYTE)
+/** End of Dump Test Area = 260MB */
+
+
+
/**
* Physical Memory Constants
*/
OpenPOWER on IntegriCloud