LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
acpi.c File Reference

(29312b1 fbconsole, panic: render panic after framebuffer was given to userspace - without clearing screen contents)

#include <log.h>
#include <acpi.h>
#include <hpet.h>
#include <string.h>
#include <vm.h>
+ Include dependency graph for acpi.c:

Go to the source code of this file.

Data Structures

struct  acpi_rsdp
 
struct  acpi_rsdt
 
struct  acpi_xsdt
 

Functions

struct acpi_rsdp __attribute__ ((packed))
 
static void acpi_process_table (struct acpi_table_header *table)
 
static void init_acpi_rsdp (void *rsdp_ptr)
 
void init_acpi_efi (EFI_SYSTEM_TABLE *efiST)
 
uint8_t acpi_checksum (void *data, size_t len)
 

Variables

char signature [8]
 
uint8_t checksum
 
char oem_id [6]
 
uint8_t revision
 
uint32_t rsdt_ptr
 
uint32_t length
 
uint64_t xsdt_ptr
 
uint8_t extended_checksum
 
uint8_t _reserved [3]
 
struct acpi_table_header header
 
uint32_t entry_ptr [0]
 
static EFI_GUID efi_acpi_table_guid = EFI_ACPI_TABLE_GUID
 

Data Structure Documentation

◆ acpi_rsdp

struct acpi_rsdp

Definition at line 7 of file acpi.c.

+ Collaboration diagram for acpi_rsdp:
Data Fields
uint8_t _reserved[3]
uint8_t checksum
uint8_t extended_checksum
uint32_t length
char oem_id[6]
uint8_t revision
uint32_t rsdt_ptr
char signature[8]
uint64_t xsdt_ptr

◆ acpi_rsdt

struct acpi_rsdt

Definition at line 19 of file acpi.c.

+ Collaboration diagram for acpi_rsdt:
Data Fields
uint32_t entry_ptr[0]
struct acpi_table_header header

◆ acpi_xsdt

struct acpi_xsdt

Definition at line 24 of file acpi.c.

+ Collaboration diagram for acpi_xsdt:
Data Fields
uint64_t entry_ptr[0]
struct acpi_table_header header

Function Documentation

◆ __attribute__()

struct acpi_rsdp __attribute__ ( (packed)  )

Definition at line 28 of file hpet.c.

◆ acpi_checksum()

uint8_t acpi_checksum ( void *  data,
size_t  len 
)

Definition at line 147 of file acpi.c.

+ Here is the caller graph for this function:

◆ acpi_process_table()

static void acpi_process_table ( struct acpi_table_header table)
static

Definition at line 29 of file acpi.c.

References acpi_checksum(), acpi_table_header::asl_compiler_id, acpi_table_header::asl_compiler_revision, init_hpet(), length, acpi_table_header::length, logd, loge, memcmp(), memcpy(), oem, acpi_table_header::oem_id, oem_revision, acpi_table_header::oem_revision, acpi_table_header::oem_table_id, revision, acpi_table_header::revision, acpi_table_header::signature, and signature.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_acpi_efi()

void init_acpi_efi ( EFI_SYSTEM_TABLE *  efiST)

Definition at line 136 of file acpi.c.

References ALLOCATOR_REGION_DIRECT_MAPPING, efi_acpi_table_guid, init_acpi_rsdp(), logi, and memcmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_acpi_rsdp()

static void init_acpi_rsdp ( void *  rsdp_ptr)
static

Definition at line 70 of file acpi.c.

References acpi_checksum(), acpi_process_table(), ALLOCATOR_REGION_DIRECT_MAPPING, acpi_rsdt::entry_ptr, acpi_xsdt::entry_ptr, acpi_rsdt::header, acpi_xsdt::header, length, acpi_rsdp::length, acpi_table_header::length, logd, loge, memcpy(), oem, acpi_rsdp::oem_id, revision, acpi_rsdp::revision, acpi_rsdp::rsdt_ptr, signature, acpi_rsdp::signature, and acpi_rsdp::xsdt_ptr.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ _reserved

uint8_t _reserved[3]

Definition at line 8 of file acpi.c.

◆ checksum

uint8_t checksum

Definition at line 1 of file acpi.c.

◆ efi_acpi_table_guid

EFI_GUID efi_acpi_table_guid = EFI_ACPI_TABLE_GUID
static

Definition at line 134 of file acpi.c.

◆ entry_ptr

uint64_t entry_ptr

Definition at line 1 of file acpi.c.

◆ extended_checksum

uint8_t extended_checksum

Definition at line 7 of file acpi.c.

◆ header

struct acpi_table_header header

Definition at line 0 of file acpi.c.

◆ length

uint32_t length

Definition at line 5 of file acpi.c.

◆ oem_id

char oem_id[6]

Definition at line 2 of file acpi.c.

◆ revision

uint8_t revision

Definition at line 3 of file acpi.c.

◆ rsdt_ptr

uint32_t rsdt_ptr

Definition at line 4 of file acpi.c.

◆ signature

char signature[8]

Definition at line 0 of file acpi.c.

◆ xsdt_ptr

uint64_t xsdt_ptr

Definition at line 6 of file acpi.c.