summaryrefslogtreecommitdiffstats
path: root/src/include/util
Commit message (Collapse)AuthorAgeFilesLines
* Implement a lockfree ABA-safe smart pointer.Patrick Williams2015-04-242-30/+276
| | | | | | | | | | | | | | | | * Use algorithm from lockfree stack as basis. * Convert lockfree stack to use new ABA-safe pointer. * Convert trace service to use ABA-safe pointers on client buffer pages to resolve futex hang due to page reuse. Change-Id: Ib6645f2281db8fa5d81103c1753e548976615797 CQ: FW633818 Backport: release-fips830 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16042 Tested-by: Jenkins Server Reviewed-by: Brian Silver <bsilver@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Ambiguous Sort Compiler Error fix with std::pairBill Hoffa2015-02-201-6/+8
| | | | | | | | Change-Id: Ic889378b96e6009a968f55ade2ad76e30cc02f72 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15861 Tested-by: Jenkins Server Reviewed-by: Brian Silver <bsilver@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Align all HBRT reserved memory to 64K boundaryDan Crowell2015-02-161-20/+21
| | | | | | | | | Change-Id: Ifcc3afa30ed84189cf10c1a8df9a7b4e7d38ffea RTC: 123657 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15711 Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix spelling mistakes using codespell.Patrick Williams2015-01-152-5/+9
| | | | | | | | | | | | - See https://github.com/lucasdemarchi/codespell Change-Id: I03e102d1ebb9473b6226fa9b6edb684fa0218a2f Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15031 Tested-by: Jenkins Server Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: Brian Silver <bsilver@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-2123-407/+406
| | | | | | | 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>
* Move isSimicsRunning() check into a util functionMike Baiocchi2014-02-051-0/+40
| | | | | | | | | | | | Moves the existing isSimicsRunning() support in kernel/timemgr.C to a new utility function. Change-Id: I522b1ab9967a3c3c894fba0525d2e6ffb95cded9 RTC: 94883 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8281 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Initial Support for Updating SBE SEEPROMMike Baiocchi2013-10-281-0/+43
| | | | | | | | | | | | | | | This initial commit will be used to create the new SBE directories and files. It also supports the usr functions to find and copy SBE PNOR images. NOTE: It will not enable Updating SBE SEEPROMs in the IPL. Change-Id: I3f545a134493c7595ce50fd885478bbe606de472 RTC: 47032 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6311 Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Make sprintf-class functions comply with standard.Patrick Williams2013-10-072-442/+6
| | | | | | | | Change-Id: I6a04179bb2c339668450bcbcf608ebef477c5bfe Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6399 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Secureboot memory layout support.Patrick Williams2013-06-141-22/+29
| | | | | | | | | | | | | | | | * Start kernel in 1/4 cache mode per Secureboot. * Copy Secureboot header for base image for later use. * Blind-purge bottom half of cache. * Add bottom of cache into memory maps for 1/2 cache mode. RTC: 64762 Change-Id: I1b45f30a2d45c9709d4fd486cfe0ca2ce86b051c Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3773 Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Move sprintf closer to POSIX standardDean Sanner2013-06-111-34/+46
| | | | | | | Change-Id: I87c8abf234bdb1ab96303b14a1a72d9f914e618e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4380 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Enhance heap corruption detection.Patrick Williams2013-05-011-25/+31
| | | | | | | | Change-Id: I25ec156fe3c9088d2de2254017407dbadd2fac31 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4255 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Add 'SUPPRESS_UNUSED_VARIABLE' macro to avoid compiler warnings.Patrick Williams2013-04-181-0/+159
| | | | | | | Change-Id: Ic34fa1e141c1d75ea67933c02366016c732ac0c2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4038 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fixes for GCC 4.7Patrick Williams2013-04-171-26/+26
| | | | | | | Change-Id: Ief0b9202e13bd70cf0de84ca3cb20f5c6df4d3d8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4035 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix strict-aliasing violations.Patrick Williams2013-04-171-41/+32
| | | | | | | | | Change-Id: I5f3feae4fb62ed82b52e996d4954d1c638a243b3 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4036 Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Changes to add support for dynamic VIDs on HB.ayma2012-12-181-24/+24
| | | | | | | | | | | | | Changes to put code into HB to do the istep 13.1 and 13.5 which is disable_vddr and enable_vddr respectively This is in conjunction with story 37517 on the hwsv side RTC: 34041 Change-Id: Id09a78e581d2a778d781e2683cc7ec26c8d45153 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2687 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support code coverage in extended modules.Patrick Williams2012-10-091-53/+54
| | | | | | | | | | | | | | | | | - Reduce optimization (to -Os) to fit when doing coverage profile. - Remove errl storage area from base image. - Add GCC function attributes to sys library functions. RTC: 36933 Change-Id: Ic83011a2444ef5b735db0446a14a0af34187eebf Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1908 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Melissa J. Connell <missyc@us.ibm.com> Reviewed-by: Paul Nguyen <nguyenp@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Memory leak in splaytree and testcase.Patrick Williams2012-09-041-23/+32
| | | | | | | | | Change-Id: I15515e3f63c8c24dc79da760b47411bf7ca6577a Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1579 Tested-by: Jenkins Server Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Reduce timeslice for idle task based on wake time of sleeping tasksDoug Gilbert2012-07-281-122/+161
| | | | | | | | | RTC: 43738 Change-Id: I91c2bfe57bba04a02dd5169542de8e76e1654ae8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1387 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support for core_activate via IPI.Patrick Williams2012-07-161-1/+1
| | | | | | | | RTC: 37009 Change-Id: I56669805c86d9659a20ad7c26e5e9860c7a248c7 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1087 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Attribute Support for proc_setup_bars and mss_setup_barsMark Wenning2012-07-121-10/+3
| | | | | | | | | | RTC: 42296 Change-Id: I9f470f9e41c22ed28bd0365aec23b91414258945 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1235 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Mark W. Wenning <wenning@us.ibm.com>
* Fix const-correctness bug in std::map splay tree implementationMike Jones2012-06-211-24/+24
| | | | | | | | | | | | Code that uses std::map::find on a reference to a constant map in order to get a const_iterator fails due to a missing const in the underlying splay tree implementation. This is Patrick's fix! Change-Id: Ifcf65b097f55a635d24774c81fdbf380e9058943 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1234 Reviewed-by: Mark W. Wenning <wenning@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Enhanced STL capabilities.Patrick Williams2012-05-211-0/+189
| | | | | | | | | | | | | | | | | | | - max_element - for_each - remove / remove_if - unique - sort - mem_fun / mem_fun_ref - bind1st / bind2nd RTC: 41636 Change-Id: Icf15ef90562ed20097306a15f4a314e05511b199 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1068 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Bradley W. Bishop <bradleyb@us.ibm.com> Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix includes for map.Patrick Williams2012-05-081-0/+1
| | | | | | | Change-Id: I0538a16893609442a337c22aef404c95da914532 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1037 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Fix broken map::operator[].Patrick Williams2012-04-051-1/+0
| | | | | | | | | | | | | | | | According to the STL documentation, 'insert' should do nothing if attempting to insert an item that already exists. This allows [] to be implemented as a form of insert(pair(key, data_T())). Our insert was actually updating the data portion of the map, which was causing operator[] to always erase the data portion of any lookup. Change-Id: I5b2ae1934dbd81d71df4b56d83e2f04f53f0e525 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/825 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Bradley W. Bishop <bradleyb@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Improve std::map by using a SplayTree container.Patrick Williams2012-03-294-0/+1482
| | | | | | | | | | | | | | | | | Originally std::map was implemented as a linked list. Some of the maps in PORE and PRD code will be big enough that this is very inefficient. Converted std::map to a binary search tree implementation based on the Splay-Tree algorithm. RTC: 34071 Change-Id: If77c017f5d95920f8010991e7f087cbe571ca2e9 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/790 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Bradley W. Bishop <bradleyb@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* STL advance / distance.Patrick Williams2012-02-224-7/+237
| | | | | | | | | | Change-Id: I9cdf9459f2970def812b1681897fe7d0cdda37ac Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/669 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* ThreadPoolPatrick Williams2012-02-222-0/+172
| | | | | | | | | | | Change-Id: I09bf867a2dbb45e063e4785f5b2b1f705fae72c8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/680 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Bradley W. Bishop <bradleyb@us.ibm.com> Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* collectTrace to allow partial trace buffer collectionMonte Copeland2011-11-211-6/+12
| | | | | | | Change-Id: I06ce6df416f38c4619281180ea8515c90f8f2fab Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/498 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* new HEAP manager to reduce fragmentationDoug Gilbert2011-10-252-40/+57
| | | | | | | | Change-Id: Ibe725a43e6366d9113ec99df1cc6aafa7bbb770e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/431 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
* Remove dangling node pointer in pqueues.Patrick Williams2011-10-241-6/+9
| | | | | | | | Change-Id: Ic4852c3e0ba9a3fc4f489238a2b63eef5eca6fa2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/456 Tested-by: Jenkins Server Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support task_wait / task_wait_tid syscalls:Patrick Williams2011-10-241-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | - 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>
* Adding a basic interface and implementation to the Segment/BlockDan Crowell2011-09-061-0/+6
| | | | | | | | | | | | | path to update the LRU statistics when the PageTableManager code clears the reference bit. This is not meant to be a complete implementation (different Task is open for that). This is Task 3400. Change-Id: If67efd16ead6f68a74f5f5a698013c1b852864d9 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/231 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Dynamic stack support.Patrick Williams2011-08-311-17/+17
| | | | | | | | | | - Create stack segment. - Allocate stack blocks on stack create. Change-Id: Ida90055afb68f208c479b5fdc19d3d931d026105 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/271 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Ensure scratch operations happen on master core.Patrick Williams2011-08-311-0/+62
| | | | | | | | Change-Id: I970d645108de041d410599847edce877cb794015 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/275 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Add copyright headers to all source files.Patrick Williams2011-08-2410-0/+220
| | | | | | | 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
* Virtual File System module load and unloaddgilbert2011-08-171-0/+3
| | | | | | | | Change-Id: Iaa6a256a8a15ac48bfba5bc1cab292c5ac246166 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/253 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add %s string formatting support to traceCamVan Nguyen2011-08-101-0/+6
| | | | | | | Change-Id: I14ea6717dfd8e98895345e86e32e82c637c26289 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/234 Tested-by: Jenkins Server Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com>
* Optimization on queue size.Patrick Williams2011-03-281-11/+5
|
* Add size function to queue container.Patrick Williams2011-03-271-1/+22
|
* Merge of PowerHAL project up to commit:Patrick Williams2011-03-053-0/+424
| | | | dd45c30bd53d8e6c123165b83842d08117558a3c
* Add nanosleep syscall.Patrick Williams2010-10-041-0/+112
|
* Add messagingPatrick Williams2010-06-242-1/+154
|
* Add mutex userspace / syscalls.Patrick Williams2010-06-112-9/+44
|
* Change scheduler to locked queue instead of stack-pair.Patrick Williams2010-06-091-0/+73
|
* Kernel spinlock support.Patrick Williams2010-06-091-0/+20
|
* Refactor task-manager tid counter to generic lockfree algorithm.Patrick Williams2010-06-091-0/+23
|
* Add transaction counters to upper word of lockfree-stack head, to prevent ↵Patrick Williams2010-05-211-7/+17
| | | | ABA issues.
* Move pagemgr to generic lock free structure.Patrick Williams2010-05-211-0/+47
|
* Create simple console.Patrick Williams2010-05-181-0/+18
OpenPOWER on IntegriCloud