xref: /onnv-gate/usr/src/cmd/dtrace/test/tst/i386/pid/tst.embedded.s (revision 3944:75371f172291)
12633Sahl/*
22633Sahl * CDDL HEADER START
32633Sahl *
42633Sahl * The contents of this file are subject to the terms of the
52633Sahl * Common Development and Distribution License (the "License").
62633Sahl * You may not use this file except in compliance with the License.
72633Sahl *
82633Sahl * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
92633Sahl * or http://www.opensolaris.org/os/licensing.
102633Sahl * See the License for the specific language governing permissions
112633Sahl * and limitations under the License.
122633Sahl *
132633Sahl * When distributing Covered Code, include this CDDL HEADER in each
142633Sahl * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
152633Sahl * If applicable, add the following below this CDDL HEADER, with the
162633Sahl * fields enclosed by brackets "[]" replaced with your own identifying
172633Sahl * information: Portions Copyright [yyyy] [name of copyright owner]
182633Sahl *
192633Sahl * CDDL HEADER END
202633Sahl */
212633Sahl
222633Sahl/*
23*3944Sahl * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
242633Sahl * Use is subject to license terms.
252633Sahl */
262633Sahl
272633Sahl#pragma ident	"%Z%%M%	%I%	%E% SMI"
282633Sahl
292633Sahl#include <sys/asm_linkage.h>
302633Sahl
31*3944Sahl	DGDEF(__fsr_init_value)
32*3944Sahl	.long 0
33*3944Sahl
342633Sahl	ENTRY(waiting)
352633Sahl	pushl	%ebp
362633Sahl	movl	%esp, %ebp
372633Sahl	movl	8(%ebp), %eax
382633Sahl	movl	(%eax), %eax
392633Sahl	popl	%ebp
402633Sahl	ret
412633Sahl	SET_SIZE(waiting)
422633Sahl
432633Sahl	ENTRY(main)
442633Sahl	pushl	%ebp
452633Sahl	movl	%esp, %ebp
462633Sahl	subl	$0x4, %esp
472633Sahl	movl	$0x0, -4(%ebp)
482633Sahl1:
492633Sahl	leal	-4(%ebp), %eax
502633Sahl	pushl	%eax
512633Sahl	call	waiting
522633Sahl	addl	$0x4, %esp
532633Sahl
542633Sahl	testl	%eax, %eax
552633Sahl	jz	1b
562633Sahl
572633Sahl	addl	$0x4, %esp
582633Sahl
592633Sahl	ALTENTRY(inner)
602633Sahl	nop
612633Sahl	nop
622633Sahl	nop
632633Sahl	SET_SIZE(inner)
642633Sahl
652633Sahl	xorl	%eax, %eax
662633Sahl	popl	%ebp
672633Sahl	ret
682633Sahl	SET_SIZE(main)
69