summaryrefslogtreecommitdiffstats
path: root/src/kernel/kernel.C
Commit message (Collapse)AuthorAgeFilesLines
* Pre-set HB TI Area in doStutdown PathIlya Smirnov2018-06-301-0/+3
| | | | | | | | | | | | | | | | | | | | When a TI occurs during ECC corruption, the kernel asserts as part of the error flow, and the assert makes it into the TI area before the ECC error code, which makes it hard to debug the underlying issue. This change introduces the logging of the TI code to the HB TI area as part of the doShutdown path and a mechanism to not overwrite the first logged error code. That way the TI area will always contain the first error code that caused the TI. Change-Id: Idcd5727314aea9b92a6eb9d19ec6ed223111861a CQ:SW431570 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61661 Reviewed-by: Michael Baiocchi <mbaiocch@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: Jenkins OP HW <op-hw-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>
* Modify debug framework to be build-independentDan Crowell2018-06-261-2/+49
| | | | | | | | | | | | | | | | | During boot, Hostboot will push key pointers into memory. This allows the debug tools to find the pointers (using a known static memory address) to base memory accesses on. This replaces the existing symbol lookup that we use now. That means we don't need to have the exact symbol file for the build we're debugging against. Change-Id: I4618e15a3dc90acc3a89520a502eb818c1b4258c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56097 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-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>
* Better debug for weird PIR issuesDan Crowell2018-05-071-3/+4
| | | | | | | | | | | | | | | | | | | | | | Ran into a case where Hostboot was getting booted with the wrong fabricid for the node it was on. In the process I realized it was hard to tell what was going on. Added printk output to show the PIR of the boot core. Modified how force-hrmor option is consumed in ecmd-debug-framework so that you can force unnatural lookups. Change-Id: I77fc614889aa3cedcc8ccd39cac9ebc36f239b56 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57910 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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Handle Compatability issues for new BltoHbData locationStephen Cprek2017-07-201-5/+41
| | | | | | | | | | | | | Change-Id: I9ec35ca8dd513a5e31f69cd899fa5d1e00d41c63 RTC: 175114 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42442 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@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: Jenkins OP HW <op-hw-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>
* Relocate bl to hb preserved data and page table in VMMStephen Cprek2017-07-201-31/+1
| | | | | | | | | | | | | | | | Relocate Page Manager Page Table to 256K alignment after preserved area Simplify page manager initialize Change-Id: Ic90584437fa68843a7ebe3818d48c3fe4f5157d8 RTC: 175114 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42154 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-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 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>
* Fix PVR check for Nimbus DD1Dan Crowell2017-05-111-2/+6
| | | | | | | | | | | | | | | | | | 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>
* Relocate ROM code after HBBL has been verifiedStephen Cprek2017-03-101-1/+54
| | | | | | | | | | | | 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>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-211-10/+10
| | | | | | | Change-Id: I5664587b4f889099290ef50d50fa9ce5e580e1eb Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11167 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Use new scratch reg for hb_done and set early in IPLAndrew Geissler2014-03-131-0/+4
| | | | | | | | | | | | | | | | | This is to support using the scratch register for the power off message. I moved to a new scratch register since we were sharing with a SBE scratch reg that was needed early in HB IPL. NOTE! This will have a co-req with an FSP track so we'll need to coordinate. CMVC-Coreq: 917527 Change-Id: I5f81f15126d6ad8d2c9459c5afe730554256c037 RTC: 95818 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9220 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Set hostboot_done scratch reg after all winkles and controlled shutdownAndrew Geissler2014-02-191-3/+3
| | | | | | | | Change-Id: Ie2887464cc57fe9d5974de5e8031d82f5c42fb06 CQ: SW246446 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8808 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Memory Leak task_endBill Schwartz2012-10-121-24/+23
| | | | | | | | Change-Id: Idb7a2d8d72a55f644efd0b2548eca5df5d062e6d RTC: 47491 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2011 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support for master winkle.Patrick Williams2012-08-101-22/+25
| | | | | | | | | RTC: 44730 Change-Id: Ifaeecc659e1bfd8ded4744dc591fc993471519ba Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1471 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Interactive debug tool.Patrick Williams2011-12-061-1/+1
| | | | | | | | | | | | | | | - Modify debug fw to support writing data. - Modify debug fw to support clocking model forward. - Add simics environment support for both. - Kernel support to start a task when directed. - Write debug tool to modify kernel structure for debug. Change-Id: Ic001dfd45f91392aefbc9d5096c5344018d5190e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/518 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support task_wait / task_wait_tid syscalls:Patrick Williams2011-10-241-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | - Add task_end2 syscall to allow pthread_exit-like retval. - Add/maintain task states. - Create task parent/child tracking tree. - Add task_detach function. - Implement wait syscalls. Make task_exec caller the parent of spawned task: Previously the task_exec call caused a message to the VFS task, which called task_create and returned the tid in response to the message. This causes the parent of the spawned task to appear to be the VFS task. Modify task_exec / VFS handling to instead return the entry point address on the message and have task_exec call task_create directly itself. Change-Id: I6b6796f45875de37b1ab01e7596639b073820b95 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/443 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Add copyright headers to all source files.Patrick Williams2011-08-241-0/+22
| | | | | | | Change-Id: I205f2409e56032cfc0aaf01d7e26d357f0b86373 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/277 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* Additional weak-consistency fixes.Patrick Williams2011-04-211-0/+1
| | | | | | | Change-Id: I6d6304851a1794e117782277f6e3aee7544afcc7 Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/6 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Change kernel string to hostboot.Patrick Williams2011-04-141-1/+1
| | | | | | | Change-Id: I6da5c1686ce60af9a6610c21cad3765c8a8219d9 Reviewed-on: http://localhost:8080/gerrit/3 Tested-by: Jenkins Server Reviewed-by: ALWOOD P. WILLIAMS III <iawillia@us.ibm.com>
* VBU: Move dcbz code into PageManager.Patrick Williams2011-04-111-12/+0
| | | | | | The space after our code image but before the first page is unused, so we only need to dcbz the pages. This reduces any dependency on cache size in the dcbz loop boundary condition calculations.
* Fix dcbz to round up to nearest cache line.Patrick Williams2011-04-111-2/+5
|
* VBU: dcbz cache lines after code image to ensure they are in the L3.Patrick Williams2011-04-071-0/+10
|
* Remove invalid memory access in hbi init.Patrick Williams2011-03-051-1/+1
|
* Add skeleton of timebase manager.Patrick Williams2010-09-201-0/+2
|
* SMT support.Patrick Williams2010-07-071-1/+15
|
* Start virtual memory management.Patrick Williams2010-07-021-0/+2
|
* Create init process, fix scheduler bugs.Patrick Williams2010-06-071-1/+16
|
* Implement task saving and dispatching.Patrick Williams2010-06-031-0/+4
|
* Initial cpu / task structs.Patrick Williams2010-06-021-0/+8
|
* Add new/delete operators.Patrick Williams2010-05-211-1/+1
|
* malloc / free supportPatrick Williams2010-05-211-1/+4
|
* Add heap manager for allocations up to 2040 bytesPatrick Williams2010-05-211-1/+2
|
* Create page manager.Patrick Williams2010-05-201-5/+13
|
* Call default constructors.Patrick Williams2010-05-191-5/+28
|
* Full vargs printk.Patrick Williams2010-05-191-0/+4
|
* Add thread safe guard variable code.Patrick Williams2010-05-181-1/+1
|
* Create simple console.Patrick Williams2010-05-181-0/+4
|
* Improve make infrastructure.Patrick Williams2010-05-181-0/+6
OpenPOWER on IntegriCloud