mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 18:44:58 -06:00
tests/tcg: move i386 specific tests into subdir
These only need to be built for i386 guests. This includes a stub tests/tcg/i386/Makfile.target which absorbs some of what was in tests/tcg/Makefile. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
07c85b696a
commit
4132431f24
15 changed files with 69 additions and 39 deletions
79
tests/tcg/i386/test-i386-code16.S
Normal file
79
tests/tcg/i386/test-i386-code16.S
Normal file
|
@ -0,0 +1,79 @@
|
|||
.code16
|
||||
.globl code16_start
|
||||
.globl code16_end
|
||||
|
||||
CS_SEG = 0xf
|
||||
|
||||
code16_start:
|
||||
|
||||
.globl code16_func1
|
||||
|
||||
/* basic test */
|
||||
code16_func1 = . - code16_start
|
||||
mov $1, %eax
|
||||
data32 lret
|
||||
|
||||
/* test push/pop in 16 bit mode */
|
||||
.globl code16_func2
|
||||
code16_func2 = . - code16_start
|
||||
xor %eax, %eax
|
||||
mov $0x12345678, %ebx
|
||||
movl %esp, %ecx
|
||||
push %bx
|
||||
subl %esp, %ecx
|
||||
pop %ax
|
||||
data32 lret
|
||||
|
||||
/* test various jmp opcodes */
|
||||
.globl code16_func3
|
||||
code16_func3 = . - code16_start
|
||||
jmp 1f
|
||||
nop
|
||||
1:
|
||||
mov $4, %eax
|
||||
mov $0x12345678, %ebx
|
||||
xor %bx, %bx
|
||||
jz 2f
|
||||
add $2, %ax
|
||||
2:
|
||||
|
||||
call myfunc
|
||||
|
||||
lcall $CS_SEG, $(myfunc2 - code16_start)
|
||||
|
||||
ljmp $CS_SEG, $(myjmp1 - code16_start)
|
||||
myjmp1_next:
|
||||
|
||||
cs lcall *myfunc2_addr - code16_start
|
||||
|
||||
cs ljmp *myjmp2_addr - code16_start
|
||||
myjmp2_next:
|
||||
|
||||
data32 lret
|
||||
|
||||
myfunc2_addr:
|
||||
.short myfunc2 - code16_start
|
||||
.short CS_SEG
|
||||
|
||||
myjmp2_addr:
|
||||
.short myjmp2 - code16_start
|
||||
.short CS_SEG
|
||||
|
||||
myjmp1:
|
||||
add $8, %ax
|
||||
jmp myjmp1_next
|
||||
|
||||
myjmp2:
|
||||
add $16, %ax
|
||||
jmp myjmp2_next
|
||||
|
||||
myfunc:
|
||||
add $1, %ax
|
||||
ret
|
||||
|
||||
myfunc2:
|
||||
add $4, %ax
|
||||
lret
|
||||
|
||||
|
||||
code16_end:
|
Loading…
Add table
Add a link
Reference in a new issue