LCOV - code coverage report
Current view: top level - arch/x86/kernel/apic - probe_64.c (source / functions) Hit Total Coverage
Test: landlock.info Lines: 7 17 41.2 %
Date: 2021-04-22 12:43:58 Functions: 1 2 50.0 %

          Line data    Source code
       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 <linux/thread_info.h>
      12             : #include <asm/apic.h>
      13             : 
      14             : #include "local.h"
      15             : 
      16             : /*
      17             :  * Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
      18             :  */
      19           1 : void __init default_setup_apic_routing(void)
      20             : {
      21           1 :         struct apic **drv;
      22             : 
      23           1 :         enable_IR_x2apic();
      24             : 
      25           3 :         for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
      26           2 :                 if ((*drv)->probe && (*drv)->probe()) {
      27           1 :                         if (apic != *drv) {
      28           0 :                                 apic = *drv;
      29           0 :                                 pr_info("Switched APIC routing to %s.\n",
      30             :                                         apic->name);
      31             :                         }
      32             :                         break;
      33             :                 }
      34             :         }
      35           1 : }
      36             : 
      37           0 : int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
      38             : {
      39           0 :         struct apic **drv;
      40             : 
      41           0 :         for (drv = __apicdrivers; drv < __apicdrivers_end; drv++) {
      42           0 :                 if ((*drv)->acpi_madt_oem_check(oem_id, oem_table_id)) {
      43           0 :                         if (apic != *drv) {
      44           0 :                                 apic = *drv;
      45           0 :                                 pr_info("Setting APIC routing to %s.\n",
      46             :                                         apic->name);
      47             :                         }
      48           0 :                         return 1;
      49             :                 }
      50             :         }
      51             :         return 0;
      52             : }

Generated by: LCOV version 1.14