Retro Rocket Kernel BASIC-Powered Operating System

Data Structures | Functions | Variables
acpi.h File Reference
`#include <kernel.h>`

## Data Structures
struct | rsdp_t
| ACPI Root System Description Pointer (RSDP) More...
struct | sdt_header_t
| System Description Table Header. More...
struct | rsdt_t
| Root System Description Table. More...
struct | ioapic_t
| Definition of an IOAPIC. More...

## Functions
struct rsdp_t | __attribute__ ((packed)) rsdp_t
| ACPI Root System Description Pointer (RSDP) More...
void | init_cores ()
| Detect SMP cores, IOAPICs, Local APICs. More...
uint8_t * | get_lapic_ids ()
| Get the local apic ids. More...
uint16_t | get_cpu_count ()
| Get the cpu count. More...
uint64_t | get_local_apic ()
| Get the local apic. More...
ioapic_t | get_ioapic (uint16_t index)
| Get the ioapic. More...
uint16_t | get_ioapic_count ()
| Get the ioapic count. More...

## Variables
char | signature [8]
uint8_t | checksum
char | oem_id [6]
uint8_t | revision
uint32_t | rsdt_address
uint32_t | length
uint64_t | xsdt_address
uint8_t | extended_checksum
uint8_t | reserved [3]
char | oem_table_id [8]
uint32_t | oem_revision
uint32_t | creator_id
uint32_t | creator_revision
sdt_header_t | header
uint32_t | pointer_to_other_sdt []

## Detailed Description

Author
  Craig Edwards (craig.nosp@m.edwa.nosp@m.rds@b.nosp@m.rain.nosp@m.box.c.nosp@m.c)

Copyright
  Copyright (c) 2012-2023

## Function Documentation

## ◆ __attribute__()

struct rsdp_t __attribute__ | ( | (packed) |  | ) |

ACPI Root System Description Pointer (RSDP)

Root System Description Table.

System Description Table Header.

## ◆ get_cpu_count()

uint16_t get_cpu_count | ( |  | ) |

Get the cpu count.

Returns
  uint16_t

## ◆ get_ioapic()

ioapic_t get_ioapic | ( | uint16_t | index | ) |

Get the ioapic.

Parameters

  index | IOAPIC index

Returns
  ioapic_t

## ◆ get_ioapic_count()

uint16_t get_ioapic_count | ( |  | ) |

Get the ioapic count.

Returns
  uint16_t total number of IOAPICs

## ◆ get_lapic_ids()

uint8_t* get_lapic_ids | ( |  | ) |

Get the local apic ids.

Returns
  uint8_t*

## ◆ get_local_apic()

uint64_t get_local_apic | ( |  | ) |

Get the local apic.

Returns
  uint64_t

## ◆ init_cores()

void init_cores | ( |  | ) |

Detect SMP cores, IOAPICs, Local APICs.

## Variable Documentation

## ◆ checksum

uint16_t checksum

## ◆ creator_id

uint32_t creator_id

## ◆ creator_revision

uint32_t creator_revision

## ◆ extended_checksum

uint8_t extended_checksum

## ◆ header

sdt_header_t header

## ◆ length

volatile uint16_t length

## ◆ oem_id

char oem_id

## ◆ oem_revision

uint32_t oem_revision

## ◆ oem_table_id

char oem_table_id[8]

## ◆ pointer_to_other_sdt

uint32_t pointer_to_other_sdt[]

## ◆ reserved

uint16_t reserved

## ◆ revision

uint8_t revision

## ◆ rsdt_address

uint32_t rsdt_address

## ◆ signature

char signature

## ◆ xsdt_address

uint64_t xsdt_address