microblaze: exception: move unaligned access printfs inside switch case
authorOvidiu Panait <ovidiu.panait@windriver.com>
Sun, 13 Feb 2022 08:09:23 +0000 (10:09 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 15 Feb 2022 12:11:43 +0000 (13:11 +0100)
The unaligned access messages are only valid in the case of an unaligned
data access exception. Do not print them for other types of hw exceptions.

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Link: https://lore.kernel.org/r/20220213080925.1548411-5-ovidiu.panait@windriver.com
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/cpu/exception.c

index f79e465..d37f043 100644 (file)
@@ -35,6 +35,10 @@ void _hw_exception_handler (void)
        switch (state & 0x1f) { /* mask on exception cause */
        case 0x1:
                puts("Unaligned data access exception\n");
+
+               printf("Unaligned %sword access\n", ((state & 0x800) ? "" : "half"));
+               printf("Unaligned %s access\n", ((state & 0x400) ? "store" : "load"));
+               printf("Register R%x\n", (state & 0x3E) >> 5);
                break;
        case 0x2:
                puts("Illegal op-code exception\n");
@@ -57,9 +61,6 @@ void _hw_exception_handler (void)
        }
 
        printf("Return address from exception 0x%x\n", address);
-       printf("Unaligned %sword access\n", ((state & 0x800) ? "" : "half"));
-       printf("Unaligned %s access\n", ((state & 0x400) ? "store" : "load"));
-       printf("Register R%x\n", (state & 0x3E) >> 5);
        hang();
 }