locore.s (83366) | locore.s (90132) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 |
37 * $FreeBSD: head/sys/i386/i386/locore.s 83366 2001-09-12 08:38:13Z julian $ | 37 * $FreeBSD: head/sys/i386/i386/locore.s 90132 2002-02-03 09:13:58Z bde $ |
38 * 39 * originally from: locore.s, by William F. Jolitz 40 * 41 * Substantially rewritten by David Greenman, Rod Grimes, 42 * Bruce Evans, Wolfgang Solfrank, Poul-Henning Kamp 43 * and many others. 44 */ 45 46#include "opt_bootp.h" | 38 * 39 * originally from: locore.s, by William F. Jolitz 40 * 41 * Substantially rewritten by David Greenman, Rod Grimes, 42 * Bruce Evans, Wolfgang Solfrank, Poul-Henning Kamp 43 * and many others. 44 */ 45 46#include "opt_bootp.h" |
47#include "opt_compat.h" |
|
47#include "opt_nfsroot.h" 48 49#include <sys/syscall.h> 50#include <sys/reboot.h> 51 52#include <machine/asmacros.h> 53#include <machine/cputypes.h> 54#include <machine/psl.h> --- 356 unchanged lines hidden (view full) --- 411 jne 9f 412 movl UC_GS(%eax),%gs /* restore %gs */ 4139: 414 movl $SYS_sigreturn,%eax 415 pushl %eax /* junk to fake return addr. */ 416 int $0x80 /* enter kernel with args */ 4170: jmp 0b 418 | 48#include "opt_nfsroot.h" 49 50#include <sys/syscall.h> 51#include <sys/reboot.h> 52 53#include <machine/asmacros.h> 54#include <machine/cputypes.h> 55#include <machine/psl.h> --- 356 unchanged lines hidden (view full) --- 412 jne 9f 413 movl UC_GS(%eax),%gs /* restore %gs */ 4149: 415 movl $SYS_sigreturn,%eax 416 pushl %eax /* junk to fake return addr. */ 417 int $0x80 /* enter kernel with args */ 4180: jmp 0b 419 |
420#ifdef COMPAT_43 |
|
419 ALIGN_TEXT 420osigcode: 421 call *SIGF_HANDLER(%esp) /* call signal handler */ 422 lea SIGF_SC(%esp),%eax /* get sigcontext */ 423 pushl %eax 424 testl $PSL_VM,SC_PS(%eax) 425 jne 9f 426 movl SC_GS(%eax),%gs /* restore %gs */ 4279: | 421 ALIGN_TEXT 422osigcode: 423 call *SIGF_HANDLER(%esp) /* call signal handler */ 424 lea SIGF_SC(%esp),%eax /* get sigcontext */ 425 pushl %eax 426 testl $PSL_VM,SC_PS(%eax) 427 jne 9f 428 movl SC_GS(%eax),%gs /* restore %gs */ 4299: |
428 movl $0x01d516,SC_TRAPNO(%eax) /* magic: 0ldSiG */ 429 movl $SYS_sigreturn,%eax | 430 movl $SYS_osigreturn,%eax |
430 pushl %eax /* junk to fake return addr. */ 431 int $0x80 /* enter kernel with args */ 4320: jmp 0b | 431 pushl %eax /* junk to fake return addr. */ 432 int $0x80 /* enter kernel with args */ 4330: jmp 0b |
434#endif /* COMPAT_43 */ |
|
433 434 ALIGN_TEXT 435esigcode: 436 437 .data 438 .globl szsigcode, szosigcode 439szsigcode: 440 .long esigcode-sigcode | 435 436 ALIGN_TEXT 437esigcode: 438 439 .data 440 .globl szsigcode, szosigcode 441szsigcode: 442 .long esigcode-sigcode |
443#ifdef COMPAT_43 |
|
441szosigcode: 442 .long esigcode-osigcode | 444szosigcode: 445 .long esigcode-osigcode |
446#endif |
|
443 .text 444 445/********************************************************************** 446 * 447 * Recover the bootinfo passed to us from the boot program 448 * 449 */ 450recover_bootinfo: --- 553 unchanged lines hidden --- | 447 .text 448 449/********************************************************************** 450 * 451 * Recover the bootinfo passed to us from the boot program 452 * 453 */ 454recover_bootinfo: --- 553 unchanged lines hidden --- |