cdboot.S (157652) | cdboot.S (157663) |
---|---|
1# 2# Copyright (c) 2001 John Baldwin <jhb@FreeBSD.org> 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27# SUCH DAMAGE. 28# 29 | 1# 2# Copyright (c) 2001 John Baldwin <jhb@FreeBSD.org> 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27# SUCH DAMAGE. 28# 29 |
30# $FreeBSD: head/sys/boot/i386/cdboot/cdboot.s 157652 2006-04-11 04:39:29Z sobomax $ | 30# $FreeBSD: head/sys/boot/i386/cdboot/cdboot.s 157663 2006-04-11 17:26:54Z jhb $ |
31 32# 33# This program is a freestanding boot program to load an a.out binary 34# from a CD-ROM booted with no emulation mode as described by the El 35# Torito standard. Due to broken BIOSen that do not load the desired 36# number of sectors, we try to fit this in as small a space as possible. 37# 38# Basically, we first create a set of boot arguments to pass to the loaded --- 356 unchanged lines hidden (view full) --- 395 adc $0,%bh 396 jmp ff.scan 397ff.nextblock: subl $SECTOR_SIZE,rec_size # Adjust size 398 jnc ff.load # If subtract ok, keep going 399 ret # End of file, so not found 400ff.checkname: lea DIR_NAME(%bx),%di # Address name in record 401 push %si # Save 402 repe cmpsb # Compare name | 31 32# 33# This program is a freestanding boot program to load an a.out binary 34# from a CD-ROM booted with no emulation mode as described by the El 35# Torito standard. Due to broken BIOSen that do not load the desired 36# number of sectors, we try to fit this in as small a space as possible. 37# 38# Basically, we first create a set of boot arguments to pass to the loaded --- 356 unchanged lines hidden (view full) --- 395 adc $0,%bh 396 jmp ff.scan 397ff.nextblock: subl $SECTOR_SIZE,rec_size # Adjust size 398 jnc ff.load # If subtract ok, keep going 399 ret # End of file, so not found 400ff.checkname: lea DIR_NAME(%bx),%di # Address name in record 401 push %si # Save 402 repe cmpsb # Compare name |
403 jcxz ff.match # We have a winner! | 403 je ff.match # We have a winner! |
404 pop %si # Restore 405 jmp ff.nextrec # Keep looking. 406ff.match: add $2,%sp # Discard saved %si 407 clc # Clear carry 408 ret 409 410# 411# Load DH sectors starting at LBA EAX into [EBX]. --- 189 unchanged lines hidden --- | 404 pop %si # Restore 405 jmp ff.nextrec # Keep looking. 406ff.match: add $2,%sp # Discard saved %si 407 clc # Clear carry 408 ret 409 410# 411# Load DH sectors starting at LBA EAX into [EBX]. --- 189 unchanged lines hidden --- |