summaryrefslogtreecommitdiffstats
path: root/src/build/simics/standalone.simics
diff options
context:
space:
mode:
Diffstat (limited to 'src/build/simics/standalone.simics')
-rwxr-xr-xsrc/build/simics/standalone.simics78
1 files changed, 48 insertions, 30 deletions
diff --git a/src/build/simics/standalone.simics b/src/build/simics/standalone.simics
index 76027b8b1..e9b177fae 100755
--- a/src/build/simics/standalone.simics
+++ b/src/build/simics/standalone.simics
@@ -2,7 +2,7 @@
# $hb_masterproc : name of master proc chip object
# $hb_pnor : name of pnor object associated with master proc
-($hb_masterproc).proc_fsi2host_mbox->responder_enable=1
+#($hb_masterproc).proc_fsi2host_mbox->responder_enable=1
# Default value is to preload VPD into PNOR image
if not defined hb_skip_vpd_preload {$hb_skip_vpd_preload = 0}
@@ -11,47 +11,57 @@ if not defined hb_skip_vpd_preload {$hb_skip_vpd_preload = 0}
if ($hb_skip_vpd_preload == 0) {
# Pass processor chip type. All proc chip types should be the same.
+ if (get-object-list proc_hb_standalone) {
+ $procChipType=(get-object-list proc_hb_standalone)[0]->chip_type
+ python "os.environ['HB_PROC_CHIP_TYPE'] = \""+$procChipType+"\""
+ }
if (get-object-list p9_proc) {
$procChipType=(get-object-list p9_proc)[0]->chip_type
python "os.environ['HB_PROC_CHIP_TYPE'] = \""+$procChipType+"\""
}
- try {
- echo "Preload VPD into PNOR"
- run-python-file (lookup-file hbfw/hb-pnor-vpd-preload.py)
+ try {
+ run-python-file (lookup-file hbfw/hb-pnor-vpd-preload.py)
# Must match pnor layout used (see eyecatch in layout)
echo "PNOR layout offset for VPD:"
# PNOR eyecatch MVPD
echo " - MVPD at 0x79000"
- ($hb_pnor).sfc_master_mem.load-file ./sysmvpd.dat.ecc 0x79000
+ ($hb_pnor).load-file ./sysmvpd.dat.ecc 0x79000
# PNOR eyecatch DJVPD
echo " - DJVPD at 0x31000"
- ($hb_pnor).sfc_master_mem.load-file ./sysspd.dat.ecc 0x31000
+ ($hb_pnor).load-file ./sysspd.dat.ecc 0x31000
# PNOR eyecatch CVPD
echo " - CVPD at 0x109000"
- ($hb_pnor).sfc_master_mem.load-file ./sysmemvpd.dat.ecc 0x109000
+ ($hb_pnor).load-file ./sysmemvpd.dat.ecc 0x109000
} except { echo "ERROR: Failed to preload VPD into PNOR." }
}
-# Loop through every processor chip
-foreach $cc in (get-object-list p9_proc) {
- echo $cc
-
- #Trigger a power on to cec-chip
- #echo "-Trigger power on"
- @mp="%s.proc_chip"%simenv.cc
- @SIM_get_interface(SIM_get_object(mp),"signal").signal_raise()
+# Turn on all processor cec-chips
+if ($hb_mode == 1) {
+ # Nimbus/Cumulus
+ foreach $cc in (get-object-list p9_proc) {
+ echo $cc
+ #Trigger a power on to cec-chip
+ echo "-Trigger power on"
+ @mp="%s.proc_chip"%simenv.cc
+ @SIM_get_interface(SIM_get_object(mp),"signal").signal_raise()
+ }
+} else {
+ # Axone and Beyond:
+ foreach $proc in (get-component-list -all proc_pib){
+ foreach $cc in (get-object-list component=$proc type=cec-chip -recursive) {
+ @SIM_get_interface(SIM_get_object(simenv.cc), "signal").signal_raise()
+ }
+ }
}
-#Power on cec-chip on centaurs if present
+#Power on cec-chip on memory controllers if present
foreach $cp in (get-object-list p9_centaur_cfam -recursive){
echo $cp
@cc="%s.membuf_chip"%simenv.cp
@ignore=SIM_get_interface(SIM_get_object(cc),"signal").signal_raise()
}
-system_cmp0.cpu0_0_00_0.enable
-
###################################
#Enable the IPMI Responder
###################################
@@ -60,15 +70,23 @@ try {
run-python-file (lookup-file hbfw/ipmi_bt_responder.py)
} except { echo "ERROR: Failed to load IPMIresponder." }
-###################################
-#Enable SBE
-###################################
-echo "Enable the SBE"
-# Set mailbox scratch registers so that the SBE starts in plck mode
-# Set Boot Freq valid bit (bit 3) and valid data bit (bit 7)
-($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003F "31000000_00000000" 64
-($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003A "00000000_00000000" 64
-# Set the Nest PLL Bucket ID to 5 in the 4th byte of Mbox Scratch Reg 4
-($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003B "00000005_00000000" 64
-($hb_masterproc).proc_chip.invoke parallel_store FSIMBOX 0x01 "80000000" 32
-($hb_masterproc).proc_chip.invoke parallel_store FSIMBOX 0x08 "00080000" 32
+#Cumulus/Nimbus
+if ($hb_mode == 1) {
+ # Setup fabric ID for master proc
+ ($hb_masterproc_cecchip).invoke parallel_store SCOM 0x1000008 "00000000_00000000" 64 #group=0, chip=0
+
+ ###################################
+ #Enable SBE
+ ###################################
+ echo "Enable the SBE"
+ # Set mailbox scratch registers so that the SBE starts in plck mode
+ # Set Boot Freq valid bit (bit 3) and valid data bit (bit 7)
+ ($hb_masterproc_cecchip).invoke parallel_store SCOM 0x5003F "31000000_00000000" 64
+ ($hb_masterproc_cecchip).invoke parallel_store SCOM 0x5003A "00000000_00000000" 64
+
+ # Set the Nest PLL Bucket ID to 5 in the 4th byte of Mbox Scratch Reg 4
+ ($hb_masterproc_cecchip).invoke parallel_store SCOM 0x5003B "00000005_00000000" 64
+ ($hb_masterproc_cecchip).invoke parallel_store FSIMBOX 0x01 "80000000" 32
+ ($hb_masterproc_cecchip).invoke parallel_store FSIMBOX 0x08 "00080000" 32
+}
+
OpenPOWER on IntegriCloud