Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
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_LOW 0x00002000
27#define IOAPIC_HIGH 0x00000000
28#define IOAPIC_LOGICAL 0x00000800
29#define IOAPIC_PHYSICAL 0x00000000
30#define IOAPIC_FIXED 0x00000000
31#define IOAPIC_LOWEST 0x00000100
32#define IOAPIC_SMI 0x00000200
33#define IOAPIC_NMI 0x00000400
34#define IOAPIC_INIT 0x00000500
35#define IOAPIC_EXTINT 0x00000700
36
37#ifndef _ASMLANGUAGE
38uint32_t z_ioapic_num_rtes(void);
39void z_ioapic_irq_enable(unsigned int irq);
40void z_ioapic_irq_disable(unsigned int irq);
41void z_ioapic_int_vec_set(unsigned int irq, unsigned int vector);
42void z_ioapic_irq_set(unsigned int irq, unsigned int vector, uint32_t flags);
43#endif /* _ASMLANGUAGE */
44
45#ifdef __cplusplus
46}
47#endif
48
49#endif /* ZEPHYR_INCLUDE_DRIVERS_IOAPIC_H_ */
flags
Definition: http_parser.h:131
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60