git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: striped more arch-related code from the kernel code base
[lunaix-os.git]
/
lunaix-os
/
hal
/
ioapic.c
diff --git
a/lunaix-os/hal/ioapic.c
b/lunaix-os/hal/ioapic.c
index edd374fcc2056936283e1cfb52d0a8fcae70a002..f0bd706a1aed4b41f1ff22e7256bbbc7786476f4 100644
(file)
--- a/
lunaix-os/hal/ioapic.c
+++ b/
lunaix-os/hal/ioapic.c
@@
-1,13
+1,13
@@
-#include <
arch/x86
/interrupts.h>
+#include <
sys
/interrupts.h>
#include <hal/acpi/acpi.h>
#include <hal/ioapic.h>
#include <lunaix/common.h>
#include <lunaix/mm/mmio.h>
#include <hal/acpi/acpi.h>
#include <hal/ioapic.h>
#include <lunaix/common.h>
#include <lunaix/mm/mmio.h>
-#define IOAPIC_REG_SEL *((volatile u
int
32_t*)(_ioapic_base + IOAPIC_IOREGSEL))
-#define IOAPIC_REG_WIN *((volatile u
int
32_t*)(_ioapic_base + IOAPIC_IOWIN))
+#define IOAPIC_REG_SEL *((volatile u32_t*)(_ioapic_base + IOAPIC_IOREGSEL))
+#define IOAPIC_REG_WIN *((volatile u32_t*)(_ioapic_base + IOAPIC_IOWIN))
-static volatile
uint
ptr_t _ioapic_base;
+static volatile ptr_t _ioapic_base;
void
ioapic_init()
void
ioapic_init()
@@
-16,27
+16,28
@@
ioapic_init()
acpi_context* acpi_ctx = acpi_get_context();
acpi_context* acpi_ctx = acpi_get_context();
- _ioapic_base = ioremap(acpi_ctx->madt.ioapic->ioapic_addr & ~0xfff, 4096);
+ _ioapic_base =
+ (ptr_t)ioremap(acpi_ctx->madt.ioapic->ioapic_addr & ~0xfff, 4096);
}
void
}
void
-ioapic_write(u
int8_t sel, uint
32_t val)
+ioapic_write(u
8_t sel, u
32_t val)
{
IOAPIC_REG_SEL = sel;
IOAPIC_REG_WIN = val;
}
{
IOAPIC_REG_SEL = sel;
IOAPIC_REG_WIN = val;
}
-u
int
32_t
-ioapic_read(u
int
8_t sel)
+u32_t
+ioapic_read(u8_t sel)
{
IOAPIC_REG_SEL = sel;
return IOAPIC_REG_WIN;
}
void
{
IOAPIC_REG_SEL = sel;
return IOAPIC_REG_WIN;
}
void
-ioapic_redirect(u
int8_t irq, uint8_t vector, uint8_t dest, uint
32_t flags)
+ioapic_redirect(u
8_t irq, u8_t vector, u8_t dest, u
32_t flags)
{
{
- u
int
8_t reg_sel = IOAPIC_IOREDTBL_BASE + irq * 2;
+ u8_t reg_sel = IOAPIC_IOREDTBL_BASE + irq * 2;
// Write low 32 bits
ioapic_write(reg_sel, (vector | flags) & 0x1FFFF);
// Write low 32 bits
ioapic_write(reg_sel, (vector | flags) & 0x1FFFF);