T156: acpi: properly set vtd_enabled
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 20 Aug 2015 16:09:43 +0000 (18:09 +0200)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 20 Aug 2015 16:09:43 +0000 (18:09 +0200)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

usr/acpi/acpi.c
usr/acpi/acpi_main.c
usr/acpi/acpi_shared.h
usr/acpi/intel_vtd.c

index 247bde7..e31cd02 100644 (file)
@@ -625,7 +625,7 @@ static int acpi_init(void)
     }
 
     if (!vtd_force_off) {
-        vtd_enabled = (vtd_init() == 0);
+        vtd_init();
     }
 
     return 0;
index 792560a..7aff8fb 100644 (file)
@@ -35,7 +35,6 @@
 uintptr_t my_apic_id;
 
 bool vtd_force_off;
-bool vtd_enabled = false;
 
 // Memory allocator instance for physical address regions and platform memory
 struct mm pci_mm_physaddr;
index aefa19f..463b0dc 100644 (file)
@@ -38,6 +38,5 @@ void ec_init(void);
 void start_service(void);
 
 extern bool vtd_force_off;
-extern bool vtd_enabled;
 
 #endif /* ACPI_SHARED_H_ */
index 73b1ce4..fac9bc7 100644 (file)
 #include <skb/skb.h>
 #include <pci/confspace/pci_confspace.h>
 
-#include "acpi_shared.h"
 #include "intel_vtd.h"
 #include "vtd_debug.h"
 
 extern struct mm pci_mm_physaddr;
+static bool vtd_enabled = false;
 
 // cache coherency for frame mappings
 static bool cache_coherence = false;
@@ -813,6 +813,8 @@ int vtd_init(void)
         return 1;
     }
 
+    vtd_enabled = true;
+
     // When we have finished parsing the DMAR table, we create the identity 
     // domain and determine the domain-id bounds that can be used on all 
     // hardware units.