From 1690c6b636dad196f1327021e00a721cebc1f264 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 21 Jul 1995 20:10:49 +0000 Subject: after testing go32 and cvme961 --- cpukit/score/cpu/i386/cpu.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cpukit/score/cpu/i386/cpu.c') diff --git a/cpukit/score/cpu/i386/cpu.c b/cpukit/score/cpu/i386/cpu.c index cf30fd0b94..d1ceaba88a 100644 --- a/cpukit/score/cpu/i386/cpu.c +++ b/cpukit/score/cpu/i386/cpu.c @@ -86,7 +86,14 @@ void _CPU_ISR_install_raw_handler( #if __GO32__ _go32_dpmi_seginfo handler_info; - *old_handler = 0; /* XXX not supported */ + /* get the address of the old handler */ + _go32_dpmi_get_protected_mode_interrupt_vector( vector, &handler_info); + + /* Notice how we're failing to save the pm_segment portion of the */ + /* structure here? That means we might crash the system if we */ + /* try to restore the ISR. Can't fix this until i386_isr is */ + /* redefined. XXX [BHC]. */ + *old_handler = (proc_ptr *) handler_info.pm_offset; handler_info.pm_offset = (u_long) new_handler; handler_info.pm_selector = _go32_my_cs(); -- cgit v1.2.3