11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/**************************************************************************** 21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project **************************************************************************** 31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** 41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** This header was automatically generated from a Linux kernel header 51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** of the same name, to make information necessary for userspace to 61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** call into the kernel available to libc. It contains only constants, 71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** structures, and macros generated from the original header, and thus, 81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** contains no copyrightable information. 91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** 10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** To edit the content of this header, modify the corresponding 11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** source file (e.g. under external/kernel-headers/original/) then 12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** run bionic/libc/kernel/tools/update_all.py 13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** Any manual change here will be lost the next time this script will 15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** be run. You've been warned! 16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project **************************************************************************** 181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/ 191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _ASM_GENAPIC_H 201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _ASM_GENAPIC_H 1 211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/mpspec.h> 221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct mpc_config_translation; 23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct mpc_config_bus; 251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct mp_config_table; 261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct mpc_config_processor; 271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct genapic { 28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char *name; 301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*probe)(void); 311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*apic_id_registered)(void); 321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project cpumask_t (*target_cpus)(void); 33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int int_delivery_mode; 351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int int_dest_mode; 361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int ESR_DISABLE; 371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int apic_destination_logical; 38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned long (*check_apicid_used)(physid_mask_t bitmap, int apicid); 401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned long (*check_apicid_present)(int apicid); 411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int no_balance_irq; 421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int no_ioapic_check; 43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*init_apic_ldr)(void); 451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project physid_mask_t (*ioapic_phys_id_map)(physid_mask_t map); 461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*setup_apic_routing)(void); 471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*multi_timer_check)(int apic, int irq); 48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*apicid_to_node)(int logical_apicid); 501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*cpu_to_logical_apicid)(int cpu); 511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*cpu_present_to_apicid)(int mps_cpu); 521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project physid_mask_t (*apicid_to_cpu_present)(int phys_apicid); 53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*mpc_apic_id)(struct mpc_config_processor *m, 551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct mpc_config_translation *t); 561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*setup_portio_remap)(void); 571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*check_phys_apicid_present)(int boot_cpu_physical_apicid); 58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*enable_apic_mode)(void); 601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 (*phys_pkg_id)(u32 cpuid_apic, int index_msb); 611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*mpc_oem_bus_info)(struct mpc_config_bus *, char *, 621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct mpc_config_translation *); 63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*mpc_oem_pci_bus)(struct mpc_config_bus *, 651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct mpc_config_translation *); 661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*mps_oem_check)(struct mp_config_table *mpc, char *oem, 671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char *productid); 68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*acpi_madt_oem_check)(char *oem_id, char *oem_table_id); 701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned (*get_apic_id)(unsigned long x); 711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned long apic_id_mask; 721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int (*cpu_mask_to_apicid)(cpumask_t cpumask); 73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define APICFUNC(x) .x = x, 761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IPIFUNC(x) 771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define APIC_INIT(aname, aprobe) { .name = aname, .probe = aprobe, .int_delivery_mode = INT_DELIVERY_MODE, .int_dest_mode = INT_DEST_MODE, .no_balance_irq = NO_BALANCE_IRQ, .ESR_DISABLE = esr_disable, .apic_destination_logical = APIC_DEST_LOGICAL, APICFUNC(apic_id_registered) APICFUNC(target_cpus) APICFUNC(check_apicid_used) APICFUNC(check_apicid_present) APICFUNC(init_apic_ldr) APICFUNC(ioapic_phys_id_map) APICFUNC(setup_apic_routing) APICFUNC(multi_timer_check) APICFUNC(apicid_to_node) APICFUNC(cpu_to_logical_apicid) APICFUNC(cpu_present_to_apicid) APICFUNC(apicid_to_cpu_present) APICFUNC(mpc_apic_id) APICFUNC(setup_portio_remap) APICFUNC(check_phys_apicid_present) APICFUNC(mpc_oem_bus_info) APICFUNC(mpc_oem_pci_bus) APICFUNC(mps_oem_check) APICFUNC(get_apic_id) .apic_id_mask = APIC_ID_MASK, APICFUNC(cpu_mask_to_apicid) APICFUNC(acpi_madt_oem_check) IPIFUNC(send_IPI_mask) IPIFUNC(send_IPI_allbutself) IPIFUNC(send_IPI_all) APICFUNC(enable_apic_mode) APICFUNC(phys_pkg_id) } 78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 80