History log of /haiku/headers/private/kernel/kernel.h
Revision Date Author Comments
# f8920471 03-Jun-2022 Jessica Hamilton <jessica.l.hamilton@gmail.com>

kernel.h: don't include user address tests in boot loader


# 77694f92 03-Jun-2022 Augustin Cavalier <waddlesplash@gmail.com>

kernel: Move validate_user_memory_range to kernel.h and rename it.

It has more general use than just in the VM code; basically anything
which receives buffers from userland should be invoking this if it
does anything besides user_memcpy (which alreay does it.)


# cc672163 20-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel: Toggle not toogle; no functional change


# a8f90110 18-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

h2: Fix bluetooth driver build, missing PrivateKernelHeaders

* We likely should move all of this stuff to normal
atomic test and set operations at some point.


# e2183a14 04-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

Increased kernel stack size by another page for 64-bit

* USB boot now works on x86_64 with PM.


# d93ed095 02-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Improved safety for user memory accesses.

* Changed IS_USER_ADDRESS to check an address using USER_BASE and
USER_SIZE, rather than just !IS_KERNEL_ADDRESS. The old check would
allow user buffers to point into the physical memory map area.
* Added an unmapped hole at the end of the bottom half of the address
space which catches buffers that cross into the uncanonical address
region. This also removes the need to check for uncanonical return
addresses in the syscall handler, it is no longer possible for the
return address to be uncanonical under normal circumstances. All
cases in which the return address might be changed by the kernel
are still handled via the IRET path.


# 15feb603 06-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

A few improvements suggested by Ingo.


# 0536ff83 03-Jan-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* IS_KERNEL_ADDRESS(): Avoid the check against KERNEL_BASE or KERNEL_TOP, if
that's the limit of the addr_t domain anyway.
* Defined IS_USER_ADDRESS() to !IS_KERNEL_ADDRESS(), which semantically it was
already, just more verbosely.

Should, in the future, avoid hundreds of useless Coverity tickets where the
macros are used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40093 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 01f964ef 08-Sep-2010 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Introduce a gSystemShutdown flag to be able to check if system is shutting down. ACPI Embedded Controller now uses polling when it is set to true.
This might help with ACPI shutdown issues, if not this change can be reverted. Not verified as it works on all my machines even without this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38585 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea2abd11 02-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed the ROUNDOWN macro to ROUNDDOWN. Also changed the implementation of
ROUNDUP to use '*' and '/' -- the compiler will optimize that for powers of
two anyway and this implementation works for other numbers as well.
* The thread::fault_handler use in C[++] code was broken with gcc 4. At least
when other functions were invoked. Trying to trick the compiler wasn't a
particularly good idea anyway, since the next compiler version could break
the trick again. So the general policy is to use the fault handlers only in
assembly code where we have full control. Changed that for x86 (save for the
vm86 mode, which has a similar mechanism), but not for the other
architectures.
* Introduced fault_handler, fault_handler_stack_pointer, and fault_jump_buffer
fields in the cpu_ent structure, which must be used instead of
thread::fault_handler in the kernel debugger. Consequently user_memcpy() must
not be used in the kernel debugger either. Introduced a debug_memcpy()
instead.
* Introduced debug_call_with_fault_handler() function which calls a function
in a setjmp() and fault handler context. The architecture specific backend
arch_debug_call_with_fault_handler() has only been implemented for x86 yet.
* Introduced debug_is_kernel_memory_accessible() for use in the kernel
debugger. It determines whether a range of memory can be accessed in the
way specified. The architecture specific back end
arch_vm_translation_map_is_kernel_page_accessible() has only been implemented
for x86 yet.
* Added arch_debug_unset_current_thread() (only implemented for x86) to unset
the current thread pointer in the kernel debugger. When entering the kernel
debugger we do some basic sanity checks of the currently set thread structure
and unset it, if they fail. This allows certain commands (most importantly
the stack trace command) to avoid accessing the thread structure.
* x86: When handling a double fault, we do now install a special handler for
page faults. This allows us to gracefully catch faulting commands, even if
e.g. the thread structure is toast.

