]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/full_demo/RegTest.S
Update version number ready for next release.
[freertos] / FreeRTOS / Demo / RISC-V-Qemu-sifive_e-FreedomStudio / full_demo / RegTest.S
index e4d87147b352f6e361831ceff53b4ae00cf6da74..0a5e544b6dd8f817028c7d98f07c72e6bd8c2d76 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
- * FreeRTOS Kernel V10.1.1\r
- * Copyright (C) 2018 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
  *\r
  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
  * this software and associated documentation files (the "Software"), to deal in\r
        .extern ulRegTest1LoopCounter\r
        .extern ulRegTest2LoopCounter\r
 \r
-       .global vRegTest1Task\r
-       .global vRegTest2Task\r
+       .global vRegTest1Implementation\r
+       .global vRegTest2Implementation\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
-vRegTest1Task:\r
+/*\r
+ * The register check tasks are described in the comments at the top of\r
+ * main_full.c.\r
+ */\r
+\r
+vRegTest1Implementation:\r
 \r
        /* Fill the core registers with known values. */\r
        li x5, 0x5\r
@@ -65,9 +70,9 @@ vRegTest1Task:
 \r
 reg1_loop:\r
 \r
-    /* Check each register still contains the expected known value.\r
-    vRegTest1Implementation uses x31 as the temporary, vRegTest2Implementation\r
-    uses x5 as the temporary. */\r
+       /* Check each register still contains the expected known value.\r
+       vRegTest1Implementation uses x31 as the temporary, vRegTest2Implementation\r
+       uses x5 as the temporary. */\r
        li x31, 0x5\r
        bne x31, x5, reg1_error_loop\r
        li x31, 0x6\r
@@ -121,134 +126,136 @@ reg1_loop:
        li x31, 0x1e\r
        bne x31, x30, reg1_error_loop\r
 \r
-    /* Everything passed, increment the loop counter. */\r
+       /* Everything passed, increment the loop counter. */\r
        lw x31, ulRegTest1LoopCounterConst\r
        lw x30, 0(x31)\r
        addi x30, x30, 1\r
        sw x30, 0(x31)\r
 \r
-    /* Restore clobbered register reading for next loop. */\r
-    li x30, 0x1e\r
+       /* Restore clobbered register reading for next loop. */\r
+       li x30, 0x1e\r
 \r
-    /* Yield to increase code coverage. */\r
-    ecall\r
+       /* Yield to increase code coverage. */\r
+       ecall\r
 \r
-    /* Start again. */\r
-    jal reg1_loop\r
+       /* Start again. */\r
+       jal reg1_loop\r
 \r
 reg1_error_loop:\r
-    /* Jump here if a register contains an uxpected value.  This stops the loop\r
-    counter being incremented so the check task knows an error was found. */\r
+       /* Jump here if a register contains an uxpected value.  This stops the loop\r
+       counter being incremented so the check task knows an error was found. */\r
+//     ebreak\r
        jal reg1_error_loop\r
 \r
 ulRegTest1LoopCounterConst: .word ulRegTest1LoopCounter\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
-vRegTest2Task:\r
-\r
-    /* Fill the core registers with known values. */\r
-    li x6, 0x61\r
-    li x7, 0x71\r
-    li x8, 0x81\r
-    li x9, 0x91\r
-    li x10, 0xa1\r
-    li x11, 0xb1\r
-    li x12, 0xc1\r
-    li x13, 0xd1\r
-    li x14, 0xe1\r
-    li x15, 0xf1\r
-    li x16, 0x20\r
-    li x17, 0x21\r
-    li x18, 0x22\r
-    li x19, 0x23\r
-    li x20, 0x24\r
-    li x21, 0x25\r
-    li x22, 0x26\r
-    li x23, 0x27\r
-    li x24, 0x28\r
-    li x25, 0x29\r
-    li x26, 0x2a\r
-    li x27, 0x2b\r
-    li x28, 0x2c\r
-    li x29, 0x2d\r
-    li x30, 0x2e\r
-    li x31, 0x2f\r
+vRegTest2Implementation:\r
+\r
+       /* Fill the core registers with known values. */\r
+       li x6, 0x61\r
+       li x7, 0x71\r
+       li x8, 0x81\r
+       li x9, 0x91\r
+       li x10, 0xa1\r
+       li x11, 0xb1\r
+       li x12, 0xc1\r
+       li x13, 0xd1\r
+       li x14, 0xe1\r
+       li x15, 0xf1\r
+       li x16, 0x20\r
+       li x17, 0x21\r
+       li x18, 0x22\r
+       li x19, 0x23\r
+       li x20, 0x24\r
+       li x21, 0x25\r
+       li x22, 0x26\r
+       li x23, 0x27\r
+       li x24, 0x28\r
+       li x25, 0x29\r
+       li x26, 0x2a\r
+       li x27, 0x2b\r
+       li x28, 0x2c\r
+       li x29, 0x2d\r
+       li x30, 0x2e\r
+       li x31, 0x2f\r
 \r
 Reg2_loop:\r
 \r
