blob: e99c77ba57fcefba0e72dcd83c1f32f5d8f52060 (
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
|
#ifndef SMP_H
#define SMP_H
#include "kernel.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 for every processor
uint32_t flags;
}smp_processors;
void apicEOI();
uint32_t apicID();
bool acpi_find(smp_processors *procdata);
void smp_start_aps(smp_processors *pros);
#endif
|