diff options
Diffstat (limited to 'roms/u-boot/arch/x86/include/asm/ioapic.h')
-rw-r--r-- | roms/u-boot/arch/x86/include/asm/ioapic.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/roms/u-boot/arch/x86/include/asm/ioapic.h b/roms/u-boot/arch/x86/include/asm/ioapic.h new file mode 100644 index 000000000..9e004e9b5 --- /dev/null +++ b/roms/u-boot/arch/x86/include/asm/ioapic.h @@ -0,0 +1,43 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * From coreboot file of the same name + * + * Copyright (C) 2010 coresystems GmbH + */ + +#ifndef __ASM_IOAPIC_H +#define __ASM_IOAPIC_H + +#define IO_APIC_ADDR 0xfec00000 + +/* Direct addressed register */ +#define IO_APIC_INDEX (IO_APIC_ADDR + 0x00) +#define IO_APIC_DATA (IO_APIC_ADDR + 0x10) + +/* Indirect addressed register offset */ +#define IO_APIC_ID 0x00 +#define IO_APIC_VER 0x01 + +/** + * io_apic_read() - Read I/O APIC register + * + * This routine reads I/O APIC indirect addressed register. + * + * @reg: address of indirect addressed register + * @return: register value to read + */ +u32 io_apic_read(u32 reg); + +/** + * io_apic_write() - Write I/O APIC register + * + * This routine writes I/O APIC indirect addressed register. + * + * @reg: address of indirect addressed register + * @val: register value to write + */ +void io_apic_write(u32 reg, u32 val); + +void io_apic_set_id(int ioapic_id); + +#endif |