#include <bmk-core/platform.h>
-int bmk_core_init(long, long);
+int bmk_core_init(unsigned long, unsigned long);
#define bmk_assert(x) \
do { \
} \
} while (0)
-extern long bmk_stacksize, bmk_pagesize;
+extern unsigned long bmk_stackpageorder, bmk_stacksize, bmk_pagesize;
#endif /* _BMK_CORE_CORE_H_ */
#include <bmk-core/core.h>
-long bmk_stacksize;
-long bmk_pagesize;
+unsigned long bmk_stackpageorder;
+unsigned long bmk_stacksize;
+unsigned long bmk_pagesize;
int
-bmk_core_init(long stacksize, long pagesize)
+bmk_core_init(unsigned long stackpageorder, unsigned long pagesize)
{
- bmk_stacksize = stacksize;
+ bmk_stackpageorder = stackpageorder;
+ bmk_stacksize = (1<<stackpageorder) * pagesize;
bmk_pagesize = pagesize;
return 0;
{
bmk_printf_init(bmk_cons_putc, NULL);
- bmk_core_init(BMK_THREAD_STACKSIZE, PAGE_SIZE);
+ bmk_core_init(BMK_THREAD_STACK_PAGE_ORDER, PAGE_SIZE);
bmk_printf("rump kernel bare metal bootstrap\n\n");
if ((mbi->flags & MULTIBOOT_MEMORY_INFO) == 0) {
void _minios_start_kernel(start_info_t *si)
{
- bmk_core_init(STACK_SIZE, PAGE_SIZE);
+ bmk_core_init(STACK_SIZE_PAGE_ORDER, PAGE_SIZE);
arch_init(si);
trap_init();