root/arch/x86/kernel/apic/probe_64.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. default_setup_apic_routing
  2. default_acpi_madt_oem_check

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * Copyright 2004 James Cleverdon, IBM.
   4  *
   5  * Generic APIC sub-arch probe layer.
   6  *
   7  * Hacked for x86-64 by James Cleverdon from i386 architecture code by
   8  * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
   9  * James Cleverdon.
  10  */
  11 #include <asm/apic.h>
  12 
  13 #include "local.h"
  14 
  15 /*
  16  * Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
  17  */
  18 void __init default_setup_apic_routing(void)
  19 {
  20         struct apic **drv;
  21 
  22         enable_IR_x2apic();
  23 
  24         for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
  25                 if ((*drv)->probe && (*drv)->probe()) {
  26                         if (apic != *drv) {
  27                                 apic = *drv;
  28                                 pr_info("Switched APIC routing to %s.\n",
  29                                         apic->name);
  30                         }
  31                         break;
  32                 }
  33         }
  34 
  35         if (x86_platform.apic_post_init)
  36                 x86_platform.apic_post_init();
  37 }
  38 
  39 int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
  40 {
  41         struct apic **drv;
  42 
  43         for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
  44                 if ((*drv)->acpi_madt_oem_check(oem_id, oem_table_id)) {
  45                         if (apic != *drv) {
  46                                 apic = *drv;
  47                                 pr_info("Setting APIC routing to %s.\n",
  48                                         apic->name);
  49                         }
  50                         return 1;
  51                 }
  52         }
  53         return 0;
  54 }

/* [<][>][^][v][top][bottom][index][help] */