diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2006-02-20 20:55:18 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-18 00:26:35 +0200 |
commit | b3d4954f3269685d4200149e7334cdcdc935c287 (patch) | |
tree | 9d963cdfa4c74632d455d9126f27672322059824 /i386/pc/rv86/rv86_reflect_irq.S | |
parent | 0266d331d780ff0e595eda337a3501ffbfea9330 (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_reflect_irq.S')
-rw-r--r-- | i386/pc/rv86/rv86_reflect_irq.S | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/i386/pc/rv86/rv86_reflect_irq.S b/i386/pc/rv86/rv86_reflect_irq.S deleted file mode 100644 index 5d68fae..0000000 --- a/i386/pc/rv86/rv86_reflect_irq.S +++ /dev/null @@ -1,113 +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 "trap_asm.h" -#include "pc_asm.h" -#include "i386_asm.h" - -/* - * Define a set of interrupt handlers to reflect interrupts to v86 mode. - */ - - .text - -#define master_base 0x08 -#define slave_base 0x70 - -#define irq(pic,picnum,irqnum) \ -ENTRY(rv86_reflect_irq##irqnum) ;\ - pushl $pic##_base+picnum ;\ - pushl $0x80000000+irqnum /* (for debug) */ ;\ - jmp allintrs - -#include "irq_list.h" - - -allintrs: - pusha - pushl %ds - pushl %es - pushl %fs - pushl %gs - - /* Load the normal kernel segment registers. */ - movw %ss,%ax - movw %ax,%ds - movw %ax,%es - - /* See if we came from v86 mode. */ - testl $EFL_VM,TR_EFLAGS(%esp) - jnz int_from_v86 - - movl TR_ERR(%esp),%eax - pushl $dummy_rcd - pushl %eax - call EXT(rv86_real_int) - addl $2*4,%esp - - popl %gs - popl %fs - popl %es - popl %ds - popa - addl $2*4,%esp - iret - -int_from_v86: - - /* Save the v86 stack pointer before handling the interrupt. - We need this in order to handle recursive reflected interrupts - possibly interspersed with protected-mode interrupts. */ - movl EXT(rv86_usp),%esi - movl EXT(rv86_usp)+4,%edi - movl EXT(real_tss)+TSS_ESP0,%ebx - - movl TR_ESP(%esp),%eax - subw $6,%ax /* allocate a real-mode interrupt stack frame. */ - movl %eax,EXT(rv86_usp) - movl TR_SS(%esp),%eax - movw %ax,EXT(rv86_usp)+4 - - movl TR_ERR(%esp),%eax - pushl $dummy_rcd - pushl %eax - call EXT(rv86_real_int) - addl $2*4,%esp - - movl %esi,EXT(rv86_usp) - movl %edi,EXT(rv86_usp)+4 - movl %ebx,EXT(real_tss)+TSS_ESP0 - - addl $4*4,%esp - popa - addl $2*4,%esp - iret - - /* Dummy real_call_data structure (always all zero) - to use when reflecting hardware interrupts. */ - .comm dummy_rcd,RCD_SIZE - |