1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * From coreboot file of the same name 4 * 5 * Copyright (C) 2010 coresystems GmbH 6 */ 7 8#ifndef __ASM_IOAPIC_H 9#define __ASM_IOAPIC_H 10 11#define IO_APIC_ADDR 0xfec00000 12 13/* Direct addressed register */ 14#define IO_APIC_INDEX (IO_APIC_ADDR + 0x00) 15#define IO_APIC_DATA (IO_APIC_ADDR + 0x10) 16 17/* Indirect addressed register offset */ 18#define IO_APIC_ID 0x00 19#define IO_APIC_VER 0x01 20 21/** 22 * io_apic_read() - Read I/O APIC register 23 * 24 * This routine reads I/O APIC indirect addressed register. 25 * 26 * @reg: address of indirect addressed register 27 * @return: register value to read 28 */ 29u32 io_apic_read(u32 reg); 30 31/** 32 * io_apic_write() - Write I/O APIC register 33 * 34 * This routine writes I/O APIC indirect addressed register. 35 * 36 * @reg: address of indirect addressed register 37 * @val: register value to write 38 */ 39void io_apic_write(u32 reg, u32 val); 40 41void io_apic_set_id(int ioapic_id); 42 43#endif 44