Line data Source code
1 0 : /* 2 : * Copyright (c) 2016 Intel Corporation 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_INCLUDE_DRIVERS_SYSAPIC_H_ 8 : #define ZEPHYR_INCLUDE_DRIVERS_SYSAPIC_H_ 9 : 10 : #include <zephyr/drivers/interrupt_controller/loapic.h> 11 : 12 0 : #define IRQ_TRIGGER_EDGE IOAPIC_EDGE 13 0 : #define IRQ_TRIGGER_LEVEL IOAPIC_LEVEL 14 : 15 0 : #define IRQ_POLARITY_HIGH IOAPIC_HIGH 16 0 : #define IRQ_POLARITY_LOW IOAPIC_LOW 17 : 18 : #ifndef _ASMLANGUAGE 19 : #include <zephyr/types.h> 20 : 21 0 : #define LOAPIC_IRQ_COUNT 6 /* Default to LOAPIC_TIMER to LOAPIC_ERROR */ 22 : 23 : void z_irq_controller_irq_config(unsigned int vector, unsigned int irq, 24 : uint32_t flags); 25 : 26 : int z_irq_controller_isr_vector_get(void); 27 : 28 : static inline void z_irq_controller_eoi(void) 29 : { 30 : x86_write_loapic(LOAPIC_EOI, 0); 31 : } 32 : 33 : #endif /* _ASMLANGUAGE */ 34 : 35 : #endif /* ZEPHYR_INCLUDE_DRIVERS_SYSAPIC_H_ */