cpu: move apic to x86_64
This commit is contained in:
parent
edbb5d106d
commit
033d85bd2f
9 changed files with 15 additions and 9 deletions
|
@ -25,6 +25,9 @@ void cpu_init_smp();
|
|||
// Initialize the CPU's timer
|
||||
void cpu_init_timer();
|
||||
|
||||
// Initialize the APIC.
|
||||
void cpu_init_apic();
|
||||
|
||||
// Enable/disable interrupts.
|
||||
void cpu_enable_ints(int enabled);
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
|
||||
#if defined (__x86_64__)
|
||||
|
||||
#include "arch/x86_64/lapic.h"
|
||||
#include "arch/x86_64/ioapic.h"
|
||||
#include <arch/x86_64/gdt.h>
|
||||
#include <arch/x86_64/idt.h>
|
||||
#include <arch/cpu.h>
|
||||
|
@ -33,6 +35,11 @@ void cpu_enable_ints(int enabled) {
|
|||
if (enabled) asm("sti"); else asm("cli");
|
||||
}
|
||||
|
||||
void cpu_init_apic() {
|
||||
lapic_init();
|
||||
ioapic_init();
|
||||
}
|
||||
|
||||
void hcf() {
|
||||
asm ("cli");
|
||||
for (;;) {
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
* idt.c - x86_64 Interrupt Descriptor Table implementation.
|
||||
*/
|
||||
|
||||
#include "dev/lapic.h"
|
||||
#if defined(__x86_64__)
|
||||
|
||||
#include <stdint.h>
|
||||
|
@ -13,7 +12,8 @@
|
|||
#include <arch/cpu.h>
|
||||
#include <arch/x86_64/idt.h>
|
||||
#include <arch/x86_64/smp.h>
|
||||
#include <dev/ioapic.h>
|
||||
#include <arch/x86_64/ioapic.h>
|
||||
#include "arch/x86_64/lapic.h"
|
||||
#include <lib/log.h>
|
||||
|
||||
__attribute__((aligned(0x10)))
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* lapic.c - Local APIC implementation.
|
||||
*/
|
||||
|
||||
#include "dev/lapic.h"
|
||||
#include "arch/x86_64/lapic.h"
|
||||
#include "arch/x86_64/idt.h"
|
||||
#include "lib/log.h"
|
||||
#include "mm/pmm.h"
|
|
@ -6,10 +6,6 @@
|
|||
*/
|
||||
|
||||
#include "arch/cpu.h"
|
||||
#include "arch/x86_64/gdt.h"
|
||||
#include "arch/x86_64/idt.h"
|
||||
#include "dev/lapic.h"
|
||||
#include "mm/paging.h"
|
||||
#include <boot/limine.h>
|
||||
#include <deps/limine.h>
|
||||
#include <lib/log.h>
|
||||
|
|
|
@ -42,8 +42,8 @@ void kmain(void) {
|
|||
|
||||
acpi_init();
|
||||
madt_init();
|
||||
lapic_init();
|
||||
ioapic_init();
|
||||
|
||||
cpu_init_apic();
|
||||
cpu_init_smp();
|
||||
cpu_init_timer();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue