summaryrefslogtreecommitdiffstats
path: root/src/kernel/vmmmgr.C
Commit message (Collapse)AuthorAgeFilesLines
* Optimize PageTableManager and associated VMM.Patrick Williams2012-04-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Changed overall page table behavior to no longer use C bits in page table entries. Instead, individual blocks mark pages as dirty based on stores during page faults. Initially all writable pages are marked read-only until the first store to it. At that time the block gets an exception and changes the permission on the page table entry to writable and marks its own SPTE to dirty. - Greatly reduced the number of tlbie's and page table accesses. Accomplished this by: * Skipping many of the page table manipulations, such as LRU updates, when the PTE is invalid. * Converting most of the previously general-case of "Modifying a PTE" to specific cases such as "Resetting the Reference Bit" and "Modifying the SW field". - Fixed the LRU-flush algorithm so that it is O(n) instead of O(n^2), where n = size of page table. Change-Id: I2520fa88970fd7f656e6348bf6b34d5db82fd3db Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/892 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Support additional device segments and MMIO blocksPatrick Williams2012-01-181-12/+30
| | | | | | | | | Change-Id: Icd2e9ed7de2c0227b25979622d0f37a77595570a Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/609 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* remove mmioMap and mmioUnmap deprecated functions.Missy Connell2011-11-291-17/+0
| | | | | | | | Change-Id: I9d9094d5c6689c9127c6948239c7c9aaebacdfde Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/514 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* BEAM warning fixes.Patrick Williams2011-10-271-5/+5
| | | | | | | | Change-Id: Iada5e8b69c7919d2b59febd861450abeb7c45287 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/451 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Flush/Release/Evict pages functionalityMatthew Barth2011-10-101-4/+20
| | | | | | | Change-Id: Ic0bb4122164e11f6d13e6850abf8ae9bd32caea2 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/393 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* pge permission functionality..Missy Connell2011-10-061-2/+2
| | | | | | | | | | Add code that applies the permissions requested. Add merge conflicts Change-Id: I5911406ba4670714faaf4880399da71692559397 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/353 Tested-by: Jenkins Server Reviewed-by: Melissa J. Connell <missyc@us.ibm.com>
* Mechanism to detect low memory and cast out older pageDoug Gilbert2011-09-191-0/+28
| | | | | | | | Change-Id: Icce8e01f3d1cd2942f2b9ff802993da0441535ee Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/344 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
* Adding new interface to update page permissions.. Interface only.Missy Connell2011-09-151-0/+21
| | | | | | | | | | | | Added changes from review comments Updated new enum for system call Change-Id: I8a55b5e2f67427e59263eae31913e438ca782006 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/331 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Melissa J. Connell <missyc@us.ibm.com>
* Remove page by given TYPE system callMatthew Barth2011-09-141-1/+5
| | | | | | | Change-Id: Iffdd97a75944abbd52dbc72d3aa1394b771fd371 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/333 Tested-by: Jenkins Server Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
* Dynamic stack support.Patrick Williams2011-08-311-1/+3
| | | | | | | | | | - 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>
* map virtual address to physical address in kernelDoug Gilbert2011-08-251-0/+19
| | | | | | | | Change-Id: Id18e604facd517598a18968af3dff927026ad894 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/272 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@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
* Implement Kernel->User-space message bridge.Patrick Williams2011-08-161-0/+5
| | | | | | | 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>
* Allocate block system call stubMatthew Barth2011-08-101-0/+5
| | | | | | | 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>
* Device segment MMIO map & unmap system callsMatthew Barth2011-08-081-1/+26
| | | | | | | 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>
* VMM Improvements.Patrick Williams2011-07-201-172/+21
| | | | | | | | | | | - 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>
* Initial checkin of PageTableManager - RTC:3195Dan Crowell2011-07-141-33/+10
| | | | | | | | | | | 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>
* 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>
* Make VMM more resilient to different image sizes.Patrick Williams2011-03-271-3/+3
|
* Merge of PowerHAL project up to commit:Patrick Williams2011-03-051-2/+2
| | | | dd45c30bd53d8e6c123165b83842d08117558a3c
* Various VMM updates.Patrick Williams2010-09-141-3/+5
| | | | | | | 1) Do SLBIA prior to creating initial SLB entry. 2) Do proper TLBIEs. 3) Set Ks/Kp in SLB properly. 4) Test data storage exception on code space.
* Fix storage protection issue on R-only pages.Patrick Williams2010-09-131-2/+2
|
* Enable -Wall and fix warnings.Patrick Williams2010-08-191-12/+12
|
* MMIO mapping support and syscalls.Patrick Williams2010-07-081-4/+182
|
* SMT support.Patrick Williams2010-07-071-0/+7
|
* Memory map and execution fixes for simics.Patrick Williams2010-07-021-6/+7
|
* Remove extra ptesyncPatrick Williams2010-07-021-3/+0
|
* Start virtual memory management.Patrick Williams2010-07-021-0/+65
OpenPOWER on IntegriCloud