summaryrefslogtreecommitdiffstats
path: root/src/build/hwpf
diff options
context:
space:
mode:
authorBrian Horton <brianh@linux.ibm.com>2013-04-26 09:37:50 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-06-03 10:54:53 -0500
commit33aa2dc320ff145e2721471a4494576aa76b8c31 (patch)
tree2839369f739fc61869b4bae39e085d94d681d654 /src/build/hwpf
parent0ebe4ca63f33947c25960e4dd79f48dc170fe5e4 (diff)
downloadtalos-hostboot-33aa2dc320ff145e2721471a4494576aa76b8c31.tar.gz
talos-hostboot-33aa2dc320ff145e2721471a4494576aa76b8c31.zip
improvements and corrections to prcd_compile tool
. reset values for each new connection (keepsandbox and fulldirectory) so that previous builds don't affect future builds . remove hb hack . return linker error back to user ('exception caught') . remove unused variables . add BUILD_MINIMAL flag for faster/smaller builds . add '-O' option to prcd_compile to not retrive output (useful if tool is only used to detect compile errors) Change-Id: I7b16b04f2ddd27c70759a26e1d82d7df2037f2b9 RTC: 70455 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4680 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build/hwpf')
-rwxr-xr-xsrc/build/hwpf/prcd_compile.tcl26
-rwxr-xr-xsrc/build/hwpf/prcd_server.tcl26
2 files changed, 27 insertions, 25 deletions
diff --git a/src/build/hwpf/prcd_compile.tcl b/src/build/hwpf/prcd_compile.tcl
index 0815ea46b..a53972972 100755
--- a/src/build/hwpf/prcd_compile.tcl
+++ b/src/build/hwpf/prcd_compile.tcl
@@ -261,9 +261,7 @@ proc start_patch_server_on_fsp { fspip fsppassword } {
# MAIN
# ------------------------
set userid $::env(USER)
-set home $::env(HOME)
-set domain [exec hostname -d]
-set version "1.4"
+set version "1.5"
set files [list]
set directories [list]
@@ -289,7 +287,8 @@ foreach arg $argv {
-o { set state outputflag }
-n { set newfiles 1 }
-k { set keepsandbox 1 }
- -*h* { puts {prcd_compile.tcl [--help] [-f <fipslevel> | -d <drivername>] [-o <ouput dir> ] [-n] [ <filename> | -D <directory] }
+ -O { set noretrieve 1 }
+ -*h* { puts {prcd_compile.tcl [--help] [-f <fipslevel> | -d <drivername>] [-o <ouput dir> | -O ] [-n] [ <filename> | -D <directory>] }
puts {}
puts {For existing files, this only supports *.{c,C,h,H,initfile,xml} files in the following hostboot directory trees: }
puts { src/usr/hwpf/hwp }
@@ -297,16 +296,12 @@ foreach arg $argv {
puts {}
puts {The files can either be in the local current working directory, or in a local sub-directory mirroring the hostboot tree. }
puts {}
- puts {examples }
- puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output fapiTestHwp.C fapiTestHwp.C sample.initfile}
- puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output/ proc_cen_framelock.C }
- puts {> prcd_compile.tcl -f b0211a_1307.810 -o output dmi_training/proc_cen_framelock/proc_cen_framelock.H }
- puts {}
puts {Without the -n parameter, the file MUST be an existing files in the hostboot sandbox.}
puts {If they are not found in the sandbox, an error will be returned.}
puts {}
- puts {On success, files from the img/ directory (*.bin *.syms and hbotStringFile) }
- puts {will be placed in the output directory. }
+ puts {if -O is not specified, on success, image and pnor files will be placed in the output directory. }
+ puts {The -o parameter is optional. The default is the current working directory. }
+ puts {If instead the -O parameter is specified, no image or pnor files are returned. }
puts {}
puts {With the -n parameter, the files are assumed to be for a NEW HWP and will be checked to see}
puts {if they compile - no binary image files will be returned.}
@@ -321,6 +316,11 @@ foreach arg $argv {
puts {The -d and -o parameters are optional. Default for -d is the master level of code }
puts {and default for -o is the current working directory }
puts {}
+ puts {examples }
+ puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output fapiTestHwp.C fapiTestHwp.C sample.initfile}
+ puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output/ proc_cen_framelock.C }
+ puts {> prcd_compile.tcl -f b0211a_1307.810 -o output dmi_training/proc_cen_framelock/proc_cen_framelock.H }
+ puts {}
puts "Version: $version"
puts {}
exit
@@ -475,7 +475,9 @@ if {[info exists newfiles]} {
# Generate compile, retrieve, and complete directives
##########################################################
lappend cmds ":HWP_COMPILE"
- lappend cmds ":HWP_RETRIEVE"
+ if { ![info exists noretrieve] } {
+ lappend cmds ":HWP_RETRIEVE"
+ }
lappend cmds ":HWP_DONE"
}
diff --git a/src/build/hwpf/prcd_server.tcl b/src/build/hwpf/prcd_server.tcl
index 84aa371b0..a86414608 100755
--- a/src/build/hwpf/prcd_server.tcl
+++ b/src/build/hwpf/prcd_server.tcl
@@ -29,7 +29,8 @@ exec tclsh "$0" "$@"
# Based on if_server.tcl by Doug Gilbert
-set version "1.4"
+set PNOR_version "1.4"
+set version "1.5"
############################################################################
# Accept is called when a new client request comes in
@@ -39,6 +40,12 @@ set version "1.4"
proc Accept { sock addr port} {
global socklist
global log
+ global keepsandbox
+ global fulldirectory
+
+ # reset some per-connection variables that don't always get sent
+ set keepsandbox 0
+ set fulldirectory 0
puts "[clock format [clock seconds]]: Accept $sock from $addr port $port"
puts $log "$port: [clock format [clock seconds]]: Accept $sock from $addr port $port"
@@ -530,14 +537,7 @@ proc SendSandbox { sock git_sh} {
puts $git_sh "echo $fips_dir > src/build/citest/etc/bbuild;"
}
- puts $git_sh "source env.bash;\
- make -j4;"
-
- # hack for now. need to point to 'current' version of hb, not built, since
- # older versions doesn't support the new fipssetup command.
- # when this is ready merge, i'll copy the corrected 'hb' into the hostboot
- # projects directory.
- puts $git_sh "rm -f hb;ln -s /gsa/ausgsa/home/h/o/hortonb/hb2/src/build/tools/hb;"
+ puts $git_sh "source env.bash; BUILD_MINIMAL=1 make -j4;"
puts $git_sh "export SANDBOXROOT=`pwd`; export SANDBOXNAME=prcd_fsp;\
echo \"./hb fipssetup && ./hb prime\" > hbdo; chmod +x hbdo;\
@@ -601,7 +601,7 @@ proc SendSandboxNew { sock git_sh} {
# Start Compile
##################################################################
set newdir src/usr/hwpf/hwp/mss_new
- puts $git_sh "source env.bash; make -j4; make -C $newdir"
+ puts $git_sh "source env.bash; BUILD_MINIMAL=1 make -j4; make -C $newdir"
##################################################################
# tell the workon shell to terminate
@@ -652,7 +652,7 @@ proc SendSandboxNew { sock git_sh} {
# client. Note: Everything from stderr gets returned
##################################################################
-set explist [list {^make.*Error.*} {ERROR:.*} {error:.*} {^IfScrub..E>.*} {^Parse Error.*} {^Error.*} ]
+set explist [list {^make.*Error.*} {ERROR:.*} {error:.*} {^IfScrub..E>.*} {^Parse Error.*} {^Error.*} {^exception caught.*} ]
##################################################################
## This event catches the output of the sandbox when the pipe become readable
@@ -740,7 +740,7 @@ proc SendObjFiles { sock obj_dir } {
##################################################################
proc SendPnorFiles { sock obj_dir } {
global log
- global version
+ global PNOR_version
global client_version
set pnor_files {}
@@ -750,7 +750,7 @@ proc SendPnorFiles { sock obj_dir } {
puts $sock "ERROR: Needed image files not found in $obj_dir"
puts $log "$sock: Needed image files not found in $obj_dir"
} else {
- if { $client_version < $version } {
+ if { $client_version < $PNOR_version } {
# client can't handle PNOR_FILE type, so just send the files
# back and they'll get put into the <outputdir>
SendFiles "OBJ_FILE" $sock $pnor_files
OpenPOWER on IntegriCloud