/*
 * Copyright (c) 2026, Chloe M.
 * Provided under the BSD-3 clause.
 *
 * Description: IRQ chip management
 * Author:      Chloe M.
 */

#ifndef _MACHINE_IRQCHIP_H_
#define _MACHINE_IRQCHIP_H_ 1

#include <drivers/acpi/tables.h>
#include <drivers/acpi/acpi.h>
#include <stdef.h>

/* Max IRQ chips values */
#define LAPIC_MAX 64

/*
 * Enumerate and save all platform IRQ chips
 */
VOID MdIrqChipInit(VOID);

/*
 * Obtain a Local APIC descriptor by index
 *
 * @Index: Index of LAPIC descriptor to obtain
 */
ACPI_LOCAL_APIC *MdLapicByIndex(USIZE Index);

#endif  /* !_MACHINE_IRQCHIP_H_ */
