summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-09-03 16:16:46 +0200
committerMichal Idziorek <m.i@gmx.at>2014-09-03 16:16:46 +0200
commita66776b64249ba688655a30c0d34e4c87c2c674e (patch)
tree09ef1ed363de143ac21520f320071e6a92b6fcfd /kernel
parentae361f46b092264f5107eaaf8fc594e0ca679014 (diff)
changed acpi scan range.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/acpi.c2
-rw-r--r--kernel/interrupts.c8
-rw-r--r--kernel/shell.c4
-rw-r--r--kernel/x86.h4
4 files changed, 3 insertions, 15 deletions
diff --git a/kernel/acpi.c b/kernel/acpi.c
index 586336c..398a7ec 100644
--- a/kernel/acpi.c
+++ b/kernel/acpi.c
@@ -140,7 +140,7 @@ void acpi_read_rsdt(acpi_rsdt *rsdt,smp_processors *procdata)
bool acpi_find(smp_processors *procdata)
{
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Looking for RSDP Table");
- char *search=0x7ffff; //will be 16 bit aligned;
+ char *search=0x90000; //will be 16 bit aligned;
procdata->processors=0;
procdata->boot=0;
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index 198fe11..599221c 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -28,18 +28,10 @@ static struct idt_desc
} idtd;
-void int_generate88()
-{
-
- __asm__("int $88");
-
-}
void int_def_handler()
{
X86_IRQ_BEGIN
-// panic(FOOLOS_MODULE_NAME,"unhandled EXCEPTION!");
-
X86_IRQ_END
}
diff --git a/kernel/shell.c b/kernel/shell.c
index 0925445..79736d1 100644
--- a/kernel/shell.c
+++ b/kernel/shell.c
@@ -55,10 +55,6 @@ void shell_execute()
uint32_t time=task_system_clock;
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%d seconds passed since system start.",(time/25));
}
- else if(1==strcmp(command,"EIGHT",0))
- {
- int_generate88();
- }
else if(1==strcmp(command,"MEM",0))
{
mmap_show_free();
diff --git a/kernel/x86.h b/kernel/x86.h
index 96671b5..a7c1953 100644
--- a/kernel/x86.h
+++ b/kernel/x86.h
@@ -6,8 +6,8 @@
// todo: cli/sti??
// http://wiki.osdev.org/Interrupt_Service_Routines
// Black Magic: Strongly Discouraged!
-#define X86_IRQ_BEGIN asm("\npusha");
-#define X86_IRQ_END asm("mov $0x20, %al\nout %al, $0x20\npopa\nleave\niret");
+#define X86_IRQ_BEGIN asm("\ncli\npusha");
+#define X86_IRQ_END asm("mov $0x20, %al\nout %al, $0x20\npopa\nleave\nsti\niret");
void x86_outb(int port, uint8_t data);
uint8_t x86_inb(int port);