Age | Commit message (Collapse) | Author |
|
|
|
Instead of combining assertions and checking into single functions,
rework those into pure checking functions usable with assert().
Those functions were introduced because of warnings about unused
functions/variables caused by an earlier implementation of assert().
|
|
|
|
Note that this commit changes the order of some list operations without
triggering warnings.
|
|
Use standard errno codes. This change also adds strerror to string.h.
|
|
|
|
|
|
|
|
Radix trees are going to be used to VM objects, which makes them a dependency
for proper virtual memory operations. They must not use virtual memory
themselves.
|
|
This turns limits.h into a standard header.
|
|
This turns assert.h into a standard header.
|
|
This reverts commit b1aa94d0c7dba4138f651e6b081c1a0055ea8d54.
New occurrences of #error are also affected by this commit.
|
|
|
|
Instead of mixing standard headers and internal redefinitions of standard
types, completely rely on the compiler for what is guaranteed for a free
standing environment. This results in the removal of kern/stddef.h and
kern/stdint.h. The kern/types.h header is reintroduced for the different
(and saner) purpose of defining types not specified in standard C,
namely ssize_t for now.
|
|
|
|
|
|
This module is currently unused and it is likely that a radix tree won't
be easy to use as a generic library in the kernel. This means the code
is very likely to return, tightly integrated as part of other modules.
|
|
|
|
|
|
|
|
When the radix value is 6, always typedef to unsigned long long.
|
|
A tree node is larger than 512 bytes on a 64-bit machine. Initializing it
on each allocation can get noticeably slow in case there is hysteresis.
|
|
This module implements radix trees, a data structure consisting of a tree
of arrays which can store many items while guaranteeing a small maximum
tree height.
|