summaryrefslogtreecommitdiffstats
path: root/src/kernel
Commit message (Collapse)AuthorAgeFilesLines
...
* kernel: Fix cmp in shutdown.S for modern binutilsJoel Stanley2017-06-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | This is a further fix that was missed in 10983d35f568 ("Convert cmpi to cmpwi to fix build for modern binutils"). In the past binutils would assume 'cmp' meant 'cmpw'. Modern binutils require the explict use of cmpw or cmpd. The first two instances are dealing with SPRs, which are 32-bit, so cmpw is correct. It is not clear what to do in the third use of cmp, but given old toolchains have generated cmpw lets assume that we should maintain the behaviour. Change-Id: Iee5dd5903dcd7ac4028bab0176e08ce3db23b2d5 Signed-off-by: Joel Stanley <joel.stanley@au1.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42476 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Remove asserts on variables that have valid default valuesStephen Cprek2017-06-261-16/+8
| | | | | | | | | | | | | | | | | | Currently the BlToHbData structure asserts when a caller asks for info, but the structure was initialized as invalid. Now for the the fields that have valid default values, we allow access to them. Change-Id: I703526ab30c47c0e7723dbbfaf876ce4e2da6e3a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42321 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Convert cmpi to cmpwi to fix build for modern binutilsJoel Stanley2017-06-261-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Linux 80f23935cadb ("powerpc: Convert cmp to cmpd in idle enter sequence"): PowerPC's "cmp" instruction has four operands. Normally people write "cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently people forget, and write "cmp" with just three operands. With older binutils this is silently accepted as if this was "cmpw", while often "cmpd" is wanted. With newer binutils GAS will complain about this for 64-bit code. For 32-bit code it still silently assumes "cmpw" is what is meant. In this instance the code comes directly from ISA v2.07, including the cmp, but cmpd is correct. Backport to stable so that new toolchains can build old kernels. This is change is a noop with the existing toolchain. We change from implicitly generating the cmpwi to explicitly stating in for compatibility with newer toolchains. With gcc 4.9.3, binutils 2.25.2: $ cat asm-test.S .text .global test cmpi 0, 8, 1 $ powerpc64-linux-gcc -c asm-test.S $ objdump -d asm-test.o 0000000000000000 <.text>: 2c 08 00 01 cmpwi r8,1 Old compiler, updated instruction: $ cat asm-test.S .text .global test cmpwi 0, 8, 1 $ powerpc64-linux-gcc -c asm-test.S $ objdump -d asm-test.o 0000000000000000 <.text>: 2c 08 00 01 cmpwi r8,1 And then the new toolchain (gcc 6.3.0, binutils 2.28) with the updated asm: $ cat asm-test.S .text .global test cmpwi 0, 8, 1 $ powerpc64-linux-gnu-gcc -c asm-test.S $ objdump -d asm-test.o 0000000000000000 <.text>: 2c 08 00 01 cmpwi r8,1 Change-Id: If981e20a578ec98ede68a31eee2888c27d5c3d10 Signed-off-by: Joel Stanley <joel@jms.id.au> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42259 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: STEWART E. SMITH <stewart@linux.vnet.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Stop kernel asserts from being no-op'edStephen Cprek2017-06-221-2/+2
| | | | | | | | | | | | | Change-Id: Iaf7ae4b48da327f89c29c8b394de4dad3c3ec7f2 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42303 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
* Fix Bl-To-Hb Data IssueMike Baiocchi2017-06-161-1/+10
| | | | | | | | | | | | | | | | | This commit fixes an issue where data was incorrectly added to the middle of the existing BlToHbData struct. The secure settings at fault have been moved to the end of the structure. Change-Id: I9ecb3256325aaeb633e250cb60e4f4ffc6010dba RTC:163094 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42005 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Use Scratch Reg 3 Bit 7 to allow Attribute Overrides in Secure ModeMike Baiocchi2017-06-161-2/+19
| | | | | | | | | | | | | Change-Id: Ic9b220dc3480c13e1b1ac1c69a0be148ab5ea977 RTC:163094 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41114 Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Ignore LPC and XSCOM BARs from BLDan Crowell2017-06-071-0/+5
| | | | | | | | | | Temporarily disable use of MMIO BAR remapping Change-Id: Idc01a4f05834a8d6c07fce40850846028d9f8f47 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41463 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Map BAR attributes based on data from BootloaderDan Crowell2017-06-021-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | If the master processor has no memory behind it the entire memory map must be modified. Each processor has its own statically defined map that covers both memory and MMIOs. If the master has no memory, its memory map is swapped with another processor. Each processor gets a new effective fabric id that is then used to compute all of the BAR values for those processors. The SBE boots with a certain memory map programmed into the master processor. That value is then passed up through the bootloader into Hostboot. This value is compared to the BAR values that Hostboot assumes it is using. Based on that comparison, various attributes are computed to match the effective fabric positions. Change-Id: I2b0d1959c303df8c9c28c8f0a5b5be1e77aa154f RTC: 173528 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40359 Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Add timestamps to Simics Istep messagesDan Crowell2017-05-221-0/+1
| | | | | | | | | | | | | | | | Also added entries for -kernel startup -cxx testcase start (99.1) -shutdown Change-Id: I870961ae8ea0b43003db6bafb21addf660ab99ef Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40346 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Save space in Bootloader image without termWritePLIDMarty Gloff2017-05-171-4/+6
| | | | | | | | | | | | | | The termWritePLID function is not used by Bootloader, so does not need to be included in the image. Change-Id: I0df52e012f14352745d3aead1ca90fe83fe7a9d4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40289 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Change cv_forcedMemPeriodic to uint8_t as bool is invalidStewart Smith2017-05-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | GCC6 throws the following error: operand type ?bool*? is incompatible with argument 1 of ?__sync_fetch_and_and? GCC documents that bool is invalid for __sync builtins over at https://gcc.gnu.org/onlinedocs/gcc/ _005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins "GCC allows any scalar type that is 1, 2, 4 or 8 bytes in size other than the C type _Bool or the C++ type bool" Change-Id: I4608b03e5d8aa16a0a350030b552a8f8e791649c Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36898 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Fix PVR check for Nimbus DD1Dan Crowell2017-05-114-4/+20
| | | | | | | | | | | | | | | | | | Added check for bit 18 to distinguish between Nimbus DD1.0 and Cumulus DD1.0 Consolidated Nimbus DD1 checking to a common function Added printk output that shows which CPU we're running on Modified some existing printk output to use fewer characters Change-Id: I1c42df0051fc2d9cc5fa54d95f68c3bd26b86462 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39876 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Include HUID of failed Proc in TI data for certain SBE errorsBill Hoffa2017-05-104-8/+13
| | | | | | | | | | | | | | | - Include a generic error pipleline for other future error scenarios to leverage this functionality Change-Id: Icc1399ee93157c7106d394944a3355285a8cd830 RTC: 171865 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39072 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Bootloader updates to support remapped memory - Initial passMarty Gloff2017-05-081-5/+3
| | | | | | | | | | | | | | | | | Add support to BlToHbData structure and create new version. Put in TODOs for pending p9_sbe_hb_structures.H changes. Move selected Bootloader data out of image due to size issues. Update BlTrace tool for new location of trace data. Change-Id: Ic513a95b8f4054d467537c4623d5a7b7aa09e25e RTC:173526 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40096 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Expand hostboot progress indicator in core scratch 3 regcrgeddes2017-05-021-1/+19
| | | | | | | | | | | | | | | | | | | Previously this register only had 2 values. "running" in ascii and 0 This commit adds 3 more possible states. Now 0 represents that HB passed off control to the hypervisor. "shutdown" represents that HB TI'ed. "bootload" says we are in the bootloader. "starthbb" means the bootloader has started the base image. "running" means hostboot is up and running. Change-Id: I11e7ef3dbb559a221343070b2c1b15f67853710b RTC: 171742 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39730 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add map list initialization and at() methodsStephen Cprek2017-04-101-3/+5
| | | | | | | | | | | | | | Also add ErrnoToString() as a test which is a functionality ported from p8 Change-Id: Ia6dd9b37638af2634267e224d9b97133bf984fb4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38956 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Enhance heap consistency checkingRichard J. Knight2017-04-101-9/+39
| | | | | | | | | | | | | | | | | | -Add validation to heap allocations, marker used to detect buffer overruns to generate exception when memory segment is freed -Add additional debug to the heap bookkeeping data - owner tid, reserved size and an indicator to say it is an allocated chunk Change-Id: Iae522fc4c6157a32f5689ee1ec5fd9d552123eb4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37829 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Consume Secure Access Bit from SBE HB communication areaStephen Cprek2017-03-171-3/+21
| | | | | | | | | | | | | | Disable verification in bootloader if SAB not set Change-Id: If5f1adcbe0277f2a4223d8cea6a5e2048019871d RTC: 167741 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37214 Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Relocate ROM code after HBBL has been verifiedStephen Cprek2017-03-104-8/+284
| | | | | | | | | | | | Create Bootloader to hostboot data manager to control how the shared data is accessed and modified. Change-Id: I54cb543ed289810ab6afb07d333313f5662bce0e RTC: 166848 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35617 Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Create PVR routines to handle DD2 changesDan Crowell2017-03-092-20/+32
| | | | | | | | | | | | | | | Created new PVR_t structure that understands how to decode the PVR for Nimbus DD1 and future versions. Change-Id: Ie7e6f62d65fb1a3e11b1021f1600e7421b8c30a9 RTC: 160361 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37303 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
* Enable STOP wakeup on Hypervisor External InterruptDean Sanner2017-03-021-3/+5
| | | | | | | | | | | | | - Latest HCODE image change requirements now need to enable LPCR[17] prior to issuing STOP Change-Id: I21488e0795b5dcd710b026ebbace2d158fdf9694 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37374 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add error logs tag for kernel errors so they get into KCDan Crowell2017-01-202-5/+24
| | | | | | | | | | | | | | Adding some @error tags for the critical kernel TIs so that a description ends up getting into Knowledge Center. ForwardPort: yes Change-Id: Ibe468d25a9390ab5f4285d969b9e9c838830f216 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34792 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Bootloader - Error handling - Add terminate functionMarty Gloff2017-01-041-2/+21
| | | | | | | | | | | | | | | As a first step to providing Bootloader error handling add support for a terminate function. Change-Id: Id4f8f130376d1396cd4feb796d1a3a908558225b RTC:135746 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32390 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add helpful comment for data storage exceptioncrgeddes2016-10-311-2/+9
| | | | | | | | | | | | | I have had to look this up 1 too many times, I think adding this comment here will help me and whoever hits this in the future Change-Id: Ib434d2d56a90770cbdd45b1e52f0bea5fdc62158 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31905 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Matt Derksen <v2cibmd@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Remove last of old hwpf directoryDan Crowell2016-08-301-1/+1
| | | | | | | | | | | | | | Remove all of the old fapi1 HWPs from P8 Update makefiles/code to not include old hwpf headers Change-Id: Idc840554721f68b0af3b6ee6c7ad84f5df258e60 RTC: 146345 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28844 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Updates for new scratch registers in P9Andrew Geissler2016-08-162-5/+9
| | | | | | | | | | | | | | | P9 moves us from 8 scratch registers to 4. This commit handles this change and also adds the base support for partial cache. Change-Id: Ibe050c663744285dd3e77850649236a669dadbd6 RTC: 150923 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27462 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Handle 8MB reduced cache modeMarty Gloff2016-08-102-7/+13
| | | | | | | | | | | | Check scom register (0x1001181B) for reduced cache mode and expand the memory footprint appropriately, reduced 8MB or full 10MB. Change-Id: I5920572077cdcee317e7b3b9abe999e6de295459 RTC:152954 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27522 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Replace NAP with STOP instructionBrian Stegmiller2016-08-074-3/+7
| | | | | | | | | Change-Id: I58a382cfc285e37cc8748fe8e23f71c877850263 RTC: 130186 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/816 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix P9 expansion into bottom 512K cacheDean Sanner2016-07-111-1/+1
| | | | | | | | | | Change-Id: Ie7d8ab2ae3730b57448a07f0367c8715d61b6124 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26495 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
* Update purge of L3 cache during initial bootElizabeth Liner2016-06-102-2/+2
| | | | | | | | | | Change-Id: Ic6cfabbdfe8f10cf5fa1cd9a4a13093452b61978 RTC:118832 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24021 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Support transition from small to big allocation in reallocNick Bofferding2016-06-061-2/+3
| | | | | | | | | | | | Change-Id: I16cb187d12834c74e8682fb84d26d09b7f98869a CQ: SW354768 Backport: master-p8 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25271 Tested-by: Jenkins Server Reviewed-by: Christopher J. Engel <cjengel@us.ibm.com> Tested-by: FSP CI Jenkins Reviewed-by: A. P. Williams III <iawillia@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Add simics breakpoint for exceptionsDan Crowell2016-05-241-0/+10
| | | | | | | | | | | | | | | | | | | Created a new magic instruction handler that can be enabled via environment variable to stop the simulation for Hostboot exceptions. This is useful when we want to get a backtrace at the failing spot without recompiling code or having to manually insert breakpoints in simics directly. Enable the function by setting HB_BREAK_ON_ERROR The trigger call is MAGIC_BREAK_ON_ERROR Change-Id: I17e008281d010e3f8c5e5817e5f30fd0ccb624d0 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24600 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Change partition table from 4K to 64KCorey Swenson2016-05-191-1/+2
| | | | | | | | | Change-Id: I5cc08599e81b04b57c936c240b2cd7d07531d90f RTC:148595 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22158 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Enable waking threads on master core with doorbell interruptsBill Hoffa2016-05-172-42/+19
| | | | | | | | | | | | | Change-Id: Iceb33f0b8c802e7448e8b77200623048f7f7ab61 RTC: 141924 CMVC-Coreq: 993299 CMVC-Prereq: 994801 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/23591 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Doorbell Interrupt Base Support for Core/Thread WakeupBill Hoffa2016-05-068-25/+152
| | | | | | | | | | | | | | | | | | | | | | | | | This change includes: - Implementation of a generic KernelWorkItem Class - Kernel functionality for doorbell send to specific PIRs - Kernel changes to send core/thread Wakeup doorbells using doorbell_send() + placing KernelWorkItems on a cpu stack obj to be executed during doorbell wakeup - Kernel Interrupt Message handler changes to send wakeup msgs - Interrupt Resource Provider (INTRRP) Changes to handle wakeup msgs and monitor for timeouts - Changes to the IPL flow to invoke proper Core/Thread Wakeup - A basic outline (commented out) for how IPC messages can be implemented in the future Change-Id: I547fb8719bac657def561565ae11ab18cde72096 CMVC-Prereq: 992722 RTC:137564 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22815 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add doorbell support.Patrick Williams2016-04-048-5/+126
| | | | | | | | | | | Change-Id: I4c5ef96c4793f6da26d54d1d61a51f6395e6b34b Backport: master-p8 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/930 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: FSP CI Jenkins Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
* Enable startDeadmanLoop in host_activate_master.Ccrgeddes2016-03-311-2/+0
| | | | | | | | | | | | | Change-Id: I04c7d38860f042e392026f81f9f3772212dfe14f Depends-on:Ib0db5ac2b9b5d5f5c2967ff97794493d867fb04b Depends-on:Ic8bac9940b00eae01c175f51dd1872b2bb128b95 RTC:133832 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21901 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* P9 PSIHB Base Interrupt SupportBill Hoffa2016-03-305-22/+36
| | | | | | | | | | | | | | | | | | | This change includes the following: - Kernel Updates to handle hypervisor interrupt vector - Interrupt Resource Provider changes to setup and handle LSI Based interrupts - Kernel updates to handle modified interrupt flow for LSI Based interrupts - Attribute updates for Scom BAR Registers Change-Id: If63f246a0090ab8c81c3fa8ac3ab6871a0af2e31 RTC:137561 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/20692 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix rounding error in memory allocation codeDan Crowell2016-03-281-3/+4
| | | | | | | | | | | | | | | A rounding error exposed by a new compiler caused us to write over the SPTE entries for the extended memory block. This led to unhandled page faults due to invalid permissions on the affected pages. Change-Id: I53656103252180d37a4291176d45f2cb3f63421d Backport: yes Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22560 Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Integrate HWPs for istep 16crgeddes2016-03-171-1/+1
| | | | | | | | | | | | Change-Id: Ic8bac9940b00eae01c175f51dd1872b2bb128b95 Depends-on:Ib0db5ac2b9b5d5f5c2967ff97794493d867fb04b RTC:133832 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/20552 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Include HRMOR in PTCR settingDan Crowell2016-02-191-2/+2
| | | | | | | Change-Id: Ifb217c0171678f77e5bcaaf6fc76adcceefbbf93 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22791 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Set HRMOR on all threads in kernel_shutdownDean Sanner2015-12-171-5/+6
| | | | | | | | Change-Id: Ib4226eb3b1afe03d100ac0610994f23dc0372311 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22794 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* HOSTBOOT: Support fused coresBrian Stegmiller2015-12-113-12/+79
| | | | | | | | | Change-Id: I2ad133be733ee9e41590b3b8bd60bd6abe69d1a9 RTC: 126786 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22054 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* P9 page table changesCorey Swenson2015-12-112-2/+28
| | | | | | | | | | Change-Id: Ic5f234e0ce0747f887a706054f82372c9a96258c RTC:126640 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19041 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix attention instructionBrian Stegmiller2015-12-111-2/+2
| | | | | | | | Change-Id: I61e4f0d9b15222929a56fe8f8aa9bb029c4b8260 RTC: 142156 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22542 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* libc support for thread-local storagePatrick Williams2015-12-112-3/+26
| | | | | | | | | | RTC: 124148 Change-Id: I055885bc7d7cfc4ebd7cf1a662f677bdf4e28c62 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22313 Tested-by: Jenkins Server Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Brian Silver <bsilver@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Base kernel changes for Nimbus/CumulusCorey Swenson2015-12-115-4/+29
| | | | | | | | | Change-Id: Ic5dfde1e975453d760631335bab674919e1109e7 RTC: 126637 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/18321 Tested-by: Jenkins Server Reviewed-by: Christian Geddes <crgeddes@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Changes to fix ipl-time checkstop FIR collectionaalugore2015-10-281-1/+8
| | | | | | | | | | | | | | | | | -Fulfill OCC requirement to be aligned on 1MB boundary -Use temporary memory buffer to hold OCC lid -Small change to how Hostboot loads FIR data to SRAM Change-Id: I561ec89c8e04fe9e820e9e2448a2d5cb26423a3a Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21293 Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com> Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Avoid deadlock in cross-node IPC messagingDan Crowell2015-06-082-11/+14
| | | | | | | | | | | | | | | | | Move poll for empty queue out of kernel space to allow for the primary thread to see new interrupts and clear out incoming messages. This will prevent 2 nodes from deadlocking one another while they wait for each other to handle the last message that was sent to them. Change-Id: Icbe4e0f621661a37c704b4ac4cdf111664b2039d CQ: SW298667 Backport: release-fips820 Backport: release-fips830 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17788 Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Prevent out-of-order data access to FSP mailbox memory areaNick Bofferding2015-04-095-15/+39
| | | | | | | | | | | | | | | | | | - Added system call to map FSP mailbox memory with guard permission - Call new mapping in DMA area init - Propagate guard permission down to MMIO map - Apply guard permission in page fault handler - Updated debug tools to support extra bit in MMIO struct Change-Id: I8335ac7d3ef57e46d4c8b6c2b2a42b8a0bf7c4b0 Backport: release-fips830 Backport: release-fips820 CQ: SW295345 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16307 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
OpenPOWER on IntegriCloud