BarryServer : Git

All the code for all my projects
// BarryServer : Git / Nucleus / commit / e07c7c5065fd619e18a774d172075aa95d1e2d8b / kernel

// Related

Nucleus

Barry Send APIC end of interrupt e07c7c5 (3 years, 3 months ago)
diff --git a/kernel/acpi/trampoline.S b/kernel/acpi/trampoline.S
index 5438967..3230e85 100644
--- a/kernel/acpi/trampoline.S
+++ b/kernel/acpi/trampoline.S
@@ -23,7 +23,7 @@ ap_trampoline:
 	mov %ax, %sp
 
 	/* Load the GDT */
-	lgdt (ap_gdt_desc - ap_trampoline)
+	lgdt (apGdtDesc - ap_trampoline)
 
 	/* Enable PM */
 	movl %cr0, %eax
@@ -44,9 +44,9 @@ ap_pm:
 	movl $0x1000, %ebp
 	movl %ebp, %esp
 
-	movl ap_id, %eax
+	movl apId, %eax
 	incl %eax
-	movl %eax, ap_id
+	movl %eax, apId
 
 	movl $0x1F00, %esi
 	movl (%esi,%eax), %ebx
@@ -62,7 +62,7 @@ ap_pm:
 	jmp 1b
 
 .align 4
-ap_gdt_start:
+apGdtStart:
 	/* Null */
 	.4byte 0x00000000
 	.4byte 0x00000000
@@ -72,8 +72,8 @@ ap_gdt_start:
 	/* Data */
 	.4byte 0x0000FFFF
 	.4byte 0x00CF9200
-ap_gdt_desc:
-	.2byte ap_gdt_desc - ap_gdt_start - 1
-	.4byte (ap_gdt_start - ap_trampoline) + 0x1000
-ap_id:
+apGdtDesc:
+	.2byte apGdtDesc - apGdtStart - 1
+	.4byte (apGdtStart - ap_trampoline) + 0x1000
+apId:
 	.4byte 0
diff --git a/kernel/idt.c b/kernel/idt.c
index 52076a8..8a7f809 100644
--- a/kernel/idt.c
+++ b/kernel/idt.c
@@ -46,7 +46,8 @@ exc_handler(int num, struct InterruptFrame *frame, uint32_t err)
 	ASSERT(exceptions[num]);
 	exceptions[num](frame, err);
 
-	/* TODO: Send APIC EOI */
+	/* Send APIC EOI */
+	LAPIC(0xB0) = 0;
 }
 
 /* First level generic interrupt handler */
@@ -60,7 +61,8 @@ int_handler(int num, struct InterruptFrame *frame)
 	if (num >= 8)
 		outb(0xA0, 0x20);
 	outb(0x20, 0x20);
-	/* TODO: Send APIC EOI*/
+	/* Send APIC EOI*/
+	LAPIC(0xB0) = 0;
 }
 
 /* Exceptions */
diff --git a/kernel/start.S b/kernel/start.S
index 9c49ee8..725d6e6 100644
--- a/kernel/start.S
+++ b/kernel/start.S
@@ -8,15 +8,16 @@ header:
 	.long 0, 0, 0, 0, 0
 
 .section .bss, "aw", @nobits
-stack_bottom:
+.global stackTop
+stackBottom:
 	.skip 16384
-stack_top:
+stackTop:
 
 .section .text
 .extern kmain
 .global _start
 _start:
-	mov $stack_top, %ebp
+	mov $stackTop, %ebp
 	mov %ebp, %esp
 	push %ebx
 	push %esp