summaryrefslogtreecommitdiff
path: root/kernel/acpi.h
blob: e94766c17ea3dc081a64ce3655c182fe749ed138 (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
#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>

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