d08ae64b1d
below). This did not work previously because interrupts were disabled when PXE calls were being made, and they must be enabled. This should also allow us to be compliant with all newer PXE rom's from Intel. For PXE 0.99, this has been tested using the Intel N440BX motherboard and I am confident it will work on the Intel L440GX motherboard. Lots of help/information from: jhb, peter I would like to thank Michael Johnston <michael.johnston@intel.com>, Mike Henry <mike.henry@intel.com>, and all the other PXE developers at Intel for their help, and information in helping solve this problem.
39 lines
1.0 KiB
ArmAsm
39 lines
1.0 KiB
ArmAsm
#
|
|
# Copyright (c) 2000 Peter Wemm
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms are freely
|
|
# permitted provided that the above copyright notice and this
|
|
# paragraph and the following disclaimer are duplicated in all
|
|
# such forms.
|
|
#
|
|
# This software is provided "AS IS" and without any express or
|
|
# implied warranties, including, without limitation, the implied
|
|
# warranties of merchantability and fitness for a particular
|
|
# purpose.
|
|
#
|
|
# $FreeBSD$
|
|
|
|
# ph33r this
|
|
|
|
.globl __bangpxeentry, __bangpxeseg, __bangpxeoff
|
|
.globl __pxenventry, __pxenvseg, __pxenvoff
|
|
|
|
.code16
|
|
.p2align 4,0x90
|
|
__bangpxeentry:
|
|
push %dx # seg:data
|
|
push %ax # off:data
|
|
push %bx # int16 func
|
|
.byte 0x9a # far call
|
|
__bangpxeoff: .word 0x0000 # offset
|
|
__bangpxeseg: .word 0x0000 # segment
|
|
add $6, %sp # restore stack
|
|
.byte 0xcb # to vm86int
|
|
#
|
|
__pxenventry:
|
|
.byte 0x9a # far call
|
|
__pxenvoff: .word 0x0000 # offset
|
|
__pxenvseg: .word 0x0000 # segment
|
|
.byte 0xcb # to vm86int
|