Print this page
PANKOVs restructure


  31 /*
  32  * [Support of X2APIC]
  33  * According to the ACPI Spec, when using the X2APIC interrupt model, logical
  34  * processors with APIC ID values of 255 and greater are required to have a
  35  * Processor Device object and must convey the Processor's APIC information to
  36  * OSPM using the Processor Local X2APIC structure. Logical Processors with APIC
  37  * ID values less than 255 must use the Processor Local XAPIC structure to
  38  * convey their APIC information to OSPM.
  39  */
  40 
  41 #include <sys/types.h>
  42 #include <sys/atomic.h>
  43 #include <sys/bootconf.h>
  44 #include <sys/cpuvar.h>
  45 #include <sys/machsystm.h>
  46 #include <sys/note.h>
  47 #include <sys/psm_types.h>
  48 #include <sys/x86_archext.h>
  49 #include <sys/sunddi.h>
  50 #include <sys/sunndi.h>
  51 #include <sys/acpi/acpi.h>
  52 #include <sys/acpica.h>
  53 #include <sys/acpidev.h>
  54 #include <sys/acpidev_impl.h>
  55 
  56 struct acpidev_cpu_map_item {
  57         uint32_t        proc_id;
  58         uint32_t        apic_id;
  59 };
  60 
  61 struct acpidev_cpu_MAT_arg {
  62         boolean_t       found;
  63         boolean_t       enabled;
  64         uint32_t        proc_id;
  65         uint32_t        apic_id;
  66 };
  67 
  68 static ACPI_STATUS acpidev_cpu_pre_probe(acpidev_walk_info_t *infop);
  69 static ACPI_STATUS acpidev_cpu_post_probe(acpidev_walk_info_t *infop);
  70 static ACPI_STATUS acpidev_cpu_probe(acpidev_walk_info_t *infop);
  71 static acpidev_filter_result_t acpidev_cpu_filter(acpidev_walk_info_t *infop,




  31 /*
  32  * [Support of X2APIC]
  33  * According to the ACPI Spec, when using the X2APIC interrupt model, logical
  34  * processors with APIC ID values of 255 and greater are required to have a
  35  * Processor Device object and must convey the Processor's APIC information to
  36  * OSPM using the Processor Local X2APIC structure. Logical Processors with APIC
  37  * ID values less than 255 must use the Processor Local XAPIC structure to
  38  * convey their APIC information to OSPM.
  39  */
  40 
  41 #include <sys/types.h>
  42 #include <sys/atomic.h>
  43 #include <sys/bootconf.h>
  44 #include <sys/cpuvar.h>
  45 #include <sys/machsystm.h>
  46 #include <sys/note.h>
  47 #include <sys/psm_types.h>
  48 #include <sys/x86_archext.h>
  49 #include <sys/sunddi.h>
  50 #include <sys/sunndi.h>
  51 #include <acpica/include/acpi.h>
  52 #include <sys/acpica.h>
  53 #include <sys/acpidev.h>
  54 #include <sys/acpidev_impl.h>
  55 
  56 struct acpidev_cpu_map_item {
  57         uint32_t        proc_id;
  58         uint32_t        apic_id;
  59 };
  60 
  61 struct acpidev_cpu_MAT_arg {
  62         boolean_t       found;
  63         boolean_t       enabled;
  64         uint32_t        proc_id;
  65         uint32_t        apic_id;
  66 };
  67 
  68 static ACPI_STATUS acpidev_cpu_pre_probe(acpidev_walk_info_t *infop);
  69 static ACPI_STATUS acpidev_cpu_post_probe(acpidev_walk_info_t *infop);
  70 static ACPI_STATUS acpidev_cpu_probe(acpidev_walk_info_t *infop);
  71 static acpidev_filter_result_t acpidev_cpu_filter(acpidev_walk_info_t *infop,