diff mbox series

[v2,3/4] tests/boot-serial-test: Add microbit board testcase

Message ID 20180808210750.3915-4-jusual@mail.ru (mailing list archive)
State New, archived
Headers show
Series arm: Add nRF51 SoC UART support | expand

Commit Message

Denis V. Lunev" via Aug. 8, 2018, 9:07 p.m. UTC
New mini-kernel test for nRF51 SoC UART.

Signed-off-by: Julia Suvorova <jusual@mail.ru>
---
 tests/boot-serial-test.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Thomas Huth Aug. 9, 2018, 6:05 a.m. UTC | #1
On 08/08/2018 11:07 PM, Julia Suvorova via Qemu-devel wrote:
> New mini-kernel test for nRF51 SoC UART.
> 
> Signed-off-by: Julia Suvorova <jusual@mail.ru>
> ---
>  tests/boot-serial-test.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
> index 952a2e7ead..19714c3f87 100644
> --- a/tests/boot-serial-test.c
> +++ b/tests/boot-serial-test.c
> @@ -62,6 +62,24 @@ static const uint8_t kernel_aarch64[] = {
>      0xfd, 0xff, 0xff, 0x17,                 /* b       -12 (loop) */
>  };
>  
> +static const uint8_t kernel_nrf51[] = {
> +    0x00, 0x00, 0x00, 0x00,                 /* Stack top address */
> +    0x09, 0x00, 0x00, 0x00,                 /* Reset handler address */
> +    0x04, 0x4a,                             /* ldr  r2, [pc, #16] Get ENABLE */
> +    0x04, 0x21,                             /* movs r1, #4 */
> +    0x11, 0x60,                             /* str  r1, [r2] */
> +    0x04, 0x4a,                             /* ldr  r2, [pc, #16] Get STARTTX */
> +    0x01, 0x21,                             /* movs r1, #1 */
> +    0x11, 0x60,                             /* str  r1, [r2] */
> +    0x03, 0x4a,                             /* ldr  r2, [pc, #12] Get TXD */
> +    0x54, 0x21,                             /* movs r1, 'T' */
> +    0x11, 0x60,                             /* str  r1, [r2] */
> +    0xfe, 0xe7,                             /* b    . */
> +    0x00, 0x25, 0x00, 0x40,                 /* 0x40002500 = UART ENABLE */
> +    0x08, 0x20, 0x00, 0x40,                 /* 0x40002008 = UART STARTTX */
> +    0x1c, 0x25, 0x00, 0x40                  /* 0x4000251c = UART TXD */
> +};
> +
>  typedef struct testdef {
>      const char *arch;       /* Target architecture */
>      const char *machine;    /* Name of the machine */
> @@ -107,6 +125,7 @@ static testdef_t tests[] = {
>      { "hppa", "hppa", "", "SeaBIOS wants SYSTEM HALT" },
>      { "aarch64", "virt", "-cpu cortex-a57", "TT", sizeof(kernel_aarch64),
>        kernel_aarch64 },
> +    { "arm", "microbit", "", "T", sizeof(kernel_nrf51), kernel_nrf51 },
>  
>      { NULL }
>  };
> 

Acked-by: Thomas Huth <thuth@redhat.com>
Stefan Hajnoczi Aug. 9, 2018, 5:11 p.m. UTC | #2
On Wed, Aug 8, 2018 at 10:07 PM, Julia Suvorova <jusual@mail.ru> wrote:
> New mini-kernel test for nRF51 SoC UART.
>
> Signed-off-by: Julia Suvorova <jusual@mail.ru>
> ---
>  tests/boot-serial-test.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff mbox series

Patch

diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
index 952a2e7ead..19714c3f87 100644
--- a/tests/boot-serial-test.c
+++ b/tests/boot-serial-test.c
@@ -62,6 +62,24 @@  static const uint8_t kernel_aarch64[] = {
     0xfd, 0xff, 0xff, 0x17,                 /* b       -12 (loop) */
 };
 
+static const uint8_t kernel_nrf51[] = {
+    0x00, 0x00, 0x00, 0x00,                 /* Stack top address */
+    0x09, 0x00, 0x00, 0x00,                 /* Reset handler address */
+    0x04, 0x4a,                             /* ldr  r2, [pc, #16] Get ENABLE */
+    0x04, 0x21,                             /* movs r1, #4 */
+    0x11, 0x60,                             /* str  r1, [r2] */
+    0x04, 0x4a,                             /* ldr  r2, [pc, #16] Get STARTTX */
+    0x01, 0x21,                             /* movs r1, #1 */
+    0x11, 0x60,                             /* str  r1, [r2] */
+    0x03, 0x4a,                             /* ldr  r2, [pc, #12] Get TXD */
+    0x54, 0x21,                             /* movs r1, 'T' */
+    0x11, 0x60,                             /* str  r1, [r2] */
+    0xfe, 0xe7,                             /* b    . */
+    0x00, 0x25, 0x00, 0x40,                 /* 0x40002500 = UART ENABLE */
+    0x08, 0x20, 0x00, 0x40,                 /* 0x40002008 = UART STARTTX */
+    0x1c, 0x25, 0x00, 0x40                  /* 0x4000251c = UART TXD */
+};
+
 typedef struct testdef {
     const char *arch;       /* Target architecture */
     const char *machine;    /* Name of the machine */
@@ -107,6 +125,7 @@  static testdef_t tests[] = {
     { "hppa", "hppa", "", "SeaBIOS wants SYSTEM HALT" },
     { "aarch64", "virt", "-cpu cortex-a57", "TT", sizeof(kernel_aarch64),
       kernel_aarch64 },
+    { "arm", "microbit", "", "T", sizeof(kernel_nrf51), kernel_nrf51 },
 
     { NULL }
 };