KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
init.h File Reference

Initialization-related flags and macros. More...

#include <kos/cdefs.h>
#include <arch/init_flags.h>
#include <kos/init_base.h>
#include <stdint.h>

Go to the source code of this file.

Macros

#define KOS_INIT_FLAGS(flags)    _KOS_INIT_FLAGS(flags, __kos_cplusplus)
 Exports and initializes the given KOS subsystems.
 
#define KOS_INIT_ROMDISK(rd)
 Deprecated and not useful anymore.
 
#define KOS_INIT_ROMDISK_NONE   NULL
 State that you don't want a romdisk.
 
#define KOS_INIT_EARLY(func)   void (*__kos_init_early_fn)(void) = (func)
 Register a single function to be called very early in the boot process, before the BSS section is cleared.
 
#define INIT_DEFAULT
 Default init flags (IRQs on, preemption enabled, romdisks).
 
#define INIT_NONE   0x00000000
 Don't init optional things.
 
#define INIT_IRQ   0x00000001
 Enable IRQs at startup.
 
#define INIT_THD_PREEMPT   0x00000002
 
#define INIT_NET   0x00000004
 Enable built-in networking.
 
#define INIT_MALLOCSTATS   0x00000008
 Enable malloc statistics.
 
#define INIT_QUIET   0x00000010
 Disable dbgio.
 
#define INIT_EXPORT   0x00000020
 Export kernel symbols.
 
#define INIT_FS_ROMDISK   0x00000040
 Enable support for romdisks.
 
#define INIT_NO_SHUTDOWN   0x00000080
 Disable hardware shutdown.
 

Variables

const void * __kos_romdisk
 Built-in romdisk.
 

Detailed Description

Initialization-related flags and macros.

This file provides initialization-related flags and macros that can be used to set up various subsystems of KOS on startup. Only flags that are architecture-independent are specified here, however this file also includes the architecture-specific file to bring in those flags as well.

See also
arch/init_flags.h
kos/init_base.h
Author
Megan Potter
Lawrence Sebald
Paul Cercueil
Falco Girgis

Macro Definition Documentation

◆ KOS_INIT_ROMDISK

#define KOS_INIT_ROMDISK ( rd)
Value:
const void *__kos_romdisk = (rd); \
extern void fs_romdisk_mount_builtin_legacy(void); \
void (*fs_romdisk_mount_builtin_legacy_weak)(void) = fs_romdisk_mount_builtin_legacy
const void * __kos_romdisk
Built-in romdisk.

Deprecated and not useful anymore.

◆ KOS_INIT_ROMDISK_NONE

#define KOS_INIT_ROMDISK_NONE   NULL

State that you don't want a romdisk.

Variable Documentation

◆ __kos_romdisk

const void* __kos_romdisk
extern

Built-in romdisk.

Do not modify this directly!