We are now in much better shape to deal with double faults. Hopefully avoiding
the triple faults that some people have been experiencing on their hardware
and ideally even allowing to use the kernel debugger normally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32073 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 57f2b5a0 05-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed the meaning of the {KERNEL,USER}_STACK_SIZE macros to not
include the guard pages. Adjusted the kernel and boot loader code
accordingly -- the guard pages size is added/not removed respectively.
The stack size passed to _kern_spawn_thread() is now the actually usable
size, and it is no longer possible to specify a size smaller than or
equal to the guard pages size.
* vm_create_anonymous_area(): Precommit two pages maximum -- a stack with
only one page usable size obviously doesn't need two pages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26819 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 27245755 02-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Renamed kernel_startup to gKernelStartup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b202f4e 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4c49f205 08-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed _kern_spawn_thread() and create_thread(): Instead of individual
arguments they get a single thread_creation_attributes structure now.
* Added stack_address and stack_size to thread_creation_attributes,
which allow to specify the stack size or the stack to be used for the
new user thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25389 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aeb67bdb 19-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Increased kernel stack size by another page. The network boot is more
stack hungry and would previously hit the stack limit and thus cause a
double fault. Hopefully we'll be able to reduce the stack foot print at
some time.
PXE boot does now fully work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21663 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77bf99de 23-May-2007 Hugo Santos <hugosantos@nowhere.fake>

