On 08/17/2017 09:48 AM, Nitesh Konkar wrote:
Fix the warning generated on PPC by virt-host-validate
for IOMMU
Signed-off-by: Nitesh Konkar <nitkon12(a)linux.vnet.ibm.com>
---
tools/virt-host-validate-common.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tools/virt-host-validate-common.c b/tools/virt-host-validate-common.c
index 6faed04..51fa8c0 100644
--- a/tools/virt-host-validate-common.c
+++ b/tools/virt-host-validate-common.c
@@ -35,6 +35,7 @@
#include "virfile.h"
#include "virt-host-validate-common.h"
#include "virstring.h"
+#include "virarch.h"
#define VIR_FROM_THIS VIR_FROM_NONE
@@ -442,8 +443,7 @@ int virHostValidateIOMMU(const char *hvname,
virBitmapPtr flags;
struct stat sb;
const char *bootarg = NULL;
- bool isAMD = false, isIntel = false;
-
+ bool isAMD = false, isIntel = false, isPPC = false;
flags = virHostValidateGetCPUFlags();
if (flags && virBitmapIsBitSet(flags, VIR_HOST_VALIDATE_CPU_FLAG_VMX))
@@ -453,9 +453,10 @@ int virHostValidateIOMMU(const char *hvname,
virBitmapFree(flags);
- virHostMsgCheck(hvname, "%s", _("for device assignment IOMMU
support"));
+ isPPC = ARCH_IS_PPC64(virArchFromHost());
if (isIntel) {
+ virHostMsgCheck(hvname, "%s", _("for device assignment IOMMU
support"));
if (access("/sys/firmware/acpi/tables/DMAR", F_OK) == 0) {
virHostMsgPass();
bootarg = "intel_iommu=on";
@@ -467,6 +468,7 @@ int virHostValidateIOMMU(const char *hvname,
return -1;
}
} else if (isAMD) {
+ virHostMsgCheck(hvname, "%s", _("for device assignment IOMMU
support"));
if (access("/sys/firmware/acpi/tables/IVRS", F_OK) == 0) {
virHostMsgPass();
bootarg = "iommu=pt iommu=1";
@@ -477,6 +479,8 @@ int virHostValidateIOMMU(const char *hvname,
"hardware platform");
return -1;
}
+ } else if (isPPC) {
+ /* Empty Block */
So there's nothing to check at all? Perhaps elaborate in the commit
message...
Still what happens when @bootarg isn't populated and by chance we fall
into the:
if (sb.st_nlink <= 2) {
}
condition below here? You'll get "Add <nil>..."
Or can we not get to that code? I'm not PPC and IOMMU aware, so I'm
asking...
Tks,
John
} else {
virHostMsgFail(level,
"Unknown if this platform has IOMMU support");