-    /* Check each register still contains the expected known value.\r
-    vRegTest2Implementation uses x5 as the temporary, vRegTest1Implementation\r
-    uses x31 as the temporary. */\r
-    li x5, 0x61\r
-    bne x5, x6, reg2_error_loop\r
-    li x5, 0x71\r
-    bne x5, x7, reg2_error_loop\r
-    li x5, 0x81\r
-    bne x5, x8, reg2_error_loop\r
-    li x5, 0x91\r
-    bne x5, x9, reg2_error_loop\r
-    li x5, 0xa1\r
-    bne x5, x10, reg2_error_loop\r
-    li x5, 0xb1\r
-    bne x5, x11, reg2_error_loop\r
-    li x5, 0xc1\r
-    bne x5, x12, reg2_error_loop\r
-    li x5, 0xd1\r
-    bne x5, x13, reg2_error_loop\r
-    li x5, 0xe1\r
-    bne x5, x14, reg2_error_loop\r
-    li x5, 0xf1\r
-    bne x5, x15, reg2_error_loop\r
-    li x5, 0x20\r
-    bne x5, x16, reg2_error_loop\r
-    li x5, 0x21\r
-    bne x5, x17, reg2_error_loop\r
-    li x5, 0x22\r
-    bne x5, x18, reg2_error_loop\r
-    li x5, 0x23\r
-    bne x5, x19, reg2_error_loop\r
-    li x5, 0x24\r
-    bne x5, x20, reg2_error_loop\r
-    li x5, 0x25\r
-    bne x5, x21, reg2_error_loop\r
-    li x5, 0x26\r
-    bne x5, x22, reg2_error_loop\r
-    li x5, 0x27\r
-    bne x5, x23, reg2_error_loop\r
-    li x5, 0x28\r
-    bne x5, x24, reg2_error_loop\r
-    li x5, 0x29\r
-    bne x5, x25, reg2_error_loop\r
-    li x5, 0x2a\r
-    bne x5, x26, reg2_error_loop\r
-    li x5, 0x2b\r
-    bne x5, x27, reg2_error_loop\r
-    li x5, 0x2c\r
-    bne x5, x28, reg2_error_loop\r
-    li x5, 0x2d\r
-    bne x5, x29, reg2_error_loop\r
-    li x5, 0x2e\r
-    bne x5, x30, reg2_error_loop\r
-    li x5, 0x2f\r
-    bne x5, x31, reg2_error_loop\r
-\r
-    /* Everything passed, increment the loop counter. */\r
-    lw x5, ulRegTest2LoopCounterConst\r
-    lw x6, 0(x5)\r
-    addi x6, x6, 1\r
-    sw x6, 0(x5)\r
-\r
-    /* Restore clobbered register reading for next loop. */\r
-    li x6, 0x61\r
-\r
-    /* Start again. */\r
-    jal Reg2_loop\r
+       /* Check each register still contains the expected known value.\r
+       vRegTest2Implementation uses x5 as the temporary, vRegTest1Implementation\r
+       uses x31 as the temporary. */\r
+       li x5, 0x61\r
+       bne x5, x6, reg2_error_loop\r
+       li x5, 0x71\r
+       bne x5, x7, reg2_error_loop\r
+       li x5, 0x81\r
+       bne x5, x8, reg2_error_loop\r
+       li x5, 0x91\r
+       bne x5, x9, reg2_error_loop\r
+       li x5, 0xa1\r
+       bne x5, x10, reg2_error_loop\r
+       li x5, 0xb1\r
+       bne x5, x11, reg2_error_loop\r
+       li x5, 0xc1\r
+       bne x5, x12, reg2_error_loop\r
+       li x5, 0xd1\r
+       bne x5, x13, reg2_error_loop\r
+       li x5, 0xe1\r
+       bne x5, x14, reg2_error_loop\r
+       li x5, 0xf1\r
+       bne x5, x15, reg2_error_loop\r
+       li x5, 0x20\r
+       bne x5, x16, reg2_error_loop\r
+       li x5, 0x21\r
+       bne x5, x17, reg2_error_loop\r
+       li x5, 0x22\r
+       bne x5, x18, reg2_error_loop\r
+       li x5, 0x23\r
+       bne x5, x19, reg2_error_loop\r
+       li x5, 0x24\r
+       bne x5, x20, reg2_error_loop\r
+       li x5, 0x25\r
+       bne x5, x21, reg2_error_loop\r
+       li x5, 0x26\r
+       bne x5, x22, reg2_error_loop\r
+       li x5, 0x27\r
+       bne x5, x23, reg2_error_loop\r
+       li x5, 0x28\r
+       bne x5, x24, reg2_error_loop\r
+       li x5, 0x29\r
+       bne x5, x25, reg2_error_loop\r
+       li x5, 0x2a\r
+       bne x5, x26, reg2_error_loop\r
+       li x5, 0x2b\r
+       bne x5, x27, reg2_error_loop\r
+       li x5, 0x2c\r
+       bne x5, x28, reg2_error_loop\r
+       li x5, 0x2d\r
+       bne x5, x29, reg2_error_loop\r
+       li x5, 0x2e\r
+       bne x5, x30, reg2_error_loop\r
+       li x5, 0x2f\r
+       bne x5, x31, reg2_error_loop\r
+\r
+       /* Everything passed, increment the loop counter. */\r
+       lw x5, ulRegTest2LoopCounterConst\r
+       lw x6, 0(x5)\r
+       addi x6, x6, 1\r
+       sw x6, 0(x5)\r
+\r
+       /* Restore clobbered register reading for next loop. */\r
+       li x6, 0x61\r
+\r
+       /* Start again. */\r
+       jal Reg2_loop\r
 \r
 reg2_error_loop:\r
-    /* Jump here if a register contains an uxpected value.  This stops the loop\r
-    counter being incremented so the check task knows an error was found. */\r
-    jal reg2_error_loop\r
+       /* Jump here if a register contains an uxpected value.  This stops the loop\r
+       counter being incremented so the check task knows an error was found. */\r
+//     ebreak\r
+       jal reg2_error_loop\r
 \r
 ulRegTest2LoopCounterConst: .word ulRegTest2LoopCounter\r
 \r