base: hide internals of the Thread API

This patch moves details about the stack allocation and organization
the base-internal headers. Thereby, I replaced the notion of "thread
contexts" by "stacks" as this term is much more intuitive. The fact that
we place thread-specific information at the bottom of the stack is not
worth introducing new terminology.

Issue #1832
This commit is contained in:
Norman Feske
2016-01-23 14:42:55 +01:00
committed by Christian Helmuth
parent 3c686fc9c6
commit 7f73e5e879
115 changed files with 982 additions and 770 deletions

View File

@ -26,7 +26,7 @@
* Genode from POSIX.
*/
extern Genode::addr_t _context_area_start;
extern Genode::addr_t _stack_area_start;
namespace Genode {
@ -128,21 +128,21 @@ namespace Genode {
struct Native_config
{
/**
* Thread-context area configuration.
* Stack area configuration
*
* Please update platform-specific files after changing these
* functions, e.g., 'base-linux/src/ld/context_area.*.ld'.
* functions, e.g., 'base-linux/src/ld/stack_area.*.ld'.
*/
static addr_t context_area_virtual_base() {
return align_addr((addr_t)&_context_area_start, 20); }
static addr_t stack_area_virtual_base() {
return align_addr((addr_t)&_stack_area_start, 20); }
static constexpr addr_t context_area_virtual_size() {
static constexpr addr_t stack_area_virtual_size() {
return 0x10000000UL; }
/**
* Size of virtual address region holding the context of one thread
* Size of virtual address region holding the stack of one thread
*/
static constexpr addr_t context_virtual_size() { return 0x00100000UL; }
static constexpr addr_t stack_virtual_size() { return 0x00100000UL; }
};
class Native_pd_args