fixed the way accept() works in regards to the cookie pointer. It is no longer visible to userspace, we pass the fd instead. Also renamed kernel's shutdown() to system_shutdown as it collides with Posix's shutdown().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21223 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f97a4547 05-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Enabled debugging kernel stacks by default for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16583 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f80b1fa5 12-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Moved the kernel_startup variable declaration from int.h to kernel.h (it's defined in main.c).
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12327 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 791fc0bf 26-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Added _user_shutdown() prototype.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10249 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b380c5b 19-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Added a comment why debugging kernel stacks doesn't work like one would expect.
Added prototype for new shutdown() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10041 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9ebc403c 18-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Renamed KSTACK_SIZE to KERNEL_STACK_SIZE, STACK_SIZE to USER_STACK_SIZE,
MAIN_THREAD_STACK_SIZE to USER_MAIN_THREAD_STACK_SIZE.
Added support for stack overflow debugging: in userspace, the lower (on x86)
4 pages will be used to detect stack overflows. It's disabled for kernel
stacks by default.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10013 a95241bf-73f2-0310-859d-f6bbb57e9c96


# afad65de 19-Oct-2004 Axel Dörfler <axeld@pinc-software.de>

Replaced all remaining PAGE_SIZE with B_PAGE_SIZE, addr with addr_t.
Removed the definition of PAGE_SIZE and addr.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab7ada64 22-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Renamed the CHECK_USER_ADDRESS() macro to IS_USER_ADDRESS().
Added a IS_KERNEL_ADDRESS() macro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6673 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20dde762 07-Jan-2003 Axel Dörfler <axeld@pinc-software.de>

I've added a MAIN_THREAD_STACK_SIZE definition, and put the corresponding
BeOS values commented beneath it.
For now MAIN_THREAD_STACK_SIZE is the same as STACK_SIZE.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2377 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f3a4e7d 28-Oct-2002 Axel Dörfler <axeld@pinc-software.de>

Cleaned up kernel.h; the insque(), remque() functions are now in a separate
header kqueue.h - together with their implementation which was in module.c
Added a new CHECK_USER_ADDRESS() macro that can be used to check if a
user address points into the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bee4b99 25-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

removed some old, unneeded cruft


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1650 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4e3c12c0 22-Sep-2002 Axel Dörfler <axeld@pinc-software.de>

Moved <types.h> to <sys/types.h>.
Removed dependencies on arch/x86/types.h - this file is not really used
anymore, now. Might prevent compiling on Windows, though.
Replaced "int" with "int32" for the id types.
Removed some stuff from ktypes.h because it didn't belong there.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1120 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0ba337c0 18-Jul-2002 lillo <lillo@nowhere.fake>

adding environmental variables support


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@304 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 48535f18 10-Jul-2002 David Reid <dreid@nowhere.fake>

offsetof, insque and remque can be used throughout the kernel,
so move their definitions here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@35 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cc6721633307c6f2bc07277f75f894ee88154e30 20-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel: Toggle not toogle; no functional change


# a8f9011015d0a7b00d0fd0772ede3e9fec6347e0 18-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

h2: Fix bluetooth driver build, missing PrivateKernelHeaders

* We likely should move all of this stuff to normal
atomic test and set operations at some point.


# e2183a14c48be8baa8d24f896cb6d7609af81dfa 04-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

Increased kernel stack size by another page for 64-bit

* USB boot now works on x86_64 with PM.


# d93ed095640345495ace3b653ea87b66815c7c81 02-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Improved safety for user memory accesses.

* Changed IS_USER_ADDRESS to check an address using USER_BASE and
USER_SIZE, rather than just !IS_KERNEL_ADDRESS. The old check would
allow user buffers to point into the physical memory map area.
* Added an unmapped hole at the end of the bottom half of the address
space which catches buffers that cross into the uncanonical address
region. This also removes the need to check for uncanonical return
addresses in the syscall handler, it is no longer possible for the
return address to be uncanonical under normal circumstances. All
cases in which the return address might be changed by the kernel
are still handled via the IRET path.


# 15feb60325be086823e80a3468f7aab2bfbc9f7d 06-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

A few improvements suggested by Ingo.


# 0536ff83e9a8ede84dcecb6d446814a218d05824 03-Jan-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* IS_KERNEL_ADDRESS(): Avoid the check against KERNEL_BASE or KERNEL_TOP, if
that's the limit of the addr_t domain anyway.
* Defined IS_USER_ADDRESS() to !IS_KERNEL_ADDRESS(), which semantically it was
already, just more verbosely.

Should, in the future, avoid hundreds of useless Coverity tickets where the
macros are used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40093 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 01f964efebc3ee74f0733fbdf921817ddb6c1a6f 08-Sep-2010 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Introduce a gSystemShutdown flag to be able to check if system is shutting down. ACPI Embedded Controller now uses polling when it is set to true.
This might help with ACPI shutdown issues, if not this change can be reverted. Not verified as it works on all my machines even without this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38585 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea2abd110bd6a4518a954477562e2dd94a5fef9d 02-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed the ROUNDOWN macro to ROUNDDOWN. Also changed the implementation of
ROUNDUP to use '*' and '/' -- the compiler will optimize that for powers of
two anyway and this implementation works for other numbers as well.
* The thread::fault_handler use in C[++] code was broken with gcc 4. At least
when other functions were invoked. Trying to trick the compiler wasn't a
particularly good idea anyway, since the next compiler version could break
the trick again. So the general policy is to use the fault handlers only in
assembly code where we have full control. Changed that for x86 (save for the
vm86 mode, which has a similar mechanism), but not for the other
architectures.
* Introduced fault_handler, fault_handler_stack_pointer, and fault_jump_buffer
fields in the cpu_ent structure, which must be used instead of
thread::fault_handler in the kernel debugger. Consequently user_memcpy() must
not be used in the kernel debugger either. Introduced a debug_memcpy()
instead.
* Introduced debug_call_with_fault_handler() function which calls a function
in a setjmp() and fault handler context. The architecture specific backend
arch_debug_call_with_fault_handler() has only been implemented for x86 yet.
* Introduced debug_is_kernel_memory_accessible() for use in the kernel
debugger. It determines whether a range of memory can be accessed in the
way specified. The architecture specific back end
arch_vm_translation_map_is_kernel_page_accessible() has only been implemented
for x86 yet.
* Added arch_debug_unset_current_thread() (only implemented for x86) to unset
the current thread pointer in the kernel debugger. When entering the kernel
debugger we do some basic sanity checks of the currently set thread structure
and unset it, if they fail. This allows certain commands (most importantly
the stack trace command) to avoid accessing the thread structure.
* x86: When handling a double fault, we do now install a special handler for
page faults. This allows us to gracefully catch faulting commands, even if
e.g. the thread structure is toast.

We are now in much better shape to deal with double faults. Hopefully avoiding
the triple faults that some people have been experiencing on their hardware
and ideally even allowing to use the kernel debugger normally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32073 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 57f2b5a0137be29081ab719ae33ebabddc95b78b 05-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed the meaning of the {KERNEL,USER}_STACK_SIZE macros to not
include the guard pages. Adjusted the kernel and boot loader code
accordingly -- the guard pages size is added/not removed respectively.
The stack size passed to _kern_spawn_thread() is now the actually usable
size, and it is no longer possible to specify a size smaller than or
equal to the guard pages size.
* vm_create_anonymous_area(): Precommit two pages maximum -- a stack with
only one page usable size obviously doesn't need two pages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26819 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 272457553e0ff0860cf931c1d193c2c6020a7da8 02-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Renamed kernel_startup to gKernelStartup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b202f4e3da73d4c131355fcd82b792d153f84f6 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4c49f2056bbec860092e8c26520398b4121f8d1a 08-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed _kern_spawn_thread() and create_thread(): Instead of individual
arguments they get a single thread_creation_attributes structure now.
* Added stack_address and stack_size to thread_creation_attributes,
which allow to specify the stack size or the stack to be used for the
new user thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25389 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aeb67bdb8f6b02b3c791c678e1e8da5a08eb70d6 19-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Increased kernel stack size by another page. The network boot is more
stack hungry and would previously hit the stack limit and thus cause a
double fault. Hopefully we'll be able to reduce the stack foot print at
some time.
PXE boot does now fully work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21663 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77bf99deb063b8a1cc825a826a772e4045e51d10 23-May-2007 Hugo Santos <hugosantos@nowhere.fake>

fixed the way accept() works in regards to the cookie pointer. It is no longer visible to userspace, we pass the fd instead. Also renamed kernel's shutdown() to system_shutdown as it collides with Posix's shutdown().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21223 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f97a4547ac78b4c00562c7d738aaf6cf36c5e210 05-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Enabled debugging kernel stacks by default for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16583 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f80b1fa5b588ca611fea1ab142dbaba6b9eaa733 12-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Moved the kernel_startup variable declaration from int.h to kernel.h (it's defined in main.c).
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12327 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 791fc0bf95e99395aea0735d3ec881c9ce2df7a9 26-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Added _user_shutdown() prototype.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10249 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b380c5b9f49baf8ce69855eb7d56cc941d37097 19-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Added a comment why debugging kernel stacks doesn't work like one would expect.
Added prototype for new shutdown() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10041 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9ebc403c77a6254498fd99ce41e30f17e3312370 18-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Renamed KSTACK_SIZE to KERNEL_STACK_SIZE, STACK_SIZE to USER_STACK_SIZE,
MAIN_THREAD_STACK_SIZE to USER_MAIN_THREAD_STACK_SIZE.
Added support for stack overflow debugging: in userspace, the lower (on x86)
4 pages will be used to detect stack overflows. It's disabled for kernel
stacks by default.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10013 a95241bf-73f2-0310-859d-f6bbb57e9c96


# afad65ded7a1258fc91659fb456f1a90d08e0598 19-Oct-2004 Axel Dörfler <axeld@pinc-software.de>

Replaced all remaining PAGE_SIZE with B_PAGE_SIZE, addr with addr_t.
Removed the definition of PAGE_SIZE and addr.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab7ada645af30cb30b0424b22cd8a26cdc3c53b6 22-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Renamed the CHECK_USER_ADDRESS() macro to IS_USER_ADDRESS().
Added a IS_KERNEL_ADDRESS() macro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6673 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20dde762567720a1b6845dfe30d35a876bef84d3 07-Jan-2003 Axel Dörfler <axeld@pinc-software.de>

I've added a MAIN_THREAD_STACK_SIZE definition, and put the corresponding
BeOS values commented beneath it.
For now MAIN_THREAD_STACK_SIZE is the same as STACK_SIZE.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2377 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f3a4e7dd471d82b83eca55aa05af0cbc1809e94 28-Oct-2002 Axel Dörfler <axeld@pinc-software.de>

Cleaned up kernel.h; the insque(), remque() functions are now in a separate
header kqueue.h - together with their implementation which was in module.c
Added a new CHECK_USER_ADDRESS() macro that can be used to check if a
user address points into the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bee4b993167a147a0caa8c18d74029afad1ebcb 25-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

removed some old, unneeded cruft


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1650 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4e3c12c0afa8bb6c5f314e5bc305cc5b6c835a5a 22-Sep-2002 Axel Dörfler <axeld@pinc-software.de>

Moved <types.h> to <sys/types.h>.
Removed dependencies on arch/x86/types.h - this file is not really used
anymore, now. Might prevent compiling on Windows, though.
Replaced "int" with "int32" for the id types.
Removed some stuff from ktypes.h because it didn't belong there.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1120 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0ba337c0a41c6245ba204209d7b899dc03767bd6 18-Jul-2002 lillo <lillo@nowhere.fake>

adding environmental variables support


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@304 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 48535f1870c0fc97d514f5f05d285aef00f361f8 10-Jul-2002 David Reid <dreid@nowhere.fake>

offsetof, insque and remque can be used throughout the kernel,
so move their definitions here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@35 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96