[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v5 2/2] xen/arm: Throw messages for unknown FP/SIMD implement ID


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, <sstabellini@xxxxxxxxxx>, <julien@xxxxxxx>
  • From: Wei Chen <wei.chen@xxxxxxx>
  • Date: Fri, 28 Aug 2020 02:34:04 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=bestguesspass action=none header.from=arm.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hdFAtC7rHt5MGNEfHLJJ1iFsBoyoB1+S+Y6Ost9gnDc=; b=AMkCG5AOjW1jUocZInbf2vboM5vyy32dgGpRuq8ukqEIsi1YzMXV92Lplh6NlV/UxGFstwTcOGxAZe3AKFuYFhYC0Pt963YCtDHaiXbFKrrBUaUa/ILfWqZhGkWEqGCP/5xD9anECUQSI0pyqp37czStxGxBWnjJxLJ9m/AzVEBjWm+eK9Y7oq/N9EjtmFqt0mhuT+1qAa6stqaY7qhZNr/znvnZ57uvkAnGaP6HNkWdAOBeWRh3L5hKKvzq/C9MbbZXsPXDeDon830CSRaZA3DnKdS4J7XzNdxIXwz2VmTiGCH61JsLtGc/deNvJ+NRVKEN1VswihjQztlQkvjclw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bmURRurzN3fxymG5koNmNAOZYJeMOijodI8PWF7FnmK8oV2AKp0MOwhFKMuQCcg/I9TX5c0M2aM2979OpK3T+bcM6umu45oKSyl30VotgCBdKu15nSgqYvWjFEjIfF0lZ8sG1DpCB6WVWtS4D2wBYhoflzoUdC2rVgHYC725BVd2ZMmTnEGAwXLlblZnTnyEnW138oE5M9Cf+TaUGMqo3deru239pooZNUeylZuiI9uj3qWej1oIhG8Xka7oHVQLG4BuWioiI+1A7VoHWK2kUWljmVE5VnEO9xPcBFohvYoBXC1V6jcj2z2qYF/M5WLJSqMn3QpQrudYAO8/voXdfg==
  • Cc: <Andre.Przywara@xxxxxxx>, <Bertrand.Marquis@xxxxxxx>, <Penny.Zheng@xxxxxxx>, <Kaly.Xin@xxxxxxx>, <nd@xxxxxxx>
  • Delivery-date: Fri, 28 Aug 2020 02:34:36 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true

Arm ID_AA64PFR0_EL1 register provides two fields to describe CPU
FP/SIMD implementations. Currently, we exactly know the meaning of
0x0, 0x1 and 0xf of these fields. Xen treats value < 8 as FP/SIMD
features presented. If there is a value 0x2 bumped in the future,
Xen behaviors for value <= 0x1 can also take effect. But what Xen
done for value <= 0x1 may not always cover new value 0x2 required.
We throw these messages to break the silence when Xen detected
unknown FP/SIMD IDs to notice user to check.

Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
---
 xen/arch/arm/setup.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 7968cee47d..f16b33fa87 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -133,6 +133,18 @@ static void __init processor_id(void)
            cpu_has_simd ? " AdvancedSIMD" : "",
            cpu_has_gicv3 ? " GICv3-SysReg" : "");
 
+    /* Warn user if we find unknown floating-point features */
+    if ( cpu_has_fp && (boot_cpu_feature64(fp) >= 2) )
+        printk(XENLOG_WARNING "WARNING: Unknown Floating-point ID:%d, "
+               "this may result in corruption on the platform\n",
+               boot_cpu_feature64(fp));
+
+    /* Warn user if we find unknown AdvancedSIMD features */
+    if ( cpu_has_simd && (boot_cpu_feature64(simd) >= 2) )
+        printk(XENLOG_WARNING "WARNING: Unknown AdvancedSIMD ID:%d, "
+               "this may result in corruption on the platform\n",
+               boot_cpu_feature64(simd));
+
     printk("  Debug Features: %016"PRIx64" %016"PRIx64"\n",
            boot_cpu_data.dbg64.bits[0], boot_cpu_data.dbg64.bits[1]);
     printk("  Auxiliary Features: %016"PRIx64" %016"PRIx64"\n",
-- 
2.17.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.