apic
Regular
4.4
: ✅struct apic {
char *name;
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(int);
int (*apic_id_registered)();
u32 irq_delivery_mode;
u32 irq_dest_mode;
const struct cpumask * (*target_cpus)();
int disable_esr;
int dest_logical;
long unsigned int (*check_apicid_used)(physid_mask_t *, int);
void (*vector_allocation_domain)(int, struct cpumask *, const struct cpumask *);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
unsigned int (*get_apic_id)(long unsigned int);
long unsigned int (*set_apic_id)(unsigned int);
long unsigned int apic_id_mask;
int (*cpu_mask_to_apicid_and)(const struct cpumask *, const struct cpumask *, unsigned int *);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
u32 (*read)(u32);
void (*write)(u32, u32);
void (*eoi_write)(u32, u32);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
};
4.8
: ✅struct apic {
char *name;
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(int);
int (*apic_id_registered)();
u32 irq_delivery_mode;
u32 irq_dest_mode;
const struct cpumask * (*target_cpus)();
int disable_esr;
int dest_logical;
long unsigned int (*check_apicid_used)(physid_mask_t *, int);
void (*vector_allocation_domain)(int, struct cpumask *, const struct cpumask *);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
unsigned int (*get_apic_id)(long unsigned int);
long unsigned int (*set_apic_id)(unsigned int);
int (*cpu_mask_to_apicid_and)(const struct cpumask *, const struct cpumask *, unsigned int *);
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
u32 (*read)(u32);
void (*write)(u32, u32);
void (*eoi_write)(u32, u32);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
};
4.10
: ✅struct apic {
char *name;
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(int);
int (*apic_id_registered)();
u32 irq_delivery_mode;
u32 irq_dest_mode;
const struct cpumask * (*target_cpus)();
int disable_esr;
int dest_logical;
long unsigned int (*check_apicid_used)(physid_mask_t *, int);
void (*vector_allocation_domain)(int, struct cpumask *, const struct cpumask *);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
unsigned int (*get_apic_id)(long unsigned int);
long unsigned int (*set_apic_id)(unsigned int);
int (*cpu_mask_to_apicid_and)(const struct cpumask *, const struct cpumask *, unsigned int *);
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
u32 (*read)(u32);
void (*write)(u32, u32);
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
};
4.13
: ✅struct apic {
char *name;
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(int);
int (*apic_id_registered)();
u32 irq_delivery_mode;
u32 irq_dest_mode;
const struct cpumask * (*target_cpus)();
int disable_esr;
int dest_logical;
long unsigned int (*check_apicid_used)(physid_mask_t *, int);
void (*vector_allocation_domain)(int, struct cpumask *, const struct cpumask *);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
unsigned int (*get_apic_id)(long unsigned int);
long unsigned int (*set_apic_id)(unsigned int);
int (*cpu_mask_to_apicid)(const struct cpumask *, struct irq_data *, unsigned int *);
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
u32 (*read)(u32);
void (*write)(u32, u32);
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
};
4.15
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
void (*vector_allocation_domain)(int, struct cpumask *, const struct cpumask *);
int (*cpu_mask_to_apicid)(const struct cpumask *, struct irq_data *, unsigned int *);
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(int);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
4.18
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.0
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.3
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.4
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.8
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.11
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
enum apic_delivery_modes delivery_mode;
bool dest_mode_logical;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.13
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
enum apic_delivery_modes delivery_mode;
bool dest_mode_logical;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.15
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
enum apic_delivery_modes delivery_mode;
bool dest_mode_logical;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
5.19
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
enum apic_delivery_modes delivery_mode;
bool dest_mode_logical;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
int (*wakeup_secondary_cpu_64)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
6.2
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
enum apic_delivery_modes delivery_mode;
bool dest_mode_logical;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
int (*wakeup_secondary_cpu_64)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
6.5
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
enum apic_delivery_modes delivery_mode;
bool dest_mode_logical;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
int (*wakeup_secondary_cpu_64)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
6.8
: ✅struct apic {
void (*eoi)();
void (*native_eoi)();
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 disable_esr;
u32 dest_mode_logical;
u32 x2apic_set_max_apicid;
u32 nmi_to_offline_cpu;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
u32 max_apic_id;
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
bool (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, u32);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
u32 (*cpu_present_to_apicid)(int);
u32 (*phys_pkg_id)(u32, int);
u32 (*get_apic_id)(u32);
u32 (*set_apic_id)(u32);
int (*wakeup_secondary_cpu)(u32, long unsigned int);
int (*wakeup_secondary_cpu_64)(u32, long unsigned int);
char *name;
};
arm64
: Absent ⚠️
armhf
: Absent ⚠️
ppc64el
: Absent ⚠️
riscv64
: Absent ⚠️
aws
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
azure
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
gcp
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
lowlatency
: ✅struct apic {
void (*eoi_write)(u32, u32);
void (*native_eoi_write)(u32, u32);
void (*write)(u32, u32);
u32 (*read)(u32);
void (*wait_icr_idle)();
u32 (*safe_wait_icr_idle)();
void (*send_IPI)(int, int);
void (*send_IPI_mask)(const struct cpumask *, int);
void (*send_IPI_mask_allbutself)(const struct cpumask *, int);
void (*send_IPI_allbutself)(int);
void (*send_IPI_all)(int);
void (*send_IPI_self)(int);
u32 dest_logical;
u32 disable_esr;
u32 irq_delivery_mode;
u32 irq_dest_mode;
u32 (*calc_dest_apicid)(unsigned int);
u64 (*icr_read)();
void (*icr_write)(u32, u32);
int (*probe)();
int (*acpi_madt_oem_check)(char *, char *);
int (*apic_id_valid)(u32);
int (*apic_id_registered)();
bool (*check_apicid_used)(physid_mask_t *, int);
void (*init_apic_ldr)();
void (*ioapic_phys_id_map)(physid_mask_t *, physid_mask_t *);
void (*setup_apic_routing)();
int (*cpu_present_to_apicid)(int);
void (*apicid_to_cpu_present)(int, physid_mask_t *);
int (*check_phys_apicid_present)(int);
int (*phys_pkg_id)(int, int);
u32 (*get_apic_id)(long unsigned int);
u32 (*set_apic_id)(unsigned int);
int (*wakeup_secondary_cpu)(int, long unsigned int);
void (*inquire_remote_apic)(int);
char *name;
};
Regular
4.4
and 4.8
⚠️void (*send_IPI)(int, int)
long unsigned int apic_id_mask
4.8
and 4.10
⚠️void (*native_eoi_write)(u32, u32)
4.10
and 4.13
⚠️int (*cpu_mask_to_apicid)(const struct cpumask *, struct irq_data *, unsigned int *)
int (*cpu_mask_to_apicid_and)(const struct cpumask *, const struct cpumask *, unsigned int *)
4.13
and 4.15
⚠️u32 (*calc_dest_apicid)(unsigned int)
const struct cpumask * (*target_cpus)()
int disable_esr
➡️ u32 disable_esr
int dest_logical
➡️ u32 dest_logical
long unsigned int (*check_apicid_used)(physid_mask_t *, int)
➡️ bool (*check_apicid_used)(physid_mask_t *, int)
unsigned int (*get_apic_id)(long unsigned int)
➡️ u32 (*get_apic_id)(long unsigned int)
long unsigned int (*set_apic_id)(unsigned int)
➡️ u32 (*set_apic_id)(unsigned int)
4.15
and 4.18
⚠️void (*vector_allocation_domain)(int, struct cpumask *, const struct cpumask *)
int (*cpu_mask_to_apicid)(const struct cpumask *, struct irq_data *, unsigned int *)
int (*apic_id_valid)(int)
➡️ int (*apic_id_valid)(u32)
4.18
and 5.0
✅
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
⚠️enum apic_delivery_modes delivery_mode
bool dest_mode_logical
u32 dest_logical
u32 irq_delivery_mode
u32 irq_dest_mode
5.11
and 5.13
✅
5.13
and 5.15
✅
5.15
and 5.19
⚠️int (*wakeup_secondary_cpu_64)(int, long unsigned int)
5.19
and 6.2
✅
6.2
and 6.5
✅
6.5
and 6.8
⚠️void (*eoi)()
void (*native_eoi)()
u32 x2apic_set_max_apicid
u32 nmi_to_offline_cpu
u32 max_apic_id
void (*eoi_write)(u32, u32)
void (*native_eoi_write)(u32, u32)
enum apic_delivery_modes delivery_mode
int (*apic_id_valid)(u32)
void (*setup_apic_routing)()
void (*apicid_to_cpu_present)(int, physid_mask_t *)
int (*check_phys_apicid_present)(int)
void (*inquire_remote_apic)(int)
bool dest_mode_logical
➡️ u32 dest_mode_logical
int (*apic_id_registered)()
➡️ bool (*apic_id_registered)()
bool (*check_apicid_used)(physid_mask_t *, int)
➡️ bool (*check_apicid_used)(physid_mask_t *, u32)
int (*cpu_present_to_apicid)(int)
➡️ u32 (*cpu_present_to_apicid)(int)
int (*phys_pkg_id)(int, int)
➡️ u32 (*phys_pkg_id)(u32, int)
u32 (*get_apic_id)(long unsigned int)
➡️ u32 (*get_apic_id)(u32)
u32 (*set_apic_id)(unsigned int)
➡️ u32 (*set_apic_id)(u32)
int (*wakeup_secondary_cpu)(int, long unsigned int)
➡️ int (*wakeup_secondary_cpu)(u32, long unsigned int)
int (*wakeup_secondary_cpu_64)(int, long unsigned int)
➡️ int (*wakeup_secondary_cpu_64)(u32, long unsigned int)
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