The boot item list was not initialized; this was no problem, though, as

no items can be removed from that list - nevertheless, it's wrong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13088 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2005-06-13 13:01:13 +00:00
parent ff9fb62471
commit a69e0ac327
3 changed files with 14 additions and 0 deletions

View File

@ -12,6 +12,8 @@
extern "C" {
#endif
extern status_t boot_item_init(void);
extern status_t add_boot_item(const char *name, void *data, size_t size);
extern void *get_boot_item(const char *name);

View File

@ -60,3 +60,13 @@ get_boot_item(const char *name)
return NULL;
}
status_t
boot_item_init(void)
{
new(&sItemList) ItemList;
// static initializers do not work in the kernel,
// so we have to do it here, manually
return B_OK;
}

View File

@ -25,6 +25,7 @@
#include <elf.h>
#include <cpu.h>
#include <kdriver_settings.h>
#include <boot_item.h>
#include <kmodule.h>
#include <int.h>
#include <team.h>
@ -100,6 +101,7 @@ _start(kernel_args *oldka, int cpu_num)
// now we can use the heap and create areas
TRACE(("init driver_settings\n"));
boot_item_init();
driver_settings_init(&ka);
debug_init_post_vm(&ka);
int_init_post_vm(&ka);