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:
@@ -12,6 +12,8 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern status_t boot_item_init(void);
|
||||||
|
|
||||||
extern status_t add_boot_item(const char *name, void *data, size_t size);
|
extern status_t add_boot_item(const char *name, void *data, size_t size);
|
||||||
extern void *get_boot_item(const char *name);
|
extern void *get_boot_item(const char *name);
|
||||||
|
|
||||||
|
|||||||
@@ -60,3 +60,13 @@ get_boot_item(const char *name)
|
|||||||
return NULL;
|
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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include <elf.h>
|
#include <elf.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
#include <kdriver_settings.h>
|
#include <kdriver_settings.h>
|
||||||
|
#include <boot_item.h>
|
||||||
#include <kmodule.h>
|
#include <kmodule.h>
|
||||||
#include <int.h>
|
#include <int.h>
|
||||||
#include <team.h>
|
#include <team.h>
|
||||||
@@ -100,6 +101,7 @@ _start(kernel_args *oldka, int cpu_num)
|
|||||||
|
|
||||||
// now we can use the heap and create areas
|
// now we can use the heap and create areas
|
||||||
TRACE(("init driver_settings\n"));
|
TRACE(("init driver_settings\n"));
|
||||||
|
boot_item_init();
|
||||||
driver_settings_init(&ka);
|
driver_settings_init(&ka);
|
||||||
debug_init_post_vm(&ka);
|
debug_init_post_vm(&ka);
|
||||||
int_init_post_vm(&ka);
|
int_init_post_vm(&ka);
|
||||||
|
|||||||
Reference in New Issue
Block a user