WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [IA64] Replace huge if/else if with a switch.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [IA64] Replace huge if/else if with a switch.
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 23 Mar 2006 00:52:09 +0000
Delivery-date: Thu, 23 Mar 2006 00:53:57 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID ccb437f2ed4e801cd7ecf2d87743b6d68ebe0d01
# Parent  d5b1bc047540d97e853e476c333ce54bb88ac594
[IA64] Replace huge if/else if with a switch.

Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>

diff -r d5b1bc047540 -r ccb437f2ed4e xen/arch/ia64/xen/dom_fw.c
--- a/xen/arch/ia64/xen/dom_fw.c        Mon Mar 20 16:33:38 2006
+++ b/xen/arch/ia64/xen/dom_fw.c        Mon Mar 20 16:53:17 2006
@@ -106,12 +106,9 @@
        long r11 = 0;
        long status;
 
-       /*
-        * Don't do a "switch" here since that gives us code that
-        * isn't self-relocatable.
-        */
        status = 0;
-       if (index == SAL_FREQ_BASE) {
+       switch (index) {
+           case SAL_FREQ_BASE:
                if (!running_on_sim)
                        status = ia64_sal_freq_base(in1,&r9,&r10);
                else switch (in1) {
@@ -131,15 +128,18 @@
                        status = -1;
                        break;
                }
-       } else if (index == SAL_PCI_CONFIG_READ) {
+               break;
+           case SAL_PCI_CONFIG_READ:
                if (current->domain == dom0) {
                        u64 value;
                        // note that args 2&3 are swapped!!
                        status = ia64_sal_pci_config_read(in1,in3,in2,&value);
                        r9 = value;
                }
-               else printf("NON-PRIV DOMAIN CALLED SAL_PCI_CONFIG_READ\n");
-       } else if (index == SAL_PCI_CONFIG_WRITE) {
+               else
+                    printf("NON-PRIV DOMAIN CALLED SAL_PCI_CONFIG_READ\n");
+               break;
+           case SAL_PCI_CONFIG_WRITE:
                if (current->domain == dom0) {
                        if (((in1 & ~0xffffffffUL) && (in4 == 0)) ||
                            (in4 > 1) ||
@@ -149,28 +149,40 @@
                        // note that args are in a different order!!
                        status = ia64_sal_pci_config_write(in1,in4,in2,in3);
                }
-               else printf("NON-PRIV DOMAIN CALLED SAL_PCI_CONFIG_WRITE\n");
-       } else if (index == SAL_SET_VECTORS) {
+               else
+                    printf("NON-PRIV DOMAIN CALLED SAL_PCI_CONFIG_WRITE\n");
+               break;
+           case SAL_SET_VECTORS:
                printf("*** CALLED SAL_SET_VECTORS.  IGNORED...\n");
-       } else if (index == SAL_GET_STATE_INFO) {
+               break;
+           case SAL_GET_STATE_INFO:
                printf("*** CALLED SAL_GET_STATE_INFO.  IGNORED...\n");
-       } else if (index == SAL_GET_STATE_INFO_SIZE) {
+               break;
+           case SAL_GET_STATE_INFO_SIZE:
                printf("*** CALLED SAL_GET_STATE_INFO_SIZE.  IGNORED...\n");
-       } else if (index == SAL_CLEAR_STATE_INFO) {
+               break;
+           case SAL_CLEAR_STATE_INFO:
                printf("*** CALLED SAL_CLEAR_STATE_INFO.  IGNORED...\n");
-       } else if (index == SAL_MC_RENDEZ) {
+               break;
+           case SAL_MC_RENDEZ:
                printf("*** CALLED SAL_MC_RENDEZ.  IGNORED...\n");
-       } else if (index == SAL_MC_SET_PARAMS) {
+               break;
+           case SAL_MC_SET_PARAMS:
                printf("*** CALLED SAL_MC_SET_PARAMS.  IGNORED...\n");
-       } else if (index == SAL_CACHE_FLUSH) {
+               break;
+           case SAL_CACHE_FLUSH:
                printf("*** CALLED SAL_CACHE_FLUSH.  IGNORED...\n");
-       } else if (index == SAL_CACHE_INIT) {
+               break;
+           case SAL_CACHE_INIT:
                printf("*** CALLED SAL_CACHE_INIT.  IGNORED...\n");
-       } else if (index == SAL_UPDATE_PAL) {
+               break;
+           case SAL_UPDATE_PAL:
                printf("*** CALLED SAL_UPDATE_PAL.  IGNORED...\n");
-       } else {
+               break;
+           default:
                printf("*** CALLED SAL_ WITH UNKNOWN INDEX.  IGNORED...\n");
                status = -1;
+               break;
        }
        return ((struct sal_ret_values) {status, r9, r10, r11});
 }
@@ -183,8 +195,9 @@
        unsigned long r11 = 0;
        long status = -1;
 
-       if (running_on_sim) return pal_emulator_static(index);
-       printk("xen_pal_emulator: index=%lu\n", index);
+       if (running_on_sim)
+               return pal_emulator_static(index);
+
        // pal code must be mapped by a TR when pal is called, however
        // calls are rare enough that we will map it lazily rather than
        // at every context switch

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [IA64] Replace huge if/else if with a switch., Xen patchbot -unstable <=