VirtualBox

source: vbox/trunk/src/VBox/Runtime/r0drv/os2/RTR0AssertPanicSystem-r0drv-os2.asm@ 78273

Last change on this file since 78273 was 77120, checked in by vboxsync, 6 years ago

IPRT: Some license header cleanups.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 4.3 KB
Line 
1; $Id: RTR0AssertPanicSystem-r0drv-os2.asm 77120 2019-02-01 15:08:46Z vboxsync $
2;; @file
3; IPRT - RTR0AssertPanicSystem, Ring-0 Driver, OS/2.
4;
5
6;
7; Contributed by knut st. osmundsen.
8;
9; Copyright (C) 2007-2019 Oracle Corporation
10;
11; This file is part of VirtualBox Open Source Edition (OSE), as
12; available from http://www.virtualbox.org. This file is free software;
13; you can redistribute it and/or modify it under the terms of the GNU
14; General Public License (GPL) as published by the Free Software
15; Foundation, in version 2 as it comes in the "COPYING" file of the
16; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18;
19; The contents of this file may alternatively be used under the terms
20; of the Common Development and Distribution License Version 1.0
21; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
22; VirtualBox OSE distribution, in which case the provisions of the
23; CDDL are applicable instead of those of the GPL.
24;
25; You may elect to license modified versions of this file under the
26; terms and conditions of either the GPL or the CDDL or both.
27;
28; --------------------------------------------------------------------
29;
30; This code is based on:
31;
32; Copyright (c) 1999-2007 knut st. osmundsen <[email protected]>
33;
34; Permission is hereby granted, free of charge, to any person
35; obtaining a copy of this software and associated documentation
36; files (the "Software"), to deal in the Software without
37; restriction, including without limitation the rights to use,
38; copy, modify, merge, publish, distribute, sublicense, and/or sell
39; copies of the Software, and to permit persons to whom the
40; Software is furnished to do so, subject to the following
41; conditions:
42;
43; The above copyright notice and this permission notice shall be
44; included in all copies or substantial portions of the Software.
45;
46; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
47; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
48; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
49; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
50; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
51; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
52; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
53; OTHER DEALINGS IN THE SOFTWARE.
54;
55
56
57;*******************************************************************************
58;* Header Files *
59;*******************************************************************************
60%define RT_INCL_16BIT_SEGMENTS
61%include "iprt/asmdefs.mac"
62
63
64;*******************************************************************************
65;* Defined Constants And Macros *
66;*******************************************************************************
67%define DevHlp_InternalError 02bh
68
69
70;*******************************************************************************
71;* External Symbols *
72;*******************************************************************************
73extern KernThunkStackTo16
74extern KernThunkStackTo32
75extern NAME(g_szRTAssertMsg)
76extern NAME(g_cchRTAssertMsg)
77extern NAME(g_fpfnDevHlp)
78
79
80BEGINCODE
81
82BEGINPROC_EXPORTED RTR0AssertPanicSystem
83 push ebp
84 mov ebp, esp
85 push esi
86 push edi
87 push ds
88
89 ;
90 ; Try detect debug kernel... later one day.
91 ;
92
93
94 ;
95 ; Raise an IPE.
96 ;
97 call KernThunkStackTo16
98 ;jmp far dword NAME(RTR0AssertPanicSystem_16) wrt CODE16
99 db 066h
100 db 0eah
101 dw NAME(RTR0AssertPanicSystem_16) wrt CODE16
102 dw CODE16
103BEGINCODE16
104GLOBALNAME RTR0AssertPanicSystem_16
105 ; mov ax, seg NAME(g_szRTAssertMsg) - makes wlink crash.
106 mov ax, DATA16
107 mov ds, ax
108 mov si, NAME(g_szRTAssertMsg)
109 mov di, [NAME(g_cchRTAssertMsg)]
110 mov dl, DevHlp_InternalError
111 call far [NAME(g_fpfnDevHlp)]
112
113 ; Doesn't normally return, but in case it does...
114 ;jmp far dword NAME(RTR0AssertPanicSystem_32)
115 db 066h
116 db 0eah
117 dd NAME(RTR0AssertPanicSystem_32)
118 dw TEXT32 wrt FLAT
119BEGINCODE32:
120GLOBALNAME RTR0AssertPanicSystem_32
121 call KernThunkStackTo32
122 mov eax, 1
123 pop ds
124 pop edi
125 pop esi
126 leave
127 ret
128ENDPROC RTR0AssertPanicSystem
129
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette