summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/build/debug/Hostboot/PageMgr.pm12
-rwxr-xr-xsrc/build/debug/vpo-debug-framework.pl1
-rw-r--r--src/build/mkrules/dist.targets.mk2
-rw-r--r--src/build/simics/run_as_vpo.simics4
-rw-r--r--src/include/kernel/cpumgr.H4
-rw-r--r--src/include/kernel/pagemgr.H6
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,
};
OpenPOWER on IntegriCloud