summaryrefslogtreecommitdiffstats
path: root/src/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Handle response from messages registered to a block within the base segmentMatthew Barth2011-08-234-5/+49
| | | | | | | Change-Id: I65be2258e5e6bd707797415a5376fd94c3bab68a Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/265 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Add initial scratch (sprc/sprd) support.Patrick Williams2011-08-222-2/+22
| | | | | | | Change-Id: Ica416251241a2881459b2eb1ae0ad3c746de1200 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/267 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Create initial stack-frame from userspace.Patrick Williams2011-08-222-9/+19
| | | | | | | | Change-Id: Ie1133bd079e7b9a8f2f82daa06efc426bf0fd0d6 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/268 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* VMM Fixes:Patrick Williams2011-08-192-17/+22
| | | | | | | | | | | | - Block-traversal logic. - Memory leaks in message interface. - Race condition in message interface. Change-Id: I7b341b174593e04624975cdd589745587e461e14 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/263 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Finishing up PNOR RP code (RTC Task 3440)Dan Crowell2011-08-172-0/+3
| | | | | | | | | | | | | | | | | -Add calls to mm_alloc_block -Fix error responses to message -Cleanup some error handling -Code review updates Final piece of the PNOR puzzle - Task 3389 -Also added a check to autocitest that will catch initialization fails. -Added some error printks to message interface -Disabled test_messageReadWrite testcase Change-Id: I4f1207138a6cf4f86cf2b6f3f81fc5885b02699d Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/252 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Implement Kernel->User-space message bridge.Patrick Williams2011-08-164-21/+185
| | | | | | | Change-Id: Icf6fc9e10b1c39e981dddf180607b710c597112b Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/249 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support msgq and paging data for blocks in base segmentMatthew Barth2011-08-152-9/+59
| | | | | | | Change-Id: I4f1775b6a843140be97f3c328155aa1654086723 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/254 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Allocate block system call stubMatthew Barth2011-08-103-7/+36
| | | | | | | Change-Id: Ief3476b5306bc231c9d3044b2736fcd195e840b1 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/243 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Update scratch SPR #s for P8.Patrick Williams2011-08-103-15/+46
| | | | | | | | Change-Id: Ia063a66b705b3272b7578ece420c84ac9c4c3d26 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/224 Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server
* Upgrade Salerno memory size to 4MB.Patrick Williams2011-08-091-1/+1
| | | | | | | Change-Id: Icb089ac7896d12354b48377611d872b782b91652 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/225 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Clean up mutex issues.Patrick Williams2011-08-092-2/+9
| | | | | | | | | | | | | - Final fix for mutex bug. - Document weak-consistency decisions in mutex code. - Prevent aggressive optimizations around lwsync/isync instrs. - Fix minor bug in futex_wait system call. - Optimize futex path with likely/unlikely hints. Change-Id: I26b54dee7e45bcb42195f730474b350b44f53cfc Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/233 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Device segment MMIO map & unmap system callsMatthew Barth2011-08-085-20/+188
| | | | | | | Change-Id: I233c2677909c0c16536133c189ebbd21e4415e22 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/208 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* More PNOR RP work - Task 3440 (Story 3330)Dan Crowell2011-08-081-19/+19
| | | | | | | | | | | | | | | | | Also includes testcase work for Task 3388 Change-Id: Ib4ff920f351554fe457c171f601a38809ca6ac6f Functional PNOR RP code that works with the PNOR DD. Still missing the complete path but should be ready for use by the next level up. Task 3440 Change-Id: Id32a919f88da636c341116444e557387beaccdb2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/230 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com>
* Add handling for HvEmu exception.Patrick Williams2011-08-012-2/+20
| | | | | | | | Change-Id: I03a7460b347b47f4653a6f457d1d7711fc0a0512 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/209 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Add userspace syscalls for PVR.Patrick Williams2011-07-294-25/+43
| | | | | | | | Change-Id: I27d51e0e9f2396a4ddd45d98d6b1004a17c9db46 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/219 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Reduce memory footprint to 3MB.Patrick Williams2011-07-295-20/+82
| | | | | | | Change-Id: I309bc63bdb27baa21f65de05e12324b9c4ce3407 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/212 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Add usage statistics to PageManager.Patrick Williams2011-07-291-1/+11
| | | | | | | | | Change-Id: Ic7f158b07b5b37465af5b129153d63645ced1bad Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/205 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Reduce working threads to first core.Patrick Williams2011-07-252-22/+64
| | | | | | | | | | | | | This is required to reduce the memory footprint of the kernel so we can fit within 2MB. This patch will cause (in simics) all other cores/threads to execute a 'doze' instruction and cease executing. In VBU, only 1 core will be active anyhow. Change-Id: If1bdc01393b02d802ba7595a88dcf3331efc2d4e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/203 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
* VMM Improvements.Patrick Williams2011-07-2011-209/+419
| | | | | | | | | | | - Segment Manager - Base / Device Segments - Block for Base image. Change-Id: Ic0c058e5c5b210ec1c48d30f6ed9f9837d74a3c8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/193 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Shutdown and post status on HostBoot completionMike Jones2011-07-192-1/+51
| | | | | | | | Change-Id: If2ab46af85065b29695a1186ed331fd835944eb4 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/204 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Add user-space stub for task entry.Patrick Williams2011-07-182-6/+30
| | | | | | | | | | | This will prevent kernel space from needing to dereference user-space addresses for starting a task, which is safer and is easier for VMM. Change-Id: Icad3b832550cedbf291ed8b032840f4049fba18e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/202 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Initial checkin of PageTableManager - RTC:3195Dan Crowell2011-07-143-34/+947
| | | | | | | | | | | Add new delRange method to delete based on page numbers, part of RTC:3195 Plus code review comments from previous commit - http://gfw160.austin.ibm.com:8080/gerrit/188 Change-Id: Ie45365162cf1367c5c0dcc3afc2907a6ddfa53d3 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/188 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Improve assert handling and options.Patrick Williams2011-07-061-1/+1
| | | | | | | | | | | | | - Allow a custom assert trace as an optional parameter. - Call a trace function instead of printk for most cases. - Provide a critical library assert (for syslibs, trace, etc.) - Provide a kassert function for kernel code. Change-Id: If24d57d0832a587258503b3fd0046c21da3712b5 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/159 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com>
* Add device segment to SLB initMatthew Barth2011-06-241-0/+7
| | | | | | | Change-Id: Ia0c9bcf4840a31808018f595875d99fa6e282e2f Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/155 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Remove heap allocation of xscom mutex.Patrick Williams2011-06-241-1/+2
| | | | | | | | | | | | | | Since mutexes are simply a uint64 with a static initializer, the xscom mutex is now a instance variable directly in the cpu object. Remove unneeded mutex_create function and changed the behavior of mutex_destroy. Change-Id: If6e1d1bf0083c32ef9e7502d27678811bdaf7e1e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/150 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com>
* Set up initial task link-register to point to 'task_end' function.Patrick Williams2011-06-201-0/+9
| | | | | | | | Change-Id: Id1b122d789b84eebd75feb3bdb7e1ca222e6d76e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/147 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning <wenning@us.ibm.com>
* Initial futex supportdgilbert2011-06-173-67/+127
| | | | | | | | | Change-Id: I51a4f1117085ce23c7993c1a38e4124596636726 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/141 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Create per-CPU mutex for XSCOM usage.Patrick Williams2011-06-081-0/+1
| | | | | | | | Change-Id: I76ad5c1d553d544b52910afd82e2716781ea13b9 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/140 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
* Add HMER access syscalls (as fastpath).Patrick Williams2011-06-022-7/+41
| | | | | | | | Change-Id: Icc7494986d19950a18cc9ee53fd5125c86096a72 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/105 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Kernel support for processor affinity.Patrick Williams2011-05-263-4/+37
| | | | | | | | | Change-Id: Ie84a805bad58032085208a98b1b31393def681cb Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/100 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
* Fix weak-consistency bug in spinlocks.Patrick Williams2011-04-211-0/+1
| | | | | | | Change-Id: I7ab4d17d0706a8ca149adf2ebd58f7b981f8ace6 Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/5 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Fix race conditions in syscall interfaces.Patrick Williams2011-04-211-2/+2
| | | | | | | | Change-Id: I19b7c1fc834927eda75231b08bfaef0f9efdd8a6 Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/7 Tested-by: Jenkins Server Tested-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Additional weak-consistency fixes.Patrick Williams2011-04-212-0/+2
| | | | | | | 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>
* Move inline mtdec into arch/ppc.HPatrick Williams2011-04-212-10/+4
| | | | | | | | Change-Id: I65b2be9a5a5166cd946033e34cedd87345e55979 Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/4 Tested-by: Jenkins Server Tested-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
* Remove unused isCPU0 function.Patrick Williams2011-04-141-5/+0
| | | | | | | Change-Id: I07c49d54352565061be3810bcd02217c95117f9d Reviewed-on: http://localhost:8080/gerrit/2 Reviewed-by: ALWOOD P. WILLIAMS III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* 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>
* Add per CPU sleep queues.Patrick Williams2011-04-141-2/+2
| | | | | | | Change-Id: If4e9137c860d177a9bccf8f2fc27808a84cdb4db Reviewed-on: http://localhost:8080/gerrit/1 Tested-by: Jenkins Server Reviewed-by: ALWOOD P. WILLIAMS III <iawillia@us.ibm.com>
* VBU: Move dcbz code into PageManager.Patrick Williams2011-04-112-12/+10
| | | | | | 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
|
* Revert "Temporary dcbf on printk for VBU."Patrick Williams2011-04-061-5/+1
| | | | | | | | HW team decided it wouldn't help because dcbf is a no-op out of L2 this mode. Keeping the commit in the repo in case we want to reference it later. This reverts commit 7c7a61ad865942fd1e39f4b15d020d9e0454613e.
* Temporary dcbf on printk for VBU.Patrick Williams2011-04-061-1/+5
|
* Fix size mismatch on store of 'kernel_other_thread_spinlock.Patrick Williams2011-04-061-2/+2
|
* Eliminate race condition in updating task->cpu pointer.Patrick Williams2011-03-312-3/+3
|
* Make VMM more resilient to different image sizes.Patrick Williams2011-03-271-3/+3
|
* Select new task in msg_sendrecv if receiver not waiting.Patrick Williams2011-03-271-0/+2
|
* Ensure decrementer is initialized for normal task execution.Patrick Williams2011-03-241-1/+6
|
* Support running a full system worth of threads.Patrick Williams2011-03-071-12/+22
|
* Thread priorities in idle and init spinlock.Patrick Williams2011-03-052-1/+10
|
* Remove invalid memory access in hbi init.Patrick Williams2011-03-051-1/+1
|
OpenPOWER on IntegriCloud