8#include <kernel/version.h>
18 if (argCount != 1 || args[0]->type !=
AML_STRING)
24 LOG_DEBUG(
"_OSI called with argument: '%.*s'\n", (
int)args[0]->
string.length, args[0]->
string.content);
137 .isSerialized =
true,
154 .isSerialized =
true,
171 .isSerialized =
true,
uint64_t aml_namespace_add_child(aml_namespace_overlay_t *overlay, aml_object_t *parent, aml_name_t name, aml_object_t *object)
Add an child to a parent in the namespace heirarchy.
#define AML_NAME(a, b, c, d)
Macro to create an aml_name_t from 4 characters.
uint32_t aml_name_t
Name type.
uint64_t aml_method_set(aml_object_t *object, aml_method_flags_t flags, const uint8_t *start, const uint8_t *end, aml_method_implementation_t implementation)
Set a object as a method with the given flags and address range.
uint64_t aml_mutex_set(aml_object_t *object, aml_sync_level_t syncLevel)
Set a object as a mutex with the given synchronization level.
uint64_t aml_integer_set(aml_object_t *object, aml_integer_t value)
Set a object as an integer with the given value and bit width.
aml_object_t * aml_object_new(void)
Allocate a new ACPI object.
uint64_t aml_string_set(aml_object_t *object, const char *str)
Set a object as a string with the given value.
uint64_t aml_predefined_scope_set(aml_object_t *object)
Set a object as a predefined scope with the given name.
aml_object_t * aml_os_implementation(aml_method_obj_t *method, aml_object_t **args, uint64_t argCount)
Implementation of the _OS predefined method.
uint64_t aml_predefined_init(void)
Initialize predefined AML names and objects.
aml_object_t * aml_rev_implementation(aml_method_obj_t *method, aml_object_t **args, uint64_t argCount)
Implementation of the _REV predefined method.
aml_mutex_obj_t * aml_gl_get(void)
Get the global AML mutex.
aml_object_t * aml_osi_implementation(aml_method_obj_t *method, aml_object_t **args, uint64_t argCount)
Implementation of the _OSI predefined method.
#define RSDP_CURRENT_REVISION
The expected value of the revision field in the RSDP structure.
#define LOG_DEBUG(format,...)
#define DEREF_DEFER(ptr)
RAII-style cleanup for scoped references.
#define REF(ptr)
Increment reference count.
#define DEREF(ptr)
Decrement reference count.
#define EINVAL
Invalid argument.
#define errno
Error number variable.
#define NULL
Pointer error value.
#define ERR
Integer error value.
static uint64_t aml_create_predefined_scope(aml_name_t name)
static aml_mutex_obj_t * globalMutex
uint8_t argCount
Amount of arguments (0-7)
Data for a method object.