summaryrefslogtreecommitdiffstats
path: root/src/build/simics
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2013-12-19 13:45:54 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-01-23 19:54:30 -0600
commit9213a3baac1a8f9553186cb40ca9331ea03e7943 (patch)
treeb800502c5232eedab9812543032609c47a2ab67e /src/build/simics
parentecabb8e65edb603208ec3eaae579684286175a3b (diff)
downloadblackbird-hostboot-9213a3baac1a8f9553186cb40ca9331ea03e7943.tar.gz
blackbird-hostboot-9213a3baac1a8f9553186cb40ca9331ea03e7943.zip
Applied final PNOR layout
Change-Id: Iec0bc0506c1f676ec8ebec821a19c3246c46838f RTC:65006 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7830 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build/simics')
-rwxr-xr-xsrc/build/simics/hb-pnor-vpd-preload.pl14
-rwxr-xr-xsrc/build/simics/standalone.simics20
2 files changed, 22 insertions, 12 deletions
diff --git a/src/build/simics/hb-pnor-vpd-preload.pl b/src/build/simics/hb-pnor-vpd-preload.pl
index e951492ef..77fca1868 100755
--- a/src/build/simics/hb-pnor-vpd-preload.pl
+++ b/src/build/simics/hb-pnor-vpd-preload.pl
@@ -6,7 +6,7 @@
#
# IBM CONFIDENTIAL
#
-# COPYRIGHT International Business Machines Corp. 2012,2013
+# COPYRIGHT International Business Machines Corp. 2012,2014
#
# p1
#
@@ -57,6 +57,7 @@ my $sysMVPD = "sysmvpd.dat";
my $sysCVPD = "syscvpd.dat";
my $sysSPD = "sysspd.dat";
+
my $MAX_CENT_PER_PROC = 8;
my $MAX_DIMMS_PER_CENT = 8;
my $MAX_MCS = 8;
@@ -247,6 +248,7 @@ sub createMVPDData
my $result;
my $sourceFile;
my $sysMVPDFile = "$outputPath/$sysMVPD";
+ my $sysMVPDFileECC = $sysMVPDFile . ".ecc";
if( -e $sysMVPDFile )
{
@@ -259,7 +261,7 @@ sub createMVPDData
# If this ever changes, building the MVPD data and SPD data will need to
# be combined to not duplicate the logic for determining which processors
# have which DIMMs.
-
+
# Create empty processor MVPD chunk.
$cmd = "echo \"00FFFF: 00\" \| xxd -r \> $emptyMVPD";
system( $cmd ) == 0 or die "Creating $emptyMVPD failed!";
@@ -288,6 +290,8 @@ sub createMVPDData
if( -e $sysMVPDFile )
{
system( "chmod 775 $sysMVPDFile" );
+ system( "ecc --inject $sysMVPDFile --output $sysMVPDFileECC --p8" );
+ system( "chmod 775 $sysMVPDFileECC" );
}
debugMsg( "MVPD Done." );
}
@@ -303,6 +307,7 @@ sub createCVPDData
my $result;
my $sourceFile;
my $sysCVPDFile = "$outputPath/$sysCVPD";
+ my $sysCVPDFileECC = $sysCVPDFile . ".ecc";
if( -e $sysCVPDFile )
{
@@ -349,6 +354,8 @@ sub createCVPDData
if( -e $sysCVPDFile )
{
system( "chmod 775 $sysCVPDFile" );
+ system( "ecc --inject $sysCVPDFile --output $sysCVPDFileECC --p8" );
+ system( "chmod 775 $sysCVPDFileECC" );
}
debugMsg( "CVPD Done." );
}
@@ -365,6 +372,7 @@ sub createSPDData
my $result;
my $sourceFile;
my $sysSPDFile = "$outputPath/$sysSPD";
+ my $sysSPDFileECC = $sysSPDFile . ".ecc";
if( -e $sysSPDFile )
{
@@ -409,6 +417,8 @@ sub createSPDData
if( -e $sysSPDFile )
{
system( "chmod 775 $sysSPDFile" );
+ system( "ecc --inject $sysSPDFile --output $sysSPDFileECC --p8" );
+ system( "chmod 775 $sysSPDFileECC" );
}
debugMsg( "SPD Done." );
}
diff --git a/src/build/simics/standalone.simics b/src/build/simics/standalone.simics
index cad7eb796..6831c5bc1 100755
--- a/src/build/simics/standalone.simics
+++ b/src/build/simics/standalone.simics
@@ -8,16 +8,16 @@
foreach $pnor in (get-object-list Lpc2SpiFpgaCmp) {
try {
run-python-file (lookup-file hbfw/hb-pnor-vpd-preload.py)
- ($pnor).sfc_master_mem.load-file ./sysmvpd.dat 0x3E0A000
- ($pnor).sfc_master_mem.load-file ./sysspd.dat 0x3DCA000
- ($pnor).sfc_master_mem.load-file ./syscvpd.dat 0x3E8A000
+ ($pnor).sfc_master_mem.load-file ./sysmvpd.dat.ecc 0x1C5000
+ ($pnor).sfc_master_mem.load-file ./sysspd.dat.ecc 0x17D000
+ ($pnor).sfc_master_mem.load-file ./syscvpd.dat.ecc 0x255000
} except { echo "ERROR: Failed to preload VPD into PNOR." }
}
-#Write the PNOR MMIO addr into Scratch 2, 0x283A
-#($hb_masterproc).proc_lbus_map.write 0x28e8 0xFFEF0000 #HB PNOR addr
+#Write the PNOR MMIO addr into Scratch 2, 0x283A
+#($hb_masterproc).proc_lbus_map.write 0x28e8 0xFFF78000 #HB PNOR addr
foreach $cc in (get-object-list p8_proc) {
- ($cc).proc_lbus_map.write 0x28e8 0xFFEF0000
+ ($cc).proc_lbus_map.write 0x28e8 0xFFF78000
}
# Loop through every processor chip
@@ -29,10 +29,10 @@ foreach $cc in (get-object-list p8_proc) {
@mp="%s.proc_chip"%simenv.cc
@SIM_get_interface(SIM_get_object(mp),"signal").signal_raise(SIM_get_object(mp))
- #Trigger the flush, load, and SBE start
+ #Trigger the flush, load, and SBE start
echo "-Trigger SBE"
($cc).proc_lbus_map.write 0x28E0 0x0000F3FF #NonFunc EX (only 4,5 is good)
- ($cc).proc_lbus_map.write 0x2848 0x00000FFF #GP3 0x2812 (flush)
+ ($cc).proc_lbus_map.write 0x2848 0x00000FFF #GP3 0x2812 (flush)
($cc).proc_lbus_map.write 0x2870 0xB0000000 #SBE Vital 0x281C (load)
($cc).proc_lbus_map.write 0x2870 0x90000000 #SBE Vital 0x281C (start)
}
@@ -49,7 +49,7 @@ foreach $pnor in (get-object-list Lpc2SpiFpgaCmp) {
($pnor).sfc_master->regs_ADRCBF = 0x0
($pnor).sfc_master->regs_ADRCMF = 0xF
- #Direct Access Cache Disable
+ #Direct Access Cache Disable
($pnor).sfc_master->regs_CONF = 0x00000002
#Small Erase op code
@@ -57,7 +57,7 @@ foreach $pnor in (get-object-list Lpc2SpiFpgaCmp) {
#Erase Size
($pnor).sfc_master->regs_CONF5 = 0x1000
- #Enable 4 byte address mode - must write via memory to trigger
+ #Enable 4 byte address mode - must write via memory to trigger
#model behavior
($pnor).fsi_local_lbus_map.write 0xC40 0x00006E00
}
OpenPOWER on IntegriCloud