1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "tests/asm.h" 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown .file "oneparam.c" 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown .version "01.01" 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browngcc2_compiled.: 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown.text 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown .align 4 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown.globl VG_SYM_ASM(get_cpuid0) 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownVG_SYM_ASM(get_cpuid0): 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %ebp 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %esp, %ebp 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl 8(%ebp), %eax 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %edi 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %eax 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %ebx 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %ecx 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %edx 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %eax, %edi 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl $0, %eax 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown cpuid 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %eax, (%edi) 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %ebx, 4(%edi) 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %ecx, 8(%edi) 27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %edx, 12(%edi) 28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %edx 30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %ecx 31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %ebx 32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %eax 33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %edi 34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %ebp 36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ret 37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown.globl VG_SYM_ASM(get_cpuid1) 40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownVG_SYM_ASM(get_cpuid1): 41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %ebp 42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %esp, %ebp 43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl 8(%ebp), %eax 44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %edi 46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %eax 47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %ebx 48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %ecx 49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown pushl %edx 50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %eax, %edi 52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl $1, %eax 53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown cpuid 54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %eax, (%edi) 55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %ebx, 4(%edi) 56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %ecx, 8(%edi) 57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown movl %edx, 12(%edi) 58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %edx 60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %ecx 61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %ebx 62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %eax 63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %edi 64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown popl %ebp 66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ret 67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)" 72