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

Re: [PATCH 01/12] x86/IO-APIC: address Misra 2.1 rule violations


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • Date: Fri, 28 Aug 2026 10:31:56 +0200
  • Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1787905922; h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References: Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=57DpeOM4ZZyK6S8+j5v/LJFABgPU7k0ijq2diC/4+3A=; b=y7D7ISArE0UrhGwH9X9qwWFoIMXQumh/pWhngjhhWtm28yJjR1i4IxxYSIo7pcdRVl0E dWLyl7zrpS07237dHp9A9w5h7p4BFEQIH8U+MIBEV8FwLpGZtggBZ5JNd2DZ52OO14a+4 x7uwiaVlKxJxtCb6MtYpnYTOYUgpk3ogivLRvdgZZINH3lw7bkYqj0wY58/Vx/u/6NvNo OHhIYzMv6aQakEtPiQpR8iko4tWpKZ9xf/yFlJ6uPH27q3pQBF9xxRNSRJQkSNFM0A6Jj 9xz2aWuC1I9+66UNS/9O/8zcQ7N49O3duaIYyDle5zI3oLTzNjE4pKtjxndRk8Q6BWNrR 0D1WryDysWZmI5PjUctG8Xq7MvYoYDPfQXnYq70tLOHwRRuLPjqbmfsm84vCz6t8camQG t5RaAsoNxfHsqsXYdjeLP8Kr5IzSZAq8h49fOG2o/HOLUIogDNiIsCz5/BtaMxLJkYtbP ANPJlPYd26TVnTSSYPLcoLb8pVDjcBrjl5+LqldlepBwrYi2+v2kmsPea06eQZB6FT70C 0YENudEYm/6uvihY2tvy/wFYVCV+YI+GgOXcWOF+/u5aJe6FDXTTqBDQCOUYFjva2dWUd dd/1sn5px2AqLnQNjh1Xwf7hq0V2QH4Vq7XP+3Cgqpde+ZTmeyrDC07zwV7mdVs=
  • Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1787905922; b=Dk+q15xrGrlwRMYp5SNXXhihQnNczemPIxp5TL2ZTn7t/idml8t2kJXK6fYgdNuLhJ53 aDli3KjDKywWNbXT7uq1hoRoBuoGSH2gmCK9pKs0BZAtCf6yvjR6XKfAn9krqj6liAaYQ boj8RIidyKbCce9UkJ+nG7lRnceDWZcmNMaF8v7UEpe5hiDLNvyeNbxu6/QhfGWrxQFaR wltG0lYLsg2GMxFGrTwpApFpgD43ZYjWWoFbmzIcN05vijfdFJZXpxnPIfDFiJMInSEbx QZz3jDxlCAlU/CHK8oC8uVLjSevglGIYycJXYAgndAeKVm+L9FZiEP5IuxidPCZugJ234 Ra0xU2x0PG9hS8ZfrsTA0dHigpTlJRq9K8XM6rF7TS+YbOKJzAiMldNmtY0kU/pWm4kl+ 2PxwLWmar8N02MnRXfIwWkGzlGhpXg10PWGPz33j2+NNIvVcNF83RlSh7/Tuh+IY6IqtK EYn1Aefhg3pif3k05AmXTodcEb7BaSHK3pjQk+uD5NwuUwBPYrs3ZC0mM5CJR/FIa2Ahv KKQZwFnpyfhSclnJhyUQXgzznlYO+4ATotG/35lcPVNYxRhUy2R/Goi5Y5eGTuFpustU+ YLfsskyYRohkbWMEbywVpy/gXzL40eywRGulB9uMzZhsFxZLlVnJm5w/oBdO/Cs=
  • Authentication-results: eu.smtp.expurgate.cloud; none
  • Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Teddy Astie <teddy.astie@xxxxxxxxxx>, Roger Pau Monné <roger@xxxxxxxxxxxxxx>
  • Delivery-date: Fri, 28 Aug 2026 08:32:06 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2026-08-28 08:59, Jan Beulich wrote:
