diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-09-03 16:16:46 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-09-03 16:16:46 +0200 |
| commit | a66776b64249ba688655a30c0d34e4c87c2c674e (patch) | |
| tree | 09ef1ed363de143ac21520f320071e6a92b6fcfd /kernel | |
| parent | ae361f46b092264f5107eaaf8fc594e0ca679014 (diff) | |
changed acpi scan range.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/acpi.c | 2 | ||||
| -rw-r--r-- | kernel/interrupts.c | 8 | ||||
| -rw-r--r-- | kernel/shell.c | 4 | ||||
| -rw-r--r-- | kernel/x86.h | 4 |
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); |
