2 * From coreboot file of the same name
4 * Copyright (C) 2010 coresystems GmbH
6 * SPDX-License-Identifier: GPL-2.0
10 #define __ASM_IOAPIC_H
12 #define IO_APIC_ADDR 0xfec00000
14 /* Direct addressed register */
15 #define IO_APIC_INDEX (IO_APIC_ADDR + 0x00)
16 #define IO_APIC_DATA (IO_APIC_ADDR + 0x10)
18 /* Indirect addressed register offset */
19 #define IO_APIC_ID 0x00
20 #define IO_APIC_VER 0x01
23 * io_apic_read() - Read I/O APIC register
25 * This routine reads I/O APIC indirect addressed register.
27 * @reg: address of indirect addressed register
28 * @return: register value to read
30 u32 io_apic_read(u32 reg);
33 * io_apic_write() - Write I/O APIC register
35 * This routine writes I/O APIC indirect addressed register.
37 * @reg: address of indirect addressed register
38 * @val: register value to write
40 void io_apic_write(u32 reg, u32 val);
42 void io_apic_set_id(int ioapic_id);