diff options
-rwxr-xr-x | src/build/debug/Hostboot/PageMgr.pm | 12 | ||||
-rwxr-xr-x | src/build/debug/vpo-debug-framework.pl | 1 | ||||
-rw-r--r-- | src/build/mkrules/dist.targets.mk | 2 | ||||
-rw-r--r-- | src/build/simics/run_as_vpo.simics | 4 | ||||
-rw-r--r-- | src/include/kernel/cpumgr.H | 4 | ||||
-rw-r--r-- | src/include/kernel/pagemgr.H | 6 |
6 files changed, 22 insertions, 7 deletions
diff --git a/src/build/debug/Hostboot/PageMgr.pm b/src/build/debug/Hostboot/PageMgr.pm index cf6424199..d0d73f3d8 100755 --- a/src/build/debug/Hostboot/PageMgr.pm +++ b/src/build/debug/Hostboot/PageMgr.pm @@ -6,7 +6,9 @@ # # OpenPOWER HostBoot Project # -# COPYRIGHT International Business Machines Corp. 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2016 +# [+] International Business Machines Corp. +# # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,7 +32,7 @@ our @EXPORT_OK = ('main'); use constant PAGEMGR_INSTANCE_NAME => "Singleton<PageManager>::instance()::instance"; -use constant PAGEMGR_CORE_OFFSET => 3 * 8; +use constant PAGEMGR_CORE_OFFSET => 5 * 8; use constant PAGEMGR_PAGES_AVAIL_OFFSET => 0; use constant PAGEMGR_BUCKETS_OFFSET => 8; use constant PAGEMGR_NUMBER_OF_BUCKETS => 16; @@ -102,7 +104,8 @@ sub countItemsInStack return 0 if (0 == $stack); - return 1 + countItemsInStack(::read64($stack)); + #only read bottom 32 bits of ptr to handle AbaPtr + return 1 + countItemsInStack(::read32($stack + 4)); } sub showPagesInStack @@ -115,7 +118,8 @@ sub showPagesInStack ::userDisplay(sprintf "..mem=0x%.16X..0x%.16X : %d\n", $stack, $stack+4096*$bucketsize, $bucketsize ); - return 1 + showPagesInStack(::read64($stack),$bucketsize); + #only read bottom 32 bits of ptr to handle AbaPtr + return 1 + showPagesInStack(::read32($stack+4),$bucketsize); } sub helpInfo diff --git a/src/build/debug/vpo-debug-framework.pl b/src/build/debug/vpo-debug-framework.pl index 24aa306e3..cf6e2f9fa 100755 --- a/src/build/debug/vpo-debug-framework.pl +++ b/src/build/debug/vpo-debug-framework.pl @@ -460,7 +460,6 @@ sub stopInstructions print "--- stopInstructions: run $command\n"; } - die "ERROR: cannot stop instructions" if (system("$command") != 0); } # Start instructions diff --git a/src/build/mkrules/dist.targets.mk b/src/build/mkrules/dist.targets.mk index 15e16a396..dcceefa9c 100644 --- a/src/build/mkrules/dist.targets.mk +++ b/src/build/mkrules/dist.targets.mk @@ -97,7 +97,7 @@ COPY_RENAME_FILES = \ makefile:src/build/mkrules/hbfw/makefile:fsp\ img/makefile:src/build/mkrules/hbfw/img/makefile:fsp \ hbicore.bin:img/hbicore$(UNDERSCORE_TEST).bin:vpo \ - img/hostboot_bootloader.bin:img/hbibl.bin:fsp,openpower \ + img/hostboot_bootloader.bin:img/hbibl.bin:fsp,openpower,vpo \ img/hostboot.bin:img/hbicore$(UNDERSCORE_TEST).bin:fsp,openpower \ img/hostboot_extended.bin:img/hbicore$(UNDERSCORE_TEST)_extended.bin:fsp,openpower \ img/hostboot_runtime.bin:img/hbirt$(UNDERSCORE_TEST).bin:fsp,openpower \ diff --git a/src/build/simics/run_as_vpo.simics b/src/build/simics/run_as_vpo.simics index 4236ad453..ab872041d 100644 --- a/src/build/simics/run_as_vpo.simics +++ b/src/build/simics/run_as_vpo.simics @@ -1,3 +1,5 @@ +cec-power-off +cec-power-on system_cmp0.phys_mem.del-map p9Proc0.l3_cache_ram ($hb_cpu)->hrmor=0x00000000 p9Proc0.p9_mem_map.host_xscom_device_mm.write 0x050000000 0x0 @@ -6,3 +8,5 @@ p9Proc0.p9_mem_map.host_xscom_device_mm.write 0x050000020 0x1 system_cmp0.phys_mem.load-file ../obj/ppc/hbfw/img/fake6m.pnor 0x00400000 system_cmp0.phys_mem.load-file ../obj/ppc/hbfw/img/hostboot.bin 0x00000000 system_cmp0.phys_mem.del-map p9Proc0.lpcm +($hb_cpu).disable +($hb_cpu).enable diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H index 2c3449fa0..fc562521d 100644 --- a/src/include/kernel/cpumgr.H +++ b/src/include/kernel/cpumgr.H @@ -35,7 +35,11 @@ class CpuManager public: enum { +#ifdef CONFIG_P9_VPO_COMPILE // VPO has constrained mem env -> check sooner + CPU_PERIODIC_CHECK_MEMORY = 64, +#else CPU_PERIODIC_CHECK_MEMORY = 128, // Is this even needed anymore? +#endif CPU_PERIODIC_FLUSH_PAGETABLE = 256, CPU_PERIODIC_DEFRAG = 949, // TODO Any bigger not currently hit }; diff --git a/src/include/kernel/pagemgr.H b/src/include/kernel/pagemgr.H index 95bb2fb65..c842a9360 100644 --- a/src/include/kernel/pagemgr.H +++ b/src/include/kernel/pagemgr.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2010,2015 */ +/* Contributors Listed Below - COPYRIGHT 2010,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -185,7 +185,11 @@ class PageManager { KERNEL_HEAP_RESERVED_PAGES = 4, +#ifdef CONFIG_P9_VPO_COMPILE // VPO has constrained mem env -> higher threshold + LOWMEM_NORM_LIMIT = 32, +#else LOWMEM_NORM_LIMIT = 16, +#endif LOWMEM_CRIT_LIMIT = 5, }; |