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:
@@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2005, Axel Dörfler, [email protected].
|
||||||
|
* 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 */
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2004, Axel Dörfler, [email protected].
|
* Copyright 2002-2005, Axel Dörfler, [email protected].
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||||
@@ -13,6 +13,8 @@
|
|||||||
|
|
||||||
#include <boot/elf.h>
|
#include <boot/elf.h>
|
||||||
#include <boot/disk_identifier.h>
|
#include <boot/disk_identifier.h>
|
||||||
|
#include <boot/driver_settings.h>
|
||||||
|
|
||||||
#include <platform_kernel_args.h>
|
#include <platform_kernel_args.h>
|
||||||
#include <arch_kernel_args.h>
|
#include <arch_kernel_args.h>
|
||||||
|
|
||||||
@@ -47,6 +49,8 @@ typedef struct kernel_args {
|
|||||||
off_t partition_offset;
|
off_t partition_offset;
|
||||||
} boot_disk;
|
} boot_disk;
|
||||||
|
|
||||||
|
struct driver_settings_file *driver_settings;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
bool enabled;
|
bool enabled;
|
||||||
int32 width;
|
int32 width;
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2005, Axel Dörfler, [email protected]. 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 */
|
||||||
Reference in New Issue
Block a user