diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-12-20 02:29:00 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-12-20 02:29:00 +0000 |
commit | d693ad844979b8f5596dde99a0cbec070af73683 (patch) | |
tree | 1b60e394a1807abc3c92bf9b0cbb88b3fdb157c4 /newlib/libc/sys/go32/dosmem.S | |
parent | 3ace1da676318a591ee314b784f37661e52cfb75 (diff) | |
download | cygnal-d693ad844979b8f5596dde99a0cbec070af73683.tar.gz cygnal-d693ad844979b8f5596dde99a0cbec070af73683.tar.bz2 cygnal-d693ad844979b8f5596dde99a0cbec070af73683.zip |
2002-12-19 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Remove references to go32.
* libc/sys/go32/*: Removed.
Diffstat (limited to 'newlib/libc/sys/go32/dosmem.S')
-rw-r--r-- | newlib/libc/sys/go32/dosmem.S | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/newlib/libc/sys/go32/dosmem.S b/newlib/libc/sys/go32/dosmem.S deleted file mode 100644 index c1956f767..000000000 --- a/newlib/libc/sys/go32/dosmem.S +++ /dev/null @@ -1,120 +0,0 @@ -/* DOSMEM.S */ -/* -** Copyright (C) 1993 C.W. Sandmann -** -** This file may be freely distributed as long as the author's name remains. -** Extender environment independent way to set up Real area 1Mb access. -** Procedure takes a single argument %eax which contains the real area offset. -** After call, access may be made with "%gs:(%eax)" -*/ - .text - .align 2 - .globl dosmemsetup -dosmemsetup: /* no params, expected ASM call only */ - pushl %eax - movzwl __core_select,%eax - testl %eax,%eax - je old_go32 /* Image run with pre-DPMI extender */ - movw %ax,%gs /* Use real area selector */ - popl %eax /* Plus real offset */ - andl $0x0fffffff,%eax /* Clear any linear access bits */ - ret - .align 2,0x90 -old_go32: - push %ds - pop %gs /* Use arena selector */ - popl %eax - orl $0xe0000000,%eax /* Plus linear access area */ - ret - - .align 2 - .globl _dosmemget -_dosmemget: /* long offset, long len, long *buf */ - push %gs - movl 8(%esp),%eax /* offset */ - call dosmemsetup - movl 12(%esp),%ecx /* length */ - movl 16(%esp),%edx /* arena offset */ - pushl %esi - pushl %edi - movl %eax,%esi - movl %edx,%edi - push %ds - push %es - push %ds - pop %es - push %gs - pop %ds - cld - rep - movsb /* move ECX bytes from Real area */ - pop %es - pop %ds - popl %edi - popl %esi - pop %gs - ret - - .align 2 - .globl _dosmemput -_dosmemput: /* long *buf, long len, long offset */ - push %gs - movl 16(%esp),%eax /* offset */ - call dosmemsetup - movl 12(%esp),%ecx /* length */ - movl 8(%esp),%edx /* arena offset */ - pushl %esi - pushl %edi - movl %eax,%edi - movl %edx,%esi - push %es - push %gs - pop %es - cld - rep - movsb /* move ECX bytes to Real area */ - pop %es - popl %edi - popl %esi - pop %gs - ret - - .align 2 /* 8(bp) 12(bp) 16(bp) 20(bp) 24(bp) */ - .globl _movedata /* src_sel, src_ofs, dest_sel, dest_ofs, len */ -_movedata: - pushl %ebp - movl %esp,%ebp - pushw %ds - pushw %es - pushl %esi - pushl %edi - - movl 8(%ebp),%eax - movw %ax,%ds - movl 12(%ebp),%esi - - movl 16(%ebp),%eax - movw %ax,%es - movl 20(%ebp),%edi - - movl 24(%ebp),%ecx - pushl %ecx - shrl $2,%ecx - jcxz no_big_move - rep - movsl -no_big_move: - popl %ecx - andl $3,%ecx - jcxz no_little_move - rep - movsb -no_little_move: - - popl %edi - popl %esi - popw %es - popw %ds - leave - ret - |