- Save/restore the FS data segment.

Reviewed by:	bde
This commit is contained in:
nate 1996-04-18 19:22:59 +00:00
parent 7dd4e08430
commit 6eb9f2ef25
4 changed files with 78 additions and 78 deletions

View File

@ -12,7 +12,7 @@
*
* Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
*
* $Id: apm_init.S,v 1.5 1996/03/11 21:54:22 nate Exp $
* $Id: apm_init.S,v 1.6 1996/03/12 21:23:56 nate Exp $
*/
/*
@ -72,6 +72,7 @@ ENTRY(apm_init)
/*
* save old data segments: We assume that %ds == %es && %ds == %ss
*/
pushl %fs
movw %ds, %ax
movw %ax, %fs
movw $(APM_INIT_DS_SEL), %ax /* initializer data segment */
@ -186,9 +187,8 @@ finish:
movw %ax, %ss
movw %ax, %es
movw %ax, %ds
xorl %eax, %eax
movw %ax, %fs
movl %ebp, %eax
popl %fs
popl %ebp /* restore old base pointer */
lret /* restore old code segment */

View File

@ -1,42 +1,42 @@
/* This file is automatically generated by bin2asm */
/* Original file is 'apm_init' */
.byte 0xfa, 0x55, 0x66, 0x8c, 0xd8, 0x66, 0x8e, 0xe0
.byte 0x66, 0xb8, 0xe8, 0x00, 0x66, 0x8e, 0xd8, 0x66
.byte 0x8e, 0xc0, 0x66, 0x8e, 0xd0, 0x89, 0x25, 0x94
.byte 0x01, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x01, 0x00
.byte 0x0f, 0x01, 0x0d, 0xb0, 0x01, 0x00, 0x00, 0xe8
.byte 0x24, 0x01, 0x00, 0x00, 0xb4, 0x53, 0xb0, 0x00
.byte 0x66, 0xbb, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xcd
.byte 0x15, 0xfa, 0x73, 0x15, 0x66, 0xe8, 0xde, 0x00
.byte 0x00, 0x00, 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00
.byte 0xff, 0xff, 0xff, 0xff, 0xe9, 0xa0, 0x00, 0x00
.byte 0x00, 0x89, 0xc2, 0x66, 0xe8, 0xc7, 0x00, 0x00
.byte 0x00, 0x66, 0x81, 0xfb, 0x4d, 0x50, 0x74, 0x0f
.byte 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00, 0xff, 0xff
.byte 0xff, 0xff, 0xe9, 0x82, 0x00, 0x00, 0x00, 0xf7
.byte 0xc1, 0x02, 0x00, 0x00, 0x00, 0x75, 0x0c, 0xc7
.byte 0x05, 0x98, 0x01, 0x00, 0x00, 0xfe, 0xff, 0xff
.byte 0xff, 0xeb, 0x6e, 0x81, 0xe2, 0xff, 0xff, 0x00
.byte 0x00, 0x89, 0x15, 0x98, 0x01, 0x00, 0x00, 0x81
.byte 0xe1, 0xff, 0xff, 0x00, 0x00, 0x89, 0x0d, 0x9c
.byte 0x01, 0x00, 0x00, 0xe8, 0xb0, 0x00, 0x00, 0x00
.byte 0xb4, 0x53, 0xb0, 0x04, 0x66, 0xbb, 0x00, 0x00
.byte 0x00, 0x00, 0xfb, 0xcd, 0x15, 0xfa, 0xb4, 0x53
.byte 0xb0, 0x03, 0x66, 0xbb, 0x00, 0x00, 0x00, 0x00
.byte 0xfb, 0xcd, 0x15, 0xfa, 0x73, 0x12, 0x66, 0xe8
.byte 0x5c, 0x00, 0x00, 0x00, 0xc7, 0x05, 0x98, 0x01
.byte 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff, 0xeb, 0x21
.byte 0x89, 0xc5, 0x66, 0xe8, 0x48, 0x00, 0x00, 0x00
.byte 0xb8, 0xff, 0xff, 0x00, 0x00, 0x21, 0xc5, 0x21
.byte 0xc1, 0x21, 0xc2, 0x21, 0xc6, 0x21, 0xc7, 0xc1
.byte 0xe5, 0x10, 0x09, 0xe9, 0xc1, 0xe7, 0x10, 0x09
.byte 0xfe, 0xfa, 0x0f, 0x01, 0x1d, 0xb0, 0x01, 0x00
.byte 0x00, 0x8b, 0x25, 0x94, 0x01, 0x00, 0x00, 0x8b
.byte 0x2d, 0x98, 0x01, 0x00, 0x00, 0x8b, 0x3d, 0x9c
.byte 0x01, 0x00, 0x00, 0x66, 0x8c, 0xe0, 0x66, 0x8e
.byte 0xd0, 0x66, 0x8e, 0xc0, 0x66, 0x8e, 0xd8, 0x31
.byte 0xc0, 0x66, 0x8e, 0xe0, 0x89, 0xe8, 0x5d, 0xcb
.byte 0xfa, 0x55, 0x0f, 0xa0, 0x66, 0x8c, 0xd8, 0x66
.byte 0x8e, 0xe0, 0x66, 0xb8, 0xe8, 0x00, 0x66, 0x8e
.byte 0xd8, 0x66, 0x8e, 0xc0, 0x66, 0x8e, 0xd0, 0x89
.byte 0x25, 0x94, 0x01, 0x00, 0x00, 0xbc, 0x00, 0x00
.byte 0x01, 0x00, 0x0f, 0x01, 0x0d, 0xb0, 0x01, 0x00
.byte 0x00, 0xe8, 0x22, 0x01, 0x00, 0x00, 0xb4, 0x53
.byte 0xb0, 0x00, 0x66, 0xbb, 0x00, 0x00, 0x00, 0x00
.byte 0xfb, 0xcd, 0x15, 0xfa, 0x73, 0x15, 0x66, 0xe8
.byte 0xdc, 0x00, 0x00, 0x00, 0xc7, 0x05, 0x98, 0x01
.byte 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xa0
.byte 0x00, 0x00, 0x00, 0x89, 0xc2, 0x66, 0xe8, 0xc5
.byte 0x00, 0x00, 0x00, 0x66, 0x81, 0xfb, 0x4d, 0x50
.byte 0x74, 0x0f, 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00
.byte 0xff, 0xff, 0xff, 0xff, 0xe9, 0x82, 0x00, 0x00
.byte 0x00, 0xf7, 0xc1, 0x02, 0x00, 0x00, 0x00, 0x75
.byte 0x0c, 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00, 0xfe
.byte 0xff, 0xff, 0xff, 0xeb, 0x6e, 0x81, 0xe2, 0xff
.byte 0xff, 0x00, 0x00, 0x89, 0x15, 0x98, 0x01, 0x00
.byte 0x00, 0x81, 0xe1, 0xff, 0xff, 0x00, 0x00, 0x89
.byte 0x0d, 0x9c, 0x01, 0x00, 0x00, 0xe8, 0xae, 0x00
.byte 0x00, 0x00, 0xb4, 0x53, 0xb0, 0x04, 0x66, 0xbb
.byte 0x00, 0x00, 0x00, 0x00, 0xfb, 0xcd, 0x15, 0xfa
.byte 0xb4, 0x53, 0xb0, 0x03, 0x66, 0xbb, 0x00, 0x00
.byte 0x00, 0x00, 0xfb, 0xcd, 0x15, 0xfa, 0x73, 0x12
.byte 0x66, 0xe8, 0x5a, 0x00, 0x00, 0x00, 0xc7, 0x05
.byte 0x98, 0x01, 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff
.byte 0xeb, 0x21, 0x89, 0xc5, 0x66, 0xe8, 0x46, 0x00
.byte 0x00, 0x00, 0xb8, 0xff, 0xff, 0x00, 0x00, 0x21
.byte 0xc5, 0x21, 0xc1, 0x21, 0xc2, 0x21, 0xc6, 0x21
.byte 0xc7, 0xc1, 0xe5, 0x10, 0x09, 0xe9, 0xc1, 0xe7
.byte 0x10, 0x09, 0xfe, 0xfa, 0x0f, 0x01, 0x1d, 0xb0
.byte 0x01, 0x00, 0x00, 0x8b, 0x25, 0x94, 0x01, 0x00
.byte 0x00, 0x8b, 0x2d, 0x98, 0x01, 0x00, 0x00, 0x8b
.byte 0x3d, 0x9c, 0x01, 0x00, 0x00, 0x66, 0x8c, 0xe0
.byte 0x66, 0x8e, 0xd0, 0x66, 0x8e, 0xc0, 0x66, 0x8e
.byte 0xd8, 0x89, 0xe8, 0x0f, 0xa1, 0x5d, 0xcb, 0x00
.byte 0xfa, 0x0f, 0x20, 0xc0, 0x66, 0x83, 0xc8, 0x01
.byte 0x0f, 0x22, 0xc0, 0x66, 0xea, 0x33, 0x01, 0x00
.byte 0x00, 0xe0, 0x00, 0x66, 0xb8, 0xe8, 0x00, 0x8e

