🆕 创建了acpi模块

This commit is contained in:
fslongjin
2022-03-13 00:31:46 +08:00
parent 574f323284
commit e64be7b4df
7 changed files with 280 additions and 17 deletions

34
kernel/driver/acpi/acpi.c Normal file
View File

@ -0,0 +1,34 @@
#include "acpi.h"
#include "../../common/printk.h"
#include "../../common/kprint.h"
#include "../multiboot2/multiboot2.h"
static struct acpi_RSDP_t *rsdp;
/**
* @brief 迭代器用于迭代描述符头位于ACPI标准文件的Table 5-29
* @param _fun 迭代操作调用的函数
* @param _data 数据
*/
void acpi_iter_SDT(bool (*_fun)(const struct acpi_iter_SDT_header_t *, void *),
void *_data)
{
}
/**
* @brief 初始化acpi模块
*
*/
void acpi_init()
{
kinfo("Initializing ACPI...");
struct multiboot_tag_old_acpi_t* tmp1;
int reserved;
kdebug("yyyy");
multiboot2_iter(multiboot2_get_acpi_old_RSDP, tmp1, &reserved);
kdebug("1");
*rsdp = *(struct acpi_RSDP_t*)(tmp1->rsdp);
kdebug("RsdtAddress=%#018lx", rsdp->RsdtAddress);
}