sysapic.h 798 B

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