blob: 204007cf9f8b6e67d4f17ec70137fda21c12aee2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#ifndef FOOLOS_ACPI_H
#define FOOLOS_ACPI_H
/**
* @file
*
* Advanced Configuration and Power Interface
* ==========================================
*
* Ref
* ---
* http://wiki.xomb.org/index.php?title=ACPI_Tables
* https://wiki.osdev.org/MADT#Entry_Type_1_:_I.2FO_APIC
*/
#include <stdint.h>
#include <stdbool.h>
typedef struct
{
uint8_t boot; //which processor in array is bsp
// (boot strap processor)
uint8_t processors; // total number of usable processors
uint32_t local_apic_address;// same for every processor
uint32_t io_apic_address;
uint32_t local_apic_id[SMP_MAX_PROC]; // unique id for every processor
uint32_t flags;
}acpi_information;
bool acpi_fill(acpi_information *procdata);
#endif
|