Added driver_settings support to the kernel_args structure.

The driver settings are put into the kernel_args memory section and
copied on kernel startup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10635 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2005-01-10 07:36:08 +00:00
parent 78c5ef46fc
commit 0d4ea07bd7
3 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,19 @@
/*
* Copyright 2005, Axel Dörfler, axeld@pinc-software.de.
* Distributed under the terms of the MIT License.
*/
#ifndef KERNEL_BOOT_DRIVER_SETTINGS_H
#define KERNEL_BOOT_DRIVER_SETTINGS_H
#include <util/list.h>
struct driver_settings_file {
struct driver_settings_file *next;
char name[B_OS_NAME_LENGTH];
char *buffer;
size_t size;
};
#endif /* KERNEL_BOOT_DRIVER_SETTINGS_H */

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2004, Axel Dörfler, axeld@pinc-software.de.
* Copyright 2002-2005, Axel Dörfler, axeld@pinc-software.de.
* Distributed under the terms of the MIT License.
*
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
@ -13,6 +13,8 @@
#include <boot/elf.h>
#include <boot/disk_identifier.h>
#include <boot/driver_settings.h>
#include <platform_kernel_args.h>
#include <arch_kernel_args.h>
@ -47,6 +49,8 @@ typedef struct kernel_args {
off_t partition_offset;
} boot_disk;
struct driver_settings_file *driver_settings;
struct {
bool enabled;
int32 width;

View File

@ -0,0 +1,25 @@
/*
* Copyright 2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _KERNEL_DRIVER_SETTINGS_H
#define _KERNEL_DRIVER_SETTINGS_H
#include <SupportDefs.h>
struct kernel_args;
#ifdef __cplusplus
extern "C" {
#endif
status_t driver_settings_init(struct kernel_args *args);
status_t driver_settings_init_post_sem(struct kernel_args *args);
#ifdef __cplusplus
}
#endif
#endif /* _KRENEL_DRIVER_SETTINGS_H */