add initial documentation for integer options

pull/69/head
Daniel Micay 2018-11-16 15:36:34 -05:00
parent f3623e1f2b
commit 8a38c4fb2a
1 changed files with 24 additions and 12 deletions

View File

@ -59,8 +59,9 @@ make command as follows:
make CONFIG_EXAMPLE=false make CONFIG_EXAMPLE=false
Configuration options are provided when there are significant compromises Configuration options are provided when there are significant compromises
between portability, performance, memory usage or security. The following between portability, performance, memory usage or security.
options are available:
The following boolean configuration options are available:
* `CONFIG_NATIVE`: `true` (default) or `false` to control whether the code is * `CONFIG_NATIVE`: `true` (default) or `false` to control whether the code is
optimized for the detected CPU on the host. If this is disabled, setting up a optimized for the detected CPU on the host. If this is disabled, setting up a
@ -102,17 +103,28 @@ options are available:
contained within an isolated memory region with high entropy random guard contained within an isolated memory region with high entropy random guard
regions around it. regions around it.
The following are more advanced configuration options without proper sanity The following integer configuration options are available. Proper sanity checks
checks and documentation written yet, so use them at your own peril: for the chosen values are not written yet, so use them at your own peril:
* `CONFIG_SLAB_QUARANTINE_RANDOM_SIZE`: `0` (default) * `CONFIG_SLAB_QUARANTINE_RANDOM_SIZE`: `0` (default) to control the number of
* `CONFIG_SLAB_QUARANTINE_QUEUE_SIZE`: `0` (default) slots in the random array used to randomize reuse for small memory
* `CONFIG_GUARD_SLABS_INTERVAL`: `1` (default) allocations
* `CONFIG_GUARD_SIZE_DIVISOR`: `2` (default) * `CONFIG_SLAB_QUARANTINE_QUEUE_SIZE`: `0` (default) to control the number of
* `CONFIG_REGION_QUARANTINE_RANDOM_SIZE`: `128` (default) slots in the queue used to delay reuse for small memory allocations
* `CONFIG_REGION_QUARANTINE_QUEUE_SIZE`: `1024` (default) * `CONFIG_GUARD_SLABS_INTERVAL`: `1` (default) to control the number of slabs
* `CONFIG_REGION_QUARANTINE_SKIP_THRESHOLD`: `33554432` (default) before a slab is skipped and left as an unused memory protected guard slab
* `CONFIG_FREE_SLABS_QUARANTINE_RANDOM_SIZE`: `32` (default) * `CONFIG_GUARD_SIZE_DIVISOR`: `2` (default) to control the maximum size of the
guard regions placed on both sides of large memory allocations, relative to
the usable size of the memory allocation
* `CONFIG_REGION_QUARANTINE_RANDOM_SIZE`: `128` (default) to control the number
of slots in the random array used to randomize region reuse for large memory
allocations
* `CONFIG_REGION_QUARANTINE_QUEUE_SIZE`: `1024` (default) to control the number
of slots in the queue used to delay region reuse for large memory allocations
* `CONFIG_REGION_QUARANTINE_SKIP_THRESHOLD`: `33554432` (default) to control
the size threshold where large allocations will not be quarantined
* `CONFIG_FREE_SLABS_QUARANTINE_RANDOM_SIZE`: `32` (default) to control the
number of slots in the random array used to randomize free slab reuse
There will be more control over enabled features in the future along with There will be more control over enabled features in the future along with
control over fairly arbitrarily chosen values like the size of empty slab control over fairly arbitrarily chosen values like the size of empty slab