summaryrefslogtreecommitdiff
path: root/i386/pc/rv86/rv86_real_int_asm.S
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2006-02-20 20:55:18 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-18 00:26:35 +0200
commitb3d4954f3269685d4200149e7334cdcdc935c287 (patch)
tree9d963cdfa4c74632d455d9126f27672322059824 /i386/pc/rv86/rv86_real_int_asm.S
parent0266d331d780ff0e595eda337a3501ffbfea9330 (diff)
2006-02-20 Thomas Schwinge <tschwinge@gnu.org>
Remove unused and unsupported code. Consult the file `DEVELOPMENT' for details. Partly based on suggestions by Gianluca Guida <glguida@gmail.com>. * i386/pc/NOTES: Remove file. * i386/pc/debug.h: Likewise. * i386/pc/exit.c: Likewise. * i386/pc/gdt.h: Likewise. * i386/pc/gdt_sels.h: Likewise. * i386/pc/i16/i16_a20.c: Likewise. * i386/pc/i16/i16_a20.h: Likewise. * i386/pc/i16/i16_bios.h: Likewise. * i386/pc/i16/i16_exit.c: Likewise. * i386/pc/i16/i16_ext_mem.c: Likewise. * i386/pc/i16/i16_init.c: Likewise. * i386/pc/i16/i16_main.c: Likewise. * i386/pc/i16/i16_pic.c: Likewise. * i386/pc/i16/i16_putchar.c: Likewise. * i386/pc/i16/i16_raw.c: Likewise. * i386/pc/i16/i16_raw_test_a20.S: Likewise. * i386/pc/i16/i16_real_int.S: Likewise. * i386/pc/i16/i16_switch.h: Likewise. * i386/pc/i16/phys_mem_collect.c: Likewise. * i386/pc/i16/phys_mem_sources.h: Likewise. * i386/pc/i16/raw_exit.c: Likewise. * i386/pc/i16/raw_real_int.c: Likewise. * i386/pc/ipl.h: Likewise. * i386/pc/irq.h: Likewise. * i386/pc/irq_list.h: Likewise. * i386/pc/pc_asm.sym: Likewise. * i386/pc/phys_mem.h: Likewise. * i386/pc/phys_mem_add.c: Likewise. * i386/pc/pic.c: Likewise. * i386/pc/pic.h: Likewise. * i386/pc/putchar.c: Likewise. * i386/pc/real.h: Likewise. * i386/pc/real_tss.c: Likewise. * i386/pc/real_tss.h: Likewise. * i386/pc/real_tss_def.S: Likewise. * i386/pc/rv86/config.h: Likewise. * i386/pc/rv86/gdt_sels.h: Likewise. * i386/pc/rv86/idt_irq_init.c: Likewise. * i386/pc/rv86/rv86_real_int.c: Likewise. * i386/pc/rv86/rv86_real_int_asm.S: Likewise. * i386/pc/rv86/rv86_reflect_irq.S: Likewise. * i386/pc/rv86/rv86_trap_handler.S: Likewise. * i386/pc/rv86/trap_handler.S: Likewise.
Diffstat (limited to 'i386/pc/rv86/rv86_real_int_asm.S')
-rw-r--r--i386/pc/rv86/rv86_real_int_asm.S119
1 files changed, 0 insertions, 119 deletions
diff --git a/i386/pc/rv86/rv86_real_int_asm.S b/i386/pc/rv86/rv86_real_int_asm.S
deleted file mode 100644
index 54b1b9b..0000000
--- a/i386/pc/rv86/rv86_real_int_asm.S
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1995 The University of Utah and
- * the Computer Systems Laboratory at the University of Utah (CSL).
- * All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software is hereby
- * granted provided that (1) source code retains these copyright, permission,
- * and disclaimer notices, and (2) redistributions including binaries
- * reproduce the notices in supporting documentation, and (3) all advertising
- * materials mentioning features or use of this software display the following
- * acknowledgement: ``This product includes software developed by the
- * Computer Systems Laboratory at the University of Utah.''
- *
- * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
- * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
- * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * CSL requests users of this software to return to csl-dist@cs.utah.edu any
- * improvements that they make and grant CSL redistribution rights.
- *
- * Author: Bryan Ford, University of Utah CSL
- */
-
-#include <mach/machine/asm.h>
-#include <mach/machine/eflags.h>
-
-#include "trap.h"
-#include "i386_asm.h"
-#include "pc_asm.h"
-#include "trap_asm.h"
-
- .text
- .globl rv86_real_int_asm
-rv86_real_int_asm:
-
- /* Stash our protected-mode stack pointer. */
- movl %esp,EXT(real_tss)+TSS_ESP0
-
- /* Load the linear/physical-address data segment into ES,
- for easy access to real-mode memory. */
- movl $LINEAR_DS,%edx
- movw %dx,%es
-
- /* Find the physical address of the real-mode interrupt stack (es:ebx).
- A 6-byte stack frame has already been allocated on it. */
- movl EXT(rv86_usp)+4,%ebx
- shll $4,%ebx
- addl EXT(rv86_usp),%ebx
-
- /* Store the magic return pointer into the real-mode interrupt stack frame. */
- movl EXT(rv86_rp),%edx
- movl %edx,%es:(%ebx)
- movw RCD_FLAGS(%eax),%dx
- movw %dx,%es:4(%ebx)
-
- /* Find the address of the real mode interrupt vector (es:esi). */
- shll $2,%esi
-
- /* Build the v86 trap frame. */
- xorl %edx,%edx
- movw RCD_GS(%eax),%dx
- pushl %edx
- movw RCD_FS(%eax),%dx
- pushl %edx
- movw RCD_DS(%eax),%dx
- pushl %edx
- movw RCD_ES(%eax),%dx
- pushl %edx
- pushl EXT(rv86_usp)+4
- pushl EXT(rv86_usp)
- movl $EFL_VM+EFL_IOPL_USER,%ecx
- orw RCD_FLAGS(%eax),%cx
- andl $-1-EFL_IF-EFL_TF,%ecx
- pushl %ecx
- movw %es:2(%esi),%edx
- pushl %edx
- movw %es:(%esi),%edx
- pushl %edx
-
- /* Load the requested register state. */
- movl RCD_EDI(%eax),%edi
- movl RCD_ESI(%eax),%esi
- movl RCD_EBP(%eax),%ebp
- movl RCD_EBX(%eax),%ebx
- movl RCD_EDX(%eax),%edx
- movl RCD_ECX(%eax),%ecx
- movl RCD_EAX(%eax),%eax
-
- /* Drop into v86 mode. */
- iret
-
-ENTRY(rv86_return)
-
- /* Restore the kernel segment registers. */
- movw %ss,%ax
- movw %ax,%ds
- movw %ax,%es
-
- /* Retrieve the real_call_data pointer from rv86_real_int_asm's stack frame. */
- movl TR_V86SIZE+4(%esp),%eax
-
- /* Stash the final register state. */
- movl TR_EDI(%esp),%edx; movl %edx,RCD_EDI(%eax)
- movl TR_ESI(%esp),%edx; movl %edx,RCD_ESI(%eax)
- movl TR_EBP(%esp),%edx; movl %edx,RCD_EBP(%eax)
- movl TR_EBX(%esp),%edx; movl %edx,RCD_EBX(%eax)
- movl TR_EDX(%esp),%edx; movl %edx,RCD_EDX(%eax)
- movl TR_ECX(%esp),%edx; movl %edx,RCD_ECX(%eax)
- movl TR_EAX(%esp),%edx; movl %edx,RCD_EAX(%eax)
- movl TR_EFLAGS(%esp),%edx; movw %dx,RCD_FLAGS(%eax)
- movl TR_V86_ES(%esp),%edx; movw %dx,RCD_ES(%eax)
- movl TR_V86_DS(%esp),%edx; movw %dx,RCD_DS(%eax)
- movl TR_V86_FS(%esp),%edx; movw %dx,RCD_FS(%eax)
- movl TR_V86_GS(%esp),%edx; movw %dx,RCD_GS(%eax)
-
- /* Return from the call to rv86_real_int_asm. */
- lea TR_V86SIZE(%esp),%esp
- ret
-