Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ioapic.h
Go to the documentation of this file.
1/* ioapic.h - public IOAPIC APIs */
2
3/*
4 * Copyright (c) 2012-2015 Wind River Systems, Inc.
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
9#ifndef ZEPHYR_INCLUDE_DRIVERS_IOAPIC_H_
10#define ZEPHYR_INCLUDE_DRIVERS_IOAPIC_H_
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16/*
17 * Redirection table entry bits: lower 32 bit
18 * Used as flags argument in ioapic_irq_set
19 */
20
21#define IOAPIC_INT_MASK 0x00010000
22#define IOAPIC_TRIGGER_MASK 0x00008000
23#define IOAPIC_LEVEL 0x00008000
24#define IOAPIC_EDGE 0x00000000
25#define IOAPIC_REMOTE 0x00004000
26#define IOAPIC_POLARITY_MASK 0x00002000
27#define IOAPIC_LOW 0x00002000
28#define IOAPIC_HIGH 0x00000000
29#define IOAPIC_LOGICAL 0x00000800
30#define IOAPIC_PHYSICAL 0x00000000
31#define IOAPIC_DELIVERY_MODE_MASK 0x00000700
32#define IOAPIC_FIXED 0x00000000
33#define IOAPIC_LOWEST 0x00000100
34#define IOAPIC_SMI 0x00000200
35#define IOAPIC_NMI 0x00000400
36#define IOAPIC_INIT 0x00000500
37#define IOAPIC_EXTINT 0x00000700
38
39#ifndef _ASMLANGUAGE
40uint32_t z_ioapic_num_rtes(void);
41void z_ioapic_irq_enable(unsigned int irq);
42void z_ioapic_irq_disable(unsigned int irq);
43void z_ioapic_int_vec_set(unsigned int irq, unsigned int vector);
44void z_ioapic_irq_set(unsigned int irq, unsigned int vector, uint32_t flags);
45#endif /* _ASMLANGUAGE */
46
47#ifdef __cplusplus
48}
49#endif
50
51#endif /* ZEPHYR_INCLUDE_DRIVERS_IOAPIC_H_ */
flags
Definition parser.h:96
__UINT32_TYPE__ uint32_t
Definition stdint.h:90