xref: /freebsd/stand/i386/libi386/pxetramp.S (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*4f7c9c3eSEd Maste#
2*4f7c9c3eSEd Maste# Copyright (c) 2000 Peter Wemm
3*4f7c9c3eSEd Maste# All rights reserved.
4*4f7c9c3eSEd Maste#
5*4f7c9c3eSEd Maste# Redistribution and use in source and binary forms are freely
6*4f7c9c3eSEd Maste# permitted provided that the above copyright notice and this
7*4f7c9c3eSEd Maste# paragraph and the following disclaimer are duplicated in all
8*4f7c9c3eSEd Maste# such forms.
9*4f7c9c3eSEd Maste#
10*4f7c9c3eSEd Maste# This software is provided "AS IS" and without any express or
11*4f7c9c3eSEd Maste# implied warranties, including, without limitation, the implied
12*4f7c9c3eSEd Maste# warranties of merchantability and fitness for a particular
13*4f7c9c3eSEd Maste# purpose.
14*4f7c9c3eSEd Maste#
15*4f7c9c3eSEd Maste
16*4f7c9c3eSEd Maste# ph33r this
17*4f7c9c3eSEd Maste
18*4f7c9c3eSEd Maste		.globl  __bangpxeentry, __bangpxeseg, __bangpxeoff
19*4f7c9c3eSEd Maste		.globl  __pxenventry, __pxenvseg, __pxenvoff
20*4f7c9c3eSEd Maste
21*4f7c9c3eSEd Maste		.code16
22*4f7c9c3eSEd Maste		.p2align 4,0x90
23*4f7c9c3eSEd Maste__bangpxeentry:
24*4f7c9c3eSEd Maste		push    %dx			# seg:data
25*4f7c9c3eSEd Maste		push    %ax			# off:data
26*4f7c9c3eSEd Maste		push    %bx			# int16 func
27*4f7c9c3eSEd Maste		.byte   0x9a			# far call
28*4f7c9c3eSEd Maste__bangpxeoff:	.word   0x0000			# offset
29*4f7c9c3eSEd Maste__bangpxeseg:	.word   0x0000			# segment
30*4f7c9c3eSEd Maste		add	$6, %sp			# restore stack
31*4f7c9c3eSEd Maste		.byte	0xcb			# to vm86int
32*4f7c9c3eSEd Maste#
33*4f7c9c3eSEd Maste__pxenventry:
34*4f7c9c3eSEd Maste		.byte   0x9a			# far call
35*4f7c9c3eSEd Maste__pxenvoff:	.word   0x0000			# offset
36*4f7c9c3eSEd Maste__pxenvseg:	.word   0x0000			# segment
37*4f7c9c3eSEd Maste		.byte	0xcb			# to vm86int
38