FAQ for defines
===============

Here are the defines to put in config/*/*/md.h to enable features
in kaffe.

KAFFEMD_PAGESIZE
----------------

This macro is to be defined if the OS supports mdGetPageSize().
mdGetPageSize() returns the current page size for the operating system.

KAFFEMD_STACKOVERFLOW
---------------------

This macro is to be defined if the operating system supports stack overflow 
reporting. This macro should require that at least SA_ONSTACK, STACK_POINTER 
and HAVE_SIGALTSTACK are defined. But if the operating system is badly supported
on the architecture this can be left undefined and kaffe will keep the old
behaviour.

KAFFEMD_STACKBASE
-----------------

This macro is to be defined is the platform supports mdGetStackBase(). This
function returns a pointer to the bottom of the stack.

KAFFEMD_STACKEND
-----------------

This macro is to be defined is the platform supports mdGetStackEnd(). This
function returns a pointer to the end of the stack.

KAFFEMD_STACKSIZE
-----------------

This macro specifies whether the platform supports mdGetStackSize(),
mdSetStackSize(), KAFFEMD_STACK_INFINITY and KAFFEMD_STACK_ERROR.
mdGetStackSize() returns the maximum acceptable stack size for the OS.
mdSetStackSize() changes this limit.
KAFFEMD_STACK_INFINITY is an alias for the value representing an infinite
stack size.
KAFFEMD_STACK_ERROR is an alias for the special value representing an error for
mdGetStackSize() (usually 0).

KAFFEMD_DISABLE_SETSTACKSIZE
----------------------------

If set the VM will not use mdSetStackSize to change stack size limit and
will use the default one. However it will retrieve the stack size using
mdGetStackSize().

KAFFEMD_BUGGY_STACKOVERFLOW
---------------------------

This macro indicated that the architecture has a buggy stack overflow handling
and thus kaffe must take care of not enabling some stack protection features.
