diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/build/debug/Hostboot/Dump.pm | 12 | ||||
-rwxr-xr-x | src/build/debug/fsp-memdump.sh | 20 | ||||
-rw-r--r-- | src/build/debug/simics-debug-framework.py | 4 | ||||
-rw-r--r-- | src/include/kernel/basesegment.H | 6 | ||||
-rw-r--r-- | src/include/kernel/memstate.H | 4 | ||||
-rw-r--r-- | src/include/kernel/vmmmgr.H | 2 | ||||
-rw-r--r-- | src/include/usr/vmmconst.h | 18 | ||||
-rw-r--r-- | src/kernel/basesegment.C | 12 | ||||
-rw-r--r-- | src/kernel/syscall.C | 2 | ||||
-rw-r--r-- | src/lib/syscall_mm.C | 4 | ||||
-rw-r--r-- | src/usr/isteps/istep14/call_proc_exit_cache_contained.C | 6 |
11 files changed, 53 insertions, 37 deletions
diff --git a/src/build/debug/Hostboot/Dump.pm b/src/build/debug/Hostboot/Dump.pm index e7c1c78de..cf1b684a7 100755 --- a/src/build/debug/Hostboot/Dump.pm +++ b/src/build/debug/Hostboot/Dump.pm @@ -36,7 +36,7 @@ use constant MEMSTATE_NO_MEM => 0x0; use constant MEMSTATE_HALF_CACHE => 0x4; use constant MEMSTATE_REDUCED_CACHE => 0x8; use constant MEMSTATE_FULL_CACHE => 0xa; -use constant MEMSTATE_MS_32MEG => 0x20; +use constant MEMSTATE_MS_48MEG => 0x30; use constant _KB => 1024; use constant _MB => 1024 * 1024; @@ -71,9 +71,9 @@ our %memory_maps = ( [ 8 * _MB, 1 * _MB, 9 * _MB, 1 * _MB ], - MEMSTATE_MS_32MEG() => - # Add next 22MB after we expand to memory. - [ 10 * _MB, 22 * _MB + MEMSTATE_MS_48MEG() => + # Add next 38MB after we expand to memory. + [ 10 * _MB, 38 * _MB ] ); @@ -88,9 +88,9 @@ our %memory_states = ( MEMSTATE_FULL_CACHE() => [ MEMSTATE_NO_MEM, MEMSTATE_HALF_CACHE, MEMSTATE_REDUCED_CACHE, MEMSTATE_FULL_CACHE ], - MEMSTATE_MS_32MEG() => [ MEMSTATE_NO_MEM, + MEMSTATE_MS_48MEG() => [ MEMSTATE_NO_MEM, MEMSTATE_HALF_CACHE, MEMSTATE_REDUCED_CACHE, - MEMSTATE_FULL_CACHE, MEMSTATE_MS_32MEG ] + MEMSTATE_FULL_CACHE, MEMSTATE_MS_48MEG ] ); sub main diff --git a/src/build/debug/fsp-memdump.sh b/src/build/debug/fsp-memdump.sh index 49e57fa9a..89f48c015 100755 --- a/src/build/debug/fsp-memdump.sh +++ b/src/build/debug/fsp-memdump.sh @@ -85,7 +85,7 @@ discover() limit_memory() { case ${STATE} in - 20) + 30) STATE=08 ;; *) @@ -147,7 +147,7 @@ do dump 9437184 1048576 STATE=08 ;; - 20) + 30) dump 10485760 1048576 dump 11534336 1048576 dump 12582912 1048576 @@ -170,6 +170,22 @@ do dump 30408704 1048576 dump 31457280 1048576 dump 32505856 1048576 + dump 33554432 1048576 + dump 34603008 1048576 + dump 35651584 1048576 + dump 36700160 1048576 + dump 37748736 1048576 + dump 38797312 1048576 + dump 39845888 1048576 + dump 40894464 1048576 + dump 41943040 1048576 + dump 42991616 1048576 + dump 44040192 1048576 + dump 45088768 1048576 + dump 46137344 1048576 + dump 47185920 1048576 + dump 48234496 1048576 + dump 49283072 1048576 STATE=0A ;; discover) # Call discover function to determine state. diff --git a/src/build/debug/simics-debug-framework.py b/src/build/debug/simics-debug-framework.py index 26cc90176..1dc342adb 100644 --- a/src/build/debug/simics-debug-framework.py +++ b/src/build/debug/simics-debug-framework.py @@ -614,10 +614,10 @@ def magic_instruction_callback(user_arg, cpu, arg): # 0=base, 1=name, 4=size 5=mirrored target, 6=priority #print ">> %d:%s" % (entry[0], entry[1]) #check if base == hrmor, or if memory space encompasses the - #entire base memory which is: hrmor + 0x2000000 (32 MB) + #entire base memory which is: hrmor + 0x3000000 (48 MB) if ((entry[0] == hb_hrmor) or ((entry[0] < hb_hrmor) and - (entry[0] + entry[4] >= hb_hrmor + 0x2000000) or + (entry[0] + entry[4] >= hb_hrmor + 0x3000000) or (entry[0] == 134217728) or (entry[0] == 136314880))): #0x8000000 or 0x8200000 target = entry[5] diff --git a/src/include/kernel/basesegment.H b/src/include/kernel/basesegment.H index 7d5e5450a..7629473f0 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,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2017 */ /* [+] 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 32MEG of Mainstore. + * space up to 48MEG of Mainstore. */ 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 32MEG of Mainstore. + * space up to 48MEG of Mainstore. */ int _mmExtend(void); diff --git a/src/include/kernel/memstate.H b/src/include/kernel/memstate.H index 84acf3b4e..a01fdcc32 100644 --- a/src/include/kernel/memstate.H +++ b/src/include/kernel/memstate.H @@ -45,7 +45,7 @@ namespace KernelMemState - - 4 = Hostboot is using half a cache - - 8 = Hostboot is using reduced cache - - 10 = Hostboot is using the full cache - - - 32 = Hostboot is using 32 MB of mainstore*/ + - - 48 = Hostboot is using 48 MB of mainstore*/ enum MemLocation @@ -62,7 +62,7 @@ namespace KernelMemState HALF_CACHE = 0x00000004, REDUCED_CACHE = 0x00000008, FULL_CACHE = 0x0000000A, - MS_32MEG = 0x00000020, + MS_48MEG = 0x00000030, }; struct mem_location diff --git a/src/include/kernel/vmmmgr.H b/src/include/kernel/vmmmgr.H index 5cc370e69..11d8199e8 100644 --- a/src/include/kernel/vmmmgr.H +++ b/src/include/kernel/vmmmgr.H @@ -192,7 +192,7 @@ class VmmManager /** * @brief Allocates a block of virtual memory that extends the VMM - * space up to 32MEG of Mainstore. + * space up to 48MEG of Mainstore. */ static int mmExtend( void); diff --git a/src/include/usr/vmmconst.h b/src/include/usr/vmmconst.h index dc422a1f9..81c1b6a1a 100644 --- a/src/include/usr/vmmconst.h +++ b/src/include/usr/vmmconst.h @@ -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 (32*MEGABYTE) +#define VMM_MEMORY_SIZE (48*MEGABYTE) /** Base Segment Extended Memory Block Size */ #define VMM_EXTEND_BLOCK_SIZE (VMM_MEMORY_SIZE-VMM_BASE_BLOCK_SIZE) @@ -141,7 +141,7 @@ enum BlockPriority /** Hardwired offsets from HRMOR to HOMER images in real mem */ /** HOMER starts immediately after our HB memory */ -/** <n0p0 HRMOR = 128MB> + <memory size = 32MB> = 160MB */ +/** <n0p0 HRMOR = 128MB> + <memory size = 48MB> = 176 MB */ /** HOMER is 4 MB per proc, 8 procs = 32MB */ /** Each HOMER must start on a 4MB offset to meet OCC requirements */ #define VMM_HOMER_REGION_START_OFFSET (VMM_MEMORY_SIZE) @@ -151,18 +151,18 @@ enum BlockPriority #define VMM_HOMER_REGION_SIZE (VMM_HOMER_INSTANCE_SIZE*8) #define VMM_HOMER_REGION_END_OFFSET \ (VMM_HOMER_REGION_START_OFFSET + VMM_HOMER_REGION_SIZE) -/** HOMER_REGION_END = 192MB */ +/** HOMER_REGION_END = 208MB */ /** Physical Memory for OCC common space - 8MB total */ /** OCC Common must be on an 8MB offset */ -/** Start = End of Homer, currently 192MB */ +/** 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 \ (VMM_OCC_COMMON_SIZE_IN_MB*MEGABYTE) #define VMM_OCC_COMMON_END_OFFSET \ (VMM_OCC_COMMON_START_OFFSET + VMM_OCC_COMMON_SIZE) -/** End of Common Area = 200MB */ +/** End of Common Area = 216MB */ /** Total Memory required for HOMERs and OCC Common */ #define VMM_ALL_HOMER_OCC_MEMORY_SIZE \ @@ -171,17 +171,17 @@ enum BlockPriority /** Memory for attribute data */ #define VMM_ATTR_DATA_START_OFFSET VMM_OCC_COMMON_END_OFFSET #define VMM_ATTR_DATA_SIZE (1*MEGABYTE) -/** End of Attr Area = 201MB */ +/** 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 201MB */ + (VMM_ATTR_DATA_START_OFFSET + VMM_ATTR_DATA_SIZE) /* currently 217MB */ #define DUMP_TEST_MEMORY_SIZE (4*MEGABYTE) -/** End of Dump Source Table = 205MB */ +/** 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 205MB */ + (DUMP_TEST_MEMORY_ADDR + DUMP_TEST_MEMORY_SIZE) /* currently 221MB */ /** Variable Attribute overrides and Attributes memory here **/ diff --git a/src/kernel/basesegment.C b/src/kernel/basesegment.C index 90d61f1b2..2de6973e0 100644 --- a/src/kernel/basesegment.C +++ b/src/kernel/basesegment.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2016 */ +/* Contributors Listed Below - COPYRIGHT 2011,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -236,16 +236,16 @@ int BaseSegment::mmExtend(void) /** * Allocates a block of virtual memory of the given size - * to extend the VMM to 32MEG in size in mainstore + * to extend the VMM to 48MEG in size in mainstore */ int BaseSegment::_mmExtend(void) { // The base address of the extended memory is 8Mg.. The first x pages is - // for the SPTE.. The remaining pages from 8MG + SPTE to 32MEG is added to + // for the SPTE.. The remaining pages from 8MG + SPTE to 48MEG is added to // the HEAP.. uint64_t l_vaddr = VMM_ADDR_EXTEND_BLOCK; // 8MEG - uint64_t l_size = VMM_EXTEND_BLOCK_SIZE; // 32MEG - 8MB (base block) + uint64_t l_size = VMM_EXTEND_BLOCK_SIZE; // 48MEG - 8MB (base block) // Call to allocate a block passing in the requested address of where the // SPTEs should be created @@ -283,14 +283,14 @@ int BaseSegment::_mmExtend(void) PageManager::addMemory(l_vaddr + (spte_pages*PAGESIZE), l_size/PAGESIZE - spte_pages); - // Update the physical Memory size to now be 32MEG. by adding the extended + // Update the physical Memory size to now be 48MEG. by adding the extended // block size to the physical mem size. iv_physMemSize += VMM_EXTEND_BLOCK_SIZE; // Call to set the Hostboot MemSize and location needed for DUMP. KernelMemState::setMemScratchReg(KernelMemState::MEM_CONTAINED_MS, - KernelMemState::MS_32MEG); + KernelMemState::MS_48MEG); return 0; } diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C index bf92fe913..580b30d84 100644 --- a/src/kernel/syscall.C +++ b/src/kernel/syscall.C @@ -898,7 +898,7 @@ namespace Systemcalls * * Depending on the syscall parameter, we will either switch from 4MB * to a cache-contained mode (either full 10MB or reduced 8MB) or will - * expand into 32MB of space using real system memory. + * expand into 48MB of space using real system memory. * @param[in] t: The task used to extend Memory */ diff --git a/src/lib/syscall_mm.C b/src/lib/syscall_mm.C index f6aaa75de..102075e40 100644 --- a/src/lib/syscall_mm.C +++ b/src/lib/syscall_mm.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -95,7 +95,7 @@ uint64_t mm_virt_to_phys( void* i_vaddr ) } /** - * System call to extend Memory to 32Meg. + * System call to extend Memory to 48Meg. */ int mm_extend(MM_EXTEND_SIZE i_size) { diff --git a/src/usr/isteps/istep14/call_proc_exit_cache_contained.C b/src/usr/isteps/istep14/call_proc_exit_cache_contained.C index 60cb13285..abbc8fcdd 100644 --- a/src/usr/isteps/istep14/call_proc_exit_cache_contained.C +++ b/src/usr/isteps/istep14/call_proc_exit_cache_contained.C @@ -74,7 +74,7 @@ void* call_proc_exit_cache_contained (void *io_pArgs) // figure out what targets we need // customize any other inputs // set up loops to go through all targets (if parallel, spin off a task) - // extend the memory space from 8MEG to 32Meg + // extend the memory space from 8MEG to 48Meg //if mirrored then check that there is going to be memory at that location. //For sapphire with mirrored location flipped and at zero, @@ -360,7 +360,7 @@ void* call_proc_exit_cache_contained (void *io_pArgs) errlCommit( l_errl, HWPF_COMP_ID ); } - // Call the function to extend VMM to 32MEG + // Call the function to extend VMM to 48MEG int rc = mm_extend(); if (rc!=0) @@ -372,7 +372,7 @@ void* call_proc_exit_cache_contained (void *io_pArgs) * @userdata1 rc from mm_extend * @userdata2 <UNUSED> * - * @devdesc Failure extending memory to 32MEG after + * @devdesc Failure extending memory to 48MEG after * exiting cache contained mode. */ l_errl = new ERRORLOG::ErrlEntry |