/seL4-refos-master/kernel/src/plat/pc99/machine/ |
H A D | ioapic.c | 12 #include <plat/machine/ioapic.h> 42 static void ioapic_write(uint32_t ioapic, word_t reg, uint32_t value) argument 44 *(volatile uint32_t *)((word_t)(PPTR_IOAPIC_START + ioapic * BIT(PAGE_BITS)) + reg) = value; 47 static uint32_t ioapic_read(uint32_t ioapic, word_t reg) argument 49 return *(volatile uint32_t *)((word_t)(PPTR_IOAPIC_START + ioapic * BIT(PAGE_BITS)) + reg); 52 static void single_ioapic_init(word_t ioapic, cpu_id_t delivery_cpu) argument 62 ioapic_write(ioapic, IOAPIC_REGSEL, IOREDTBL_HIGH(i)); 63 ioapic_write(ioapic, IOAPIC_WINDOW, (ioapic_read(ioapic, 67 ioapic_write(ioapic, IOAPIC_REGSE 77 uint32_t ioapic; local 87 ioapic_mask(bool_t mask, uint32_t ioapic, uint32_t pin) argument 106 ioapic_decode_map_pin_to_vector(word_t ioapic, word_t pin, word_t level, word_t polarity, word_t vector) argument 146 ioapic_map_pin_to_vector(word_t ioapic, word_t pin, word_t level, word_t polarity, word_t vector) argument [all...] |
H A D | hardware.c | 13 #include <plat/machine/ioapic.h>
|
/seL4-refos-master/libs/libsel4platsupport/src/plat/pc99/ |
H A D | device.c | 26 return arch_simple_get_ioapic(arch_simple, *dest, irq->ioapic.ioapic, irq->ioapic.pin, 27 irq->ioapic.level, irq->ioapic.polarity, 28 irq->ioapic.vector);
|
/seL4-refos-master/projects/seL4_libs/libsel4platsupport/src/plat/pc99/ |
H A D | device.c | 26 return arch_simple_get_ioapic(arch_simple, *dest, irq->ioapic.ioapic, irq->ioapic.pin, 27 irq->ioapic.level, irq->ioapic.polarity, 28 irq->ioapic.vector);
|
/seL4-refos-master/kernel/include/plat/pc99/plat/machine/ |
H A D | ioapic.h | 14 void ioapic_mask(bool_t mask, uint32_t ioapic, uint32_t pin); 18 exception_t ioapic_decode_map_pin_to_vector(word_t ioapic, word_t pin, word_t level, word_t polarity, word_t vector); 21 void ioapic_map_pin_to_vector(word_t ioapic, word_t pin, word_t level, word_t polarity, word_t vector);
|
H A D | interrupt.h | 18 #include <plat/machine/ioapic.h> 125 uint32_t ioapic = x86_irq_state_irq_ioapic_get_id(state); local 127 ioapic_mask(disable, ioapic, pin);
|
/seL4-refos-master/libs/libsel4simple/arch_include/x86/simple/arch/ |
H A D | simple.h | 58 uint8_t depth, seL4_Word ioapic, seL4_Word pin, 97 arch_simple_get_ioapic_fn ioapic; member in struct:arch_simple 135 arch_simple_get_ioapic(arch_simple_t *arch_simple, cspacepath_t path, seL4_Word ioapic, argument 144 if (!arch_simple->ioapic) { 148 return arch_simple->ioapic(arch_simple->data, path.root, path.capPtr, path.capDepth, ioapic,
|
/seL4-refos-master/projects/seL4_libs/libsel4simple/arch_include/x86/simple/arch/ |
H A D | simple.h | 58 uint8_t depth, seL4_Word ioapic, seL4_Word pin, 97 arch_simple_get_ioapic_fn ioapic; member in struct:arch_simple 135 arch_simple_get_ioapic(arch_simple_t *arch_simple, cspacepath_t path, seL4_Word ioapic, argument 144 if (!arch_simple->ioapic) { 148 return arch_simple->ioapic(arch_simple->data, path.root, path.capPtr, path.capDepth, ioapic,
|
/seL4-refos-master/libs/libsel4simple-default/src/arch/x86/ |
H A D | default.c | 27 seL4_Word ioapic, seL4_Word pin, seL4_Word level, seL4_Word polarity, 30 return seL4_IRQControl_GetIOAPIC(seL4_CapIRQControl, root, index, depth, ioapic, pin, level, 86 simple->ioapic = simple_default_get_ioapic; 26 simple_default_get_ioapic(void *data, seL4_CNode root, seL4_Word index, uint8_t depth, seL4_Word ioapic, seL4_Word pin, seL4_Word level, seL4_Word polarity, seL4_Word vector) argument
|
/seL4-refos-master/projects/seL4_libs/libsel4simple-default/src/arch/x86/ |
H A D | default.c | 27 seL4_Word ioapic, seL4_Word pin, seL4_Word level, seL4_Word polarity, 30 return seL4_IRQControl_GetIOAPIC(seL4_CapIRQControl, root, index, depth, ioapic, pin, level, 86 simple->ioapic = simple_default_get_ioapic; 26 simple_default_get_ioapic(void *data, seL4_CNode root, seL4_Word index, uint8_t depth, seL4_Word ioapic, seL4_Word pin, seL4_Word level, seL4_Word polarity, seL4_Word vector) argument
|
/seL4-refos-master/projects/util_libs/libplatsupport/include/platsupport/ |
H A D | irq.h | 46 long ioapic; member in struct:__anon11::__anon12::__anon13 51 } ioapic; member in union:__anon11::__anon12
|
/seL4-refos-master/libs/libplatsupport/include/platsupport/ |
H A D | irq.h | 46 long ioapic; member in struct:__anon1::__anon2::__anon3 51 } ioapic; member in union:__anon1::__anon2
|
/seL4-refos-master/kernel/src/arch/x86/object/ |
H A D | interrupt.c | 60 static exception_t invokeIssueIRQHandlerIOAPIC(irq_t irq, word_t ioapic, word_t pin, word_t level, word_t polarity, argument 64 x86_irq_state_t irqState = x86_irq_state_irq_ioapic_new(ioapic, pin, level, polarity, 1); 65 ioapic_map_pin_to_vector(ioapic, pin, level, polarity, vector); 135 word_t ioapic = getSyscallArg(2, buffer); local 140 status = ioapic_decode_map_pin_to_vector(ioapic, pin, level, polarity, vector); 146 return invokeIssueIRQHandlerIOAPIC(irq, ioapic, pin, level, polarity, vector, destSlot, srcSlot);
|
/seL4-refos-master/libs/libplatsupport/src/plat/pc99/ |
H A D | ltimer.c | 488 irq->ioapic.pin = FFS(hpet_ioapic_irq_delivery_mask(vaddr)) - 1; 489 irq->ioapic.level = hpet_level(vaddr); 491 irq->ioapic.polarity = 1; 493 irq->ioapic.ioapic = 0; 494 irq->ioapic.vector = 0; /* TODO how to work this out properly */ 512 pc99_ltimer->irq = (ps_irq_t) { .type = PS_IOAPIC, .ioapic = { .ioapic = 0, .pin = PIT_INTERRUPT, 542 pc99_ltimer->hpet.config.irq = irq.type == PS_MSI ? irq.msi.vector + IRQ_OFFSET : irq.ioapic.pin;
|
/seL4-refos-master/projects/util_libs/libplatsupport/src/plat/pc99/ |
H A D | ltimer.c | 488 irq->ioapic.pin = FFS(hpet_ioapic_irq_delivery_mask(vaddr)) - 1; 489 irq->ioapic.level = hpet_level(vaddr); 491 irq->ioapic.polarity = 1; 493 irq->ioapic.ioapic = 0; 494 irq->ioapic.vector = 0; /* TODO how to work this out properly */ 512 pc99_ltimer->irq = (ps_irq_t) { .type = PS_IOAPIC, .ioapic = { .ioapic = 0, .pin = PIT_INTERRUPT, 542 pc99_ltimer->hpet.config.irq = irq.type == PS_MSI ? irq.msi.vector + IRQ_OFFSET : irq.ioapic.pin;
|
/seL4-refos-master/projects/seL4_libs/libsel4platsupport/src/ |
H A D | timer.c | 274 if (to->irqs[i].irq.ioapic.pin == id) {
|
/seL4-refos-master/libs/libsel4platsupport/src/ |
H A D | timer.c | 274 if (to->irqs[i].irq.ioapic.pin == id) {
|
/seL4-refos-master/kernel/src/arch/x86/kernel/ |
H A D | boot_sys.c | 24 #include <plat/machine/ioapic.h>
|