diff options
author | Stephen Cprek <smcprek@us.ibm.com> | 2013-12-19 13:45:54 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-01-23 19:54:30 -0600 |
commit | 9213a3baac1a8f9553186cb40ca9331ea03e7943 (patch) | |
tree | b800502c5232eedab9812543032609c47a2ab67e /src/build/simics | |
parent | ecabb8e65edb603208ec3eaae579684286175a3b (diff) | |
download | blackbird-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-x | src/build/simics/hb-pnor-vpd-preload.pl | 14 | ||||
-rwxr-xr-x | src/build/simics/standalone.simics | 20 |
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 } |