forked from QubesOS/qubes-vmm-xen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
X2APIC.patch
72 lines (63 loc) · 2.4 KB
/
X2APIC.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index d512c50f..f362064b 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -233,8 +233,12 @@ boolean_param("x2apic_phys", x2apic_phys);
const struct genapic *__init apic_x2apic_probe(void)
{
+printk("NEOWUTRAN2: X2APIC_PHYS: %d \n", x2apic_phys);
+ printk("NEOWUTRAN2: acpi_gbl_FADT.flags: %d \n", acpi_gbl_FADT.flags);
+ printk("NEOWUTRAN2 IOMMU_INTREMAP: %s \n", iommu_intremap == iommu_intremap_off ? "same" : "different");
if ( x2apic_phys < 0 )
- {
+ {
+ printk("Neowutran2: Passe 1 \n");
/*
* Force physical mode if there's no (full) interrupt remapping support:
* The ID in clustered mode requires a 32 bit destination field due to
@@ -242,10 +246,11 @@ const struct genapic *__init apic_x2apic_probe(void)
*/
x2apic_phys = iommu_intremap != iommu_intremap_full ||
(acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
- (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) &&
- !(acpi_gbl_FADT.flags & ACPI_FADT_APIC_CLUSTER));
+ IS_ENABLED(CONFIG_X2APIC_PHYSICAL);
+ printk("NEOWUTRAN2: X2APIC_PHYS: %d \n", x2apic_phys);
}
- else if ( !x2apic_phys )
+ else if ( !x2apic_phys ){
+ printk("Neowutran2: Passe 2 \n");
switch ( iommu_intremap )
{
case iommu_intremap_off:
@@ -255,23 +260,30 @@ const struct genapic *__init apic_x2apic_probe(void)
iommu_intremap == iommu_intremap_off ? "without"
: "with restricted");
x2apic_phys = true;
+ printk("Neowutran2: Passe 3 \n");
break;
case iommu_intremap_full:
+ printk("Neowutran2: Passe 4 \n");
break;
}
+ }
- if ( x2apic_phys )
+ if ( x2apic_phys ){
+ printk("Neowutran2: Passe 5 \n");
return &apic_x2apic_phys;
+ }
if ( !this_cpu(cluster_cpus) )
{
+ printk("Neowutran2: Passe 6 \n");
update_clusterinfo(NULL, CPU_UP_PREPARE,
(void *)(long)smp_processor_id());
init_apic_ldr_x2apic_cluster();
register_cpu_notifier(&x2apic_cpu_nfb);
}
-
+
+ printk("Neowutran2: Passe 7 \n");
return &apic_x2apic_cluster;
}
--
2.42.0