Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/arch/x86/genapic/bigsmp.c
Line
Count
Source (jump to first uncovered line)
1
#include <xen/cpumask.h>
2
#include <asm/current.h>
3
#include <asm/mpspec.h>
4
#include <asm/genapic.h>
5
#include <asm/fixmap.h>
6
#include <asm/apicdef.h>
7
#include <xen/kernel.h>
8
#include <xen/smp.h>
9
#include <xen/init.h>
10
#include <xen/dmi.h>
11
#include <asm/mach-default/mach_mpparse.h>
12
#include <asm/io_apic.h>
13
14
static __init int force_bigsmp(struct dmi_system_id *d)
15
0
{
16
0
  printk(KERN_NOTICE "%s detected: force use of apic=bigsmp\n", d->ident);
17
0
  def_to_bigsmp = true;
18
0
  return 0;
19
0
}
20
21
22
static struct dmi_system_id __initdata bigsmp_dmi_table[] = {
23
  { force_bigsmp, "UNISYS ES7000-ONE", {
24
    DMI_MATCH(DMI_PRODUCT_NAME, "ES7000-ONE")
25
   }},
26
  
27
   { }
28
};
29
30
31
static __init int probe_bigsmp(void)
32
2
{ 
33
2
  /*
34
2
   * We don't implement cluster mode, so force use of
35
2
   * physical mode in both cases.
36
2
   */
37
2
  if (acpi_gbl_FADT.flags &
38
2
      (ACPI_FADT_APIC_CLUSTER | ACPI_FADT_APIC_PHYSICAL))
39
0
    def_to_bigsmp = true;
40
2
  else if (!def_to_bigsmp)
41
1
    dmi_check_system(bigsmp_dmi_table);
42
2
  return def_to_bigsmp;
43
2
} 
44
45
const struct genapic apic_bigsmp = {
46
  APIC_INIT("bigsmp", probe_bigsmp),
47
  GENAPIC_PHYS
48
};