Jan Bobek <jan.bo...@gmail.com> writes:

> This allows us to drop dependency on NASM and build the test image
> with GCC only. Adds support for x86_64, too.
>
> Suggested-by: Richard Henderson <richard.hender...@linaro.org>
> Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
> Signed-off-by: Jan Bobek <jan.bo...@gmail.com>

Reviewed-by: Alex Bennée <alex.ben...@linaro.org>

> ---
>  Makefile    |  3 +++
>  test_i386.S | 41 +++++++++++++++++++++++++++++++++++++++++
>  test_i386.s | 27 ---------------------------
>  3 files changed, 44 insertions(+), 27 deletions(-)
>  create mode 100644 test_i386.S
>  delete mode 100644 test_i386.s
>
> diff --git a/Makefile b/Makefile
> index b362dbe..6ab014a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -49,6 +49,9 @@ $(PROG): $(OBJS)
>  %_$(ARCH).elf: %_$(ARCH).s
>       $(AS) -o $@ $<
>
> +%_$(ARCH).elf: %_$(ARCH).S
> +     $(CC) $(CPPFLAGS) -o $@ -c $<
> +
>  clean:
>       rm -f $(PROG) $(OBJS) $(BINS)
>
> diff --git a/test_i386.S b/test_i386.S
> new file mode 100644
> index 0000000..456b99c
> --- /dev/null
> +++ b/test_i386.S
> @@ -0,0 +1,41 @@
> +/*#############################################################################
> + * Copyright (c) 2010 Linaro Limited
> + * All rights reserved. This program and the accompanying materials
> + * are made available under the terms of the Eclipse Public License v1.0
> + * which accompanies this distribution, and is available at
> + * http://www.eclipse.org/legal/epl-v10.html
> + *
> + * Contributors:
> + *     Peter Maydell (Linaro) - initial implementation
> + 
> *###########################################################################*/
> +
> +/* A trivial test image for x86 */
> +
> +/* Initialise the registers to avoid spurious mismatches */
> +     xor     %eax, %eax
> +     sahf                            /* init eflags */
> +
> +     mov     $0x12345678, %eax
> +     mov     $0x9abcdef0, %ebx
> +     mov     $0x97361234, %ecx
> +     mov     $0x84310284, %edx
> +     mov     $0x83624173, %edi
> +     mov     $0xfaebfaeb, %esi
> +     mov     $0x84610123, %ebp
> +
> +#ifdef __x86_64__
> +     movq    $0x123456789abcdef0, %r8
> +     movq    $0xaaaabbbbccccdddd, %r9
> +     movq    $0x1010101010101010, %r10
> +     movq    $0x1111111111111111, %r11
> +     movq    $0x1212121212121212, %r12
> +     movq    $0x1313131313131313, %r13
> +     movq    $0x1414141414141414, %r14
> +     movq    $0x1515151515151515, %r15
> +#endif
> +
> +/* do compare */
> +     ud1     %eax, %eax
> +
> +/* exit test */
> +     ud1     %ecx, %eax
> diff --git a/test_i386.s b/test_i386.s
> deleted file mode 100644
> index a2140a0..0000000
> --- a/test_i386.s
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -;###############################################################################
> -;# Copyright (c) 2010 Linaro Limited
> -;# All rights reserved. This program and the accompanying materials
> -;# are made available under the terms of the Eclipse Public License v1.0
> -;# which accompanies this distribution, and is available at
> -;# http://www.eclipse.org/legal/epl-v10.html
> -;#
> -;# Contributors:
> -;#     Peter Maydell (Linaro) - initial implementation
> -;###############################################################################
> -
> -; A trivial test image for x86
> -
> -BITS 32
> -; Initialise the registers to avoid spurious mismatches
> -mov eax, 0x12345678
> -mov ebx, 0x9abcdef0
> -mov ecx, 0x97361234
> -mov edx, 0x84310284
> -mov edi, 0x83624173
> -mov esi, 0xfaebfaeb
> -mov ebp, 0x84610123
> -; UD1 : do compare
> -UD1
> -
> -; UD2 : exit test
> -UD2


--
Alex Bennée

Reply via email to