In both functions cases 0..3 are handled, and a 2-bit mask is applied to
the switch() expression. Therefore the default: cases are reported
unreachable by Eclair. Subsume the "case 2" blocks each into the
corresponding default ones.

While there also drop all the pointless figure braces inside the various
case blocks, inserting blank lines instead between them.

No functional change.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>


Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>

--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -804,66 +804,48 @@ static int __init MPBIOS_polarity(int id
     switch (mp_irqs[idx].mpc_irqflag & 3)
     {
     case 0: /* conforms, ie. bus-type dependent polarity */
-    {
         switch (mp_bus_id_to_type[bus])
         {
         case MP_BUS_ISA: /* ISA pin */
-        {
             polarity = default_ISA_polarity(idx);
             break;
-        }
+
         case MP_BUS_EISA: /* EISA pin */
-        {
             polarity = default_EISA_polarity(idx);
             break;
-        }
+
         case MP_BUS_PCI: /* PCI pin */
-        {
             polarity = default_PCI_polarity(idx);
             break;
-        }
+
         case MP_BUS_MCA: /* MCA pin */
-        {
             polarity = default_MCA_polarity(idx);
             break;
-        }
+
         case MP_BUS_NEC98: /* NEC 98 pin */
-        {
             polarity = default_NEC98_polarity(idx);
             break;
-        }
+
         default:
-        {
             printk(KERN_WARNING "broken BIOS!!\n");
             polarity = 1;
             break;
         }
-        }
         break;
-    }
+
     case 1: /* high active */
-    {
         polarity = 0;
         break;
-    }
-    case 2: /* reserved */
-    {
-        printk(KERN_WARNING "broken BIOS!!\n");
-        polarity = 1;
-        break;
-    }
+
     case 3: /* low active */
-    {
         polarity = 1;
         break;
-    }
-    default: /* invalid */
-    {
+
+    default: /* reserved */
         printk(KERN_WARNING "broken BIOS!!\n");
         polarity = 1;
         break;
     }
-    }
     return polarity;
 }

@@ -878,66 +860,48 @@ static int MPBIOS_trigger(int idx)
     switch ((mp_irqs[idx].mpc_irqflag>>2) & 3)
     {
     case 0: /* conforms, ie. bus-type dependent */
-    {
         switch (mp_bus_id_to_type[bus])
         {
         case MP_BUS_ISA: /* ISA pin */
-        {
             trigger = default_ISA_trigger(idx);
             break;
-        }
+
         case MP_BUS_EISA: /* EISA pin */
-        {
             trigger = default_EISA_trigger(idx);
             break;
-        }
+
         case MP_BUS_PCI: /* PCI pin */
-        {
             trigger = default_PCI_trigger(idx);
             break;
-        }
+
         case MP_BUS_MCA: /* MCA pin */
-        {
             trigger = default_MCA_trigger(idx);
             break;
-        }
+
         case MP_BUS_NEC98: /* NEC 98 pin */
-        {
             trigger = default_NEC98_trigger(idx);
             break;
-        }
+
         default:
-        {
             printk(KERN_WARNING "broken BIOS!!\n");
             trigger = 1;
             break;
         }
-        }
         break;
-    }
+
     case 1: /* edge */
-    {
         trigger = 0;
         break;
-    }
-    case 2: /* reserved */
-    {
-        printk(KERN_WARNING "broken BIOS!!\n");
-        trigger = 1;
-        break;
-    }
+
     case 3: /* level */
-    {
         trigger = 1;
         break;
-    }
-    default: /* invalid */
-    {
+
+    default: /* reserved */
         printk(KERN_WARNING "broken BIOS!!\n");
         trigger = 0;
         break;
     }
-    }
     return trigger;
 }

--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253



 


Rackspace

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