View File

@ -12,7 +12,7 @@
*
* Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD)
*
* $Id: apm_init.S,v 1.5 1996/03/11 21:54:22 nate Exp $
* $Id: apm_init.S,v 1.6 1996/03/12 21:23:56 nate Exp $
*/
/*
@ -72,6 +72,7 @@ ENTRY(apm_init)
/*
* save old data segments: We assume that %ds == %es && %ds == %ss
*/
pushl %fs
movw %ds, %ax
movw %ax, %fs
movw $(APM_INIT_DS_SEL), %ax /* initializer data segment */
@ -186,9 +187,8 @@ finish:
movw %ax, %ss
movw %ax, %es
movw %ax, %ds
xorl %eax, %eax
movw %ax, %fs
movl %ebp, %eax
popl %fs
popl %ebp /* restore old base pointer */
lret /* restore old code segment */

View File

@ -1,42 +1,42 @@
/* This file is automatically generated by bin2asm */
/* Original file is 'apm_init' */
.byte 0xfa, 0x55, 0x66, 0x8c, 0xd8, 0x66, 0x8e, 0xe0
.byte 0x66, 0xb8, 0xe8, 0x00, 0x66, 0x8e, 0xd8, 0x66
.byte 0x8e, 0xc0, 0x66, 0x8e, 0xd0, 0x89, 0x25, 0x94
.byte 0x01, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x01, 0x00
.byte 0x0f, 0x01, 0x0d, 0xb0, 0x01, 0x00, 0x00, 0xe8
.byte 0x24, 0x01, 0x00, 0x00, 0xb4, 0x53, 0xb0, 0x00
.byte 0x66, 0xbb, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xcd
.byte 0x15, 0xfa, 0x73, 0x15, 0x66, 0xe8, 0xde, 0x00
.byte 0x00, 0x00, 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00
.byte 0xff, 0xff, 0xff, 0xff, 0xe9, 0xa0, 0x00, 0x00
.byte 0x00, 0x89, 0xc2, 0x66, 0xe8, 0xc7, 0x00, 0x00
.byte 0x00, 0x66, 0x81, 0xfb, 0x4d, 0x50, 0x74, 0x0f
.byte 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00, 0xff, 0xff
.byte 0xff, 0xff, 0xe9, 0x82, 0x00, 0x00, 0x00, 0xf7
.byte 0xc1, 0x02, 0x00, 0x00, 0x00, 0x75, 0x0c, 0xc7
.byte 0x05, 0x98, 0x01, 0x00, 0x00, 0xfe, 0xff, 0xff
.byte 0xff, 0xeb, 0x6e, 0x81, 0xe2, 0xff, 0xff, 0x00
.byte 0x00, 0x89, 0x15, 0x98, 0x01, 0x00, 0x00, 0x81
.byte 0xe1, 0xff, 0xff, 0x00, 0x00, 0x89, 0x0d, 0x9c
.byte 0x01, 0x00, 0x00, 0xe8, 0xb0, 0x00, 0x00, 0x00
.byte 0xb4, 0x53, 0xb0, 0x04, 0x66, 0xbb, 0x00, 0x00
.byte 0x00, 0x00, 0xfb, 0xcd, 0x15, 0xfa, 0xb4, 0x53
.byte 0xb0, 0x03, 0x66, 0xbb, 0x00, 0x00, 0x00, 0x00
.byte 0xfb, 0xcd, 0x15, 0xfa, 0x73, 0x12, 0x66, 0xe8
.byte 0x5c, 0x00, 0x00, 0x00, 0xc7, 0x05, 0x98, 0x01
.byte 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff, 0xeb, 0x21
.byte 0x89, 0xc5, 0x66, 0xe8, 0x48, 0x00, 0x00, 0x00
.byte 0xb8, 0xff, 0xff, 0x00, 0x00, 0x21, 0xc5, 0x21
.byte 0xc1, 0x21, 0xc2, 0x21, 0xc6, 0x21, 0xc7, 0xc1
.byte 0xe5, 0x10, 0x09, 0xe9, 0xc1, 0xe7, 0x10, 0x09
.byte 0xfe, 0xfa, 0x0f, 0x01, 0x1d, 0xb0, 0x01, 0x00
.byte 0x00, 0x8b, 0x25, 0x94, 0x01, 0x00, 0x00, 0x8b
.byte 0x2d, 0x98, 0x01, 0x00, 0x00, 0x8b, 0x3d, 0x9c
.byte 0x01, 0x00, 0x00, 0x66, 0x8c, 0xe0, 0x66, 0x8e
.byte 0xd0, 0x66, 0x8e, 0xc0, 0x66, 0x8e, 0xd8, 0x31
.byte 0xc0, 0x66, 0x8e, 0xe0, 0x89, 0xe8, 0x5d, 0xcb
.byte 0xfa, 0x55, 0x0f, 0xa0, 0x66, 0x8c, 0xd8, 0x66
.byte 0x8e, 0xe0, 0x66, 0xb8, 0xe8, 0x00, 0x66, 0x8e
.byte 0xd8, 0x66, 0x8e, 0xc0, 0x66, 0x8e, 0xd0, 0x89
.byte 0x25, 0x94, 0x01, 0x00, 0x00, 0xbc, 0x00, 0x00
.byte 0x01, 0x00, 0x0f, 0x01, 0x0d, 0xb0, 0x01, 0x00
.byte 0x00, 0xe8, 0x22, 0x01, 0x00, 0x00, 0xb4, 0x53
.byte 0xb0, 0x00, 0x66, 0xbb, 0x00, 0x00, 0x00, 0x00
.byte 0xfb, 0xcd, 0x15, 0xfa, 0x73, 0x15, 0x66, 0xe8
.byte 0xdc, 0x00, 0x00, 0x00, 0xc7, 0x05, 0x98, 0x01
.byte 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xa0
.byte 0x00, 0x00, 0x00, 0x89, 0xc2, 0x66, 0xe8, 0xc5
.byte 0x00, 0x00, 0x00, 0x66, 0x81, 0xfb, 0x4d, 0x50
.byte 0x74, 0x0f, 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00
.byte 0xff, 0xff, 0xff, 0xff, 0xe9, 0x82, 0x00, 0x00
.byte 0x00, 0xf7, 0xc1, 0x02, 0x00, 0x00, 0x00, 0x75
.byte 0x0c, 0xc7, 0x05, 0x98, 0x01, 0x00, 0x00, 0xfe
.byte 0xff, 0xff, 0xff, 0xeb, 0x6e, 0x81, 0xe2, 0xff
.byte 0xff, 0x00, 0x00, 0x89, 0x15, 0x98, 0x01, 0x00
.byte 0x00, 0x81, 0xe1, 0xff, 0xff, 0x00, 0x00, 0x89
.byte 0x0d, 0x9c, 0x01, 0x00, 0x00, 0xe8, 0xae, 0x00
.byte 0x00, 0x00, 0xb4, 0x53, 0xb0, 0x04, 0x66, 0xbb
.byte 0x00, 0x00, 0x00, 0x00, 0xfb, 0xcd, 0x15, 0xfa
.byte 0xb4, 0x53, 0xb0, 0x03, 0x66, 0xbb, 0x00, 0x00
.byte 0x00, 0x00, 0xfb, 0xcd, 0x15, 0xfa, 0x73, 0x12
.byte 0x66, 0xe8, 0x5a, 0x00, 0x00, 0x00, 0xc7, 0x05
.byte 0x98, 0x01, 0x00, 0x00, 0xfd, 0xff, 0xff, 0xff
.byte 0xeb, 0x21, 0x89, 0xc5, 0x66, 0xe8, 0x46, 0x00
.byte 0x00, 0x00, 0xb8, 0xff, 0xff, 0x00, 0x00, 0x21
.byte 0xc5, 0x21, 0xc1, 0x21, 0xc2, 0x21, 0xc6, 0x21
.byte 0xc7, 0xc1, 0xe5, 0x10, 0x09, 0xe9, 0xc1, 0xe7
.byte 0x10, 0x09, 0xfe, 0xfa, 0x0f, 0x01, 0x1d, 0xb0
.byte 0x01, 0x00, 0x00, 0x8b, 0x25, 0x94, 0x01, 0x00
.byte 0x00, 0x8b, 0x2d, 0x98, 0x01, 0x00, 0x00, 0x8b
.byte 0x3d, 0x9c, 0x01, 0x00, 0x00, 0x66, 0x8c, 0xe0
.byte 0x66, 0x8e, 0xd0, 0x66, 0x8e, 0xc0, 0x66, 0x8e
.byte 0xd8, 0x89, 0xe8, 0x0f, 0xa1, 0x5d, 0xcb, 0x00
.byte 0xfa, 0x0f, 0x20, 0xc0, 0x66, 0x83, 0xc8, 0x01
.byte 0x0f, 0x22, 0xc0, 0x66, 0xea, 0x33, 0x01, 0x00
.byte 0x00, 0xe0, 0x00, 0x66, 0xb8, 0xe8, 0x00, 0x8e