<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-hostboot/src/build/linker, branch 07-25-2019</title>
<subtitle>Talos™ II hostboot sources</subtitle>
<id>https://git.raptorcs.com/git/talos-hostboot/atom?h=07-25-2019</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-hostboot/atom?h=07-25-2019'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/'/>
<updated>2019-10-29T11:50:34+00:00</updated>
<entry>
<title>Fix linker Object init</title>
<updated>2019-10-29T11:50:34+00:00</updated>
<author>
<name>Corey Swenson</name>
<email>cswenson@us.ibm.com</email>
</author>
<published>2019-10-28T02:28:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=f41f71705385741c2b3e63412796e741ef44c55a'/>
<id>urn:sha1:f41f71705385741c2b3e63412796e741ef44c55a</id>
<content type='text'>
Builds on Ubuntu are failing with hbibl.bin size error.
Traced back to linker struct Object constructor missing
the init of sfpr section.

Change-Id: I9ad7ab90f02d403dc0237831736cc615e73738e6
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86066
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Nicholas E Bofferding &lt;bofferdn@us.ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Zachary Clark &lt;zach@ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: William G Hoffa &lt;wghoffa@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Compile Hostboot with -Os</title>
<updated>2019-10-03T15:55:14+00:00</updated>
<author>
<name>Dean Sanner</name>
<email>dsanner@us.ibm.com</email>
</author>
<published>2019-06-17T12:14:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=c4e7bcba07ccefc7f8094172def49a7e2a2cedcc'/>
<id>urn:sha1:c4e7bcba07ccefc7f8094172def49a7e2a2cedcc</id>
<content type='text'>
Hostboot currently spends a significant percentage of
time loading data from PNOR across a relatively slow LPC
bus.  This commit enables compilation of Hostboot with
-Os, optimized for space to reduce the amount of data required
to be transferred across the LPC bus

Rough measurements show a ~30% size reduction of the hostboot
image and a ~10% reduction (improvement) in boot time

Change-Id: Ib73863019595a24cc7d10e924bc5c92cd64af1ed
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84436
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: William G Hoffa &lt;wghoffa@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Revert "Compile Hostboot with -Os"</title>
<updated>2019-08-08T21:43:33+00:00</updated>
<author>
<name>Daniel M Crowell</name>
<email>dcrowell@us.ibm.com</email>
</author>
<published>2019-08-04T19:29:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=4a6e203860f5b8cfeb7de3740b06f9bbaf2d5f1e'/>
<id>urn:sha1:4a6e203860f5b8cfeb7de3740b06f9bbaf2d5f1e</id>
<content type='text'>
This reverts commit cd1e5c91e4a15ca933c699553ece9b841825ac03.
The previous change seems to be causing problems with
thread local storage (TLS) access.

CQ: SW471547
Change-Id: Ic6f43fbba2a3d5abe94ea73e8e5fd03702b84365
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81652
Reviewed-by: Daniel M Crowell &lt;dcrowell@us.ibm.com&gt;
Tested-by: Daniel M Crowell &lt;dcrowell@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Compile Hostboot with -Os</title>
<updated>2019-07-25T18:59:23+00:00</updated>
<author>
<name>Dean Sanner</name>
<email>dsanner@us.ibm.com</email>
</author>
<published>2019-06-17T12:14:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=cd1e5c91e4a15ca933c699553ece9b841825ac03'/>
<id>urn:sha1:cd1e5c91e4a15ca933c699553ece9b841825ac03</id>
<content type='text'>
Hostboot currently spends a significant percentage of
time loading data from PNOR across a relatively slow LPC
bus.  This commit enables compilation of Hostboot with
-Os, optimized for space to reduce the amount of data required
to be transferred across the LPC bus

Rough measurements show a ~30% size reduction of the hostboot
image and a ~10% reduction (improvement) in boot time

Change-Id: Ib140e6f07b112ae95a901f49b75416ef91c94a9d
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79059
Reviewed-by: Nicholas E Bofferding &lt;bofferdn@us.ibm.com&gt;
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Zachary Clark &lt;zach@ibm.com&gt;
Reviewed-by: Michael Baiocchi &lt;mbaiocch@us.ibm.com&gt;
Reviewed-by: William G Hoffa &lt;wghoffa@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Cache objdump output for build performance</title>
<updated>2019-07-18T21:01:54+00:00</updated>
<author>
<name>Zach Clark</name>
<email>zach@ibm.com</email>
</author>
<published>2019-07-08T20:42:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=5091387d6c7862585b00d813208dc3ef020b3083'/>
<id>urn:sha1:5091387d6c7862585b00d813208dc3ef020b3083</id>
<content type='text'>
Hostboot uses the objdump tool to disassemble modules and the genlist
program to create the listing files (*.list.bz2) for each binary blob
generated by the build process (hbibl, hbicore, etc). The hundreds of
objdump invocations account for a majority of the build time when
recompiling hostboot after a small number of files have been changed
because all the shared objects for a binary must be dumped again
regardless of whether they have been modified.

This commit causes the genlist program and the makefiles to cache the
(compressed) disassembly when the BUILD_FAST flag is set so that only
modified ELF files need to be redumped. Also several binaries include
the same modules, which means that a given module may be dumped
multiple times needlessly.

Benchmarks for recompilation after modifying small numbers of files
show at least a 5x speedup as compared with the original build system.

Using BUILD_FAST comes with a cost of about 35 MB of disk space. When
compiling all of hostboot (i.e. all libraries must be dumped), using
BUILD_FAST is not slower than a vanilla build. The cached objdump
output is stored in the img/objdump/ folder.

Example:

make BUILD_FAST=1 -j32

Change-Id: I65be7b29cec953950bfa664a5ee04e3a711007b5
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80115
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Luis P Fernandez &lt;luis.fernandez@ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Nicholas E Bofferding &lt;bofferdn@us.ibm.com&gt;
Reviewed-by: Daniel M Crowell &lt;dcrowell@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Developer Improvement: Get code coverage tool working with Hostboot</title>
<updated>2019-05-13T14:10:45+00:00</updated>
<author>
<name>Zach Clark</name>
<email>zach@ibm.com</email>
</author>
<published>2019-05-01T16:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=6a2bedba84d0cc0b4a8837341e516a491218b729'/>
<id>urn:sha1:6a2bedba84d0cc0b4a8837341e516a491218b729</id>
<content type='text'>
This commit fixes GCOV code coverage for P9 with GCC 4.9.2

Change-Id: Ie1e7c35f67414531dbd6e7a771ac1529a9ebd59d
RTC: 208351
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76812
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Nicholas E. Bofferding &lt;bofferdn@us.ibm.com&gt;
Reviewed-by: Ilya Smirnov &lt;ismirno@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Daniel M. Crowell &lt;dcrowell@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>HB Improvements: Fix compiler warnings on modern compilers</title>
<updated>2019-04-05T21:52:10+00:00</updated>
<author>
<name>Luis Fernandez</name>
<email>luis.fernandez@ibm.com</email>
</author>
<published>2019-02-21T20:13:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=4995ec0ba6f15e03deb4b9ad1dc215f3f8993acb'/>
<id>urn:sha1:4995ec0ba6f15e03deb4b9ad1dc215f3f8993acb</id>
<content type='text'>
Resolve warnings when compiling with gcc 4.8. Compiled with GCC 7.3,
no more compile errors/warnings; build ends with caught exception from
linker. This commit compiles with GCC 8.2, no more error/warnings; except
for a linking warning.

Change-Id: Ib5d7c2b5bd350edc76ee2c7de96896154cd44420
RTC: 202716
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72271
Reviewed-by: Nicholas E. Bofferding &lt;bofferdn@us.ibm.com&gt;
Reviewed-by: Ilya Smirnov &lt;ismirno@us.ibm.com&gt;
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Daniel M. Crowell &lt;dcrowell@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Support thread local storage</title>
<updated>2019-03-11T22:07:52+00:00</updated>
<author>
<name>Jaymes Wilks</name>
<email>mjwilks@us.ibm.com</email>
</author>
<published>2019-02-04T20:06:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=f5475890894b4d542f622cee27604de15b41bb4b'/>
<id>urn:sha1:f5475890894b4d542f622cee27604de15b41bb4b</id>
<content type='text'>
Generally adds support to declare variables as thread_local

- Add support in HBRT start assembly to skip adjusting TLS relocations
- Add support in linker to generate tagged TLS entries
- Update linker to process TLS relocations correctly
- Update TLS code to ignore top half of module ID
- Update module images to hold a "module ID"
- Update custome linker to update module ID during binary link
- Update TLS code to track TLS sections via module ID

Change-Id: I1589550d7787beb08827ca24a728397dedf0373b
RTC: 147599
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71709
Reviewed-by: Ilya Smirnov &lt;ismirno@us.ibm.com&gt;
Reviewed-by: Michael Baiocchi &lt;mbaiocch@us.ibm.com&gt;
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Daniel M. Crowell &lt;dcrowell@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>linker: fix compiler warnings</title>
<updated>2018-07-19T20:46:51+00:00</updated>
<author>
<name>Jan Hlavac</name>
<email>jhlavac@redhat.com</email>
</author>
<published>2018-07-03T15:24:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=9be05f401c09f8ecf978c210a10ccdf217b001cc'/>
<id>urn:sha1:9be05f401c09f8ecf978c210a10ccdf217b001cc</id>
<content type='text'>
In Fedora 28 (x86_64) the linker binary, produced by GCC 8.1.1, always
ended in an infinite loop in which it repeatedly appended some text to
*.lnkout.bz2 file and *.bin.modinfo file.

Example :  .hbicore.lnkout.bz2:  Error writing to output.
                                Success

           hbicore.bin.modinfo:  hbicore.elf,0x0

The GCC was also displaying warnings about missing return statements
(-Wreturn-type). When these warnings were fixed, the problem with
infinite loop disappeared. This problem also never appeared when the
-O0 flag was used.

While being there, also fix some warnings that happen with the -Wall
flag.

Resolves #143
Change-Id: Ia1ddfa07d3b22b151922de2df1db91ffc2aad2ca
Signed-off-by: Jan Hlavac &lt;jhlavac@redhat.com&gt;
Signed-off-by: Joel Stanley &lt;joel.stanley@au1.ibm.com&gt;
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61862
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Tested-by: Jenkins OP HW &lt;op-hw-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Daniel M. Crowell &lt;dcrowell@us.ibm.com&gt;
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62830
Reviewed-by: William G. Hoffa &lt;wghoffa@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Compile ROM code within Hostboot</title>
<updated>2017-01-30T16:18:51+00:00</updated>
<author>
<name>Stephen Cprek</name>
<email>smcprek@us.ibm.com</email>
</author>
<published>2016-12-06T16:42:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-hostboot/commit/?id=6b650f5428297e8dde075d25e7862a20c8d47f04'/>
<id>urn:sha1:6b650f5428297e8dde075d25e7862a20c8d47f04</id>
<content type='text'>
Additionally added version id to resolve story 135747

RTC: 143902
Change-Id: I67ad4b28b76464aaa58ec2c344cd1f9ceef9ff73
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33608
Tested-by: Jenkins Server &lt;pfd-jenkins+hostboot@us.ibm.com&gt;
Tested-by: FSP CI Jenkins &lt;fsp-CI-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Nicholas E. Bofferding &lt;bofferdn@us.ibm.com&gt;
Reviewed-by: Michael Baiocchi &lt;mbaiocch@us.ibm.com&gt;
Tested-by: Jenkins OP Build CI &lt;op-jenkins+hostboot@us.ibm.com&gt;
Reviewed-by: Martin Gloff &lt;mgloff@us.ibm.com&gt;
Reviewed-by: Daniel M. Crowell &lt;dcrowell@us.ibm.com&gt;
</content>
</entry>
</feed>
