Commit | Line | Data |
---|---|---|
5994185b AC |
1 | // OBSOLETE /* Parameters for execution on a 3b1. |
2 | // OBSOLETE Copyright 1986, 1987, 1989, 1999 Free Software Foundation, Inc. | |
3 | // OBSOLETE | |
4 | // OBSOLETE This file is part of GDB. | |
5 | // OBSOLETE | |
6 | // OBSOLETE This program is free software; you can redistribute it and/or modify | |
7 | // OBSOLETE it under the terms of the GNU General Public License as published by | |
8 | // OBSOLETE the Free Software Foundation; either version 2 of the License, or | |
9 | // OBSOLETE (at your option) any later version. | |
10 | // OBSOLETE | |
11 | // OBSOLETE This program is distributed in the hope that it will be useful, | |
12 | // OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | // OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | // OBSOLETE GNU General Public License for more details. | |
15 | // OBSOLETE | |
16 | // OBSOLETE You should have received a copy of the GNU General Public License | |
17 | // OBSOLETE along with this program; if not, write to the Free Software | |
18 | // OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, | |
19 | // OBSOLETE Boston, MA 02111-1307, USA. */ | |
20 | // OBSOLETE | |
21 | // OBSOLETE #define HAVE_TERMIO | |
22 | // OBSOLETE #define USG | |
23 | // OBSOLETE | |
24 | // OBSOLETE /* This is the amount to subtract from u.u_ar0 | |
25 | // OBSOLETE to get the offset in the core file of the register values. */ | |
26 | // OBSOLETE | |
27 | // OBSOLETE #define KERNEL_U_ADDR 0x70000 | |
28 | // OBSOLETE | |
29 | // OBSOLETE #define REGISTER_U_ADDR(addr, blockend, regno) \ | |
30 | // OBSOLETE { addr = blockend + regno * 4; } | |
31 | // OBSOLETE \f | |
32 | // OBSOLETE /* Interface definitions for kernel debugger KDB. */ | |
33 | // OBSOLETE | |
34 | // OBSOLETE /* Map machine fault codes into signal numbers. | |
35 | // OBSOLETE First subtract 0, divide by 4, then index in a table. | |
36 | // OBSOLETE Faults for which the entry in this table is 0 | |
37 | // OBSOLETE are not handled by KDB; the program's own trap handler | |
38 | // OBSOLETE gets to handle then. */ | |
39 | // OBSOLETE | |
40 | // OBSOLETE #define FAULT_CODE_ORIGIN 0 | |
41 | // OBSOLETE #define FAULT_CODE_UNITS 4 | |
42 | // OBSOLETE #define FAULT_TABLE \ | |
43 | // OBSOLETE { 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ | |
44 | // OBSOLETE 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ | |
45 | // OBSOLETE 0, 0, 0, 0, 0, 0, 0, 0, \ | |
46 | // OBSOLETE SIGILL } | |
47 | // OBSOLETE | |
48 | // OBSOLETE /* Start running with a stack stretching from BEG to END. | |
49 | // OBSOLETE BEG and END should be symbols meaningful to the assembler. | |
50 | // OBSOLETE This is used only for kdb. */ | |
51 | // OBSOLETE | |
52 | // OBSOLETE #define INIT_STACK(beg, end) \ | |
53 | // OBSOLETE { asm (".globl end"); \ | |
54 | // OBSOLETE asm ("movel $ end, sp"); \ | |
55 | // OBSOLETE asm ("clrl fp"); } | |
56 | // OBSOLETE | |
57 | // OBSOLETE /* Push the frame pointer register on the stack. */ | |
58 | // OBSOLETE #define PUSH_FRAME_PTR \ | |
59 | // OBSOLETE asm ("movel fp, -(sp)"); | |
60 | // OBSOLETE | |
61 | // OBSOLETE /* Copy the top-of-stack to the frame pointer register. */ | |
62 | // OBSOLETE #define POP_FRAME_PTR \ | |
63 | // OBSOLETE asm ("movl (sp), fp"); | |
64 | // OBSOLETE | |
65 | // OBSOLETE /* After KDB is entered by a fault, push all registers | |
66 | // OBSOLETE that GDB thinks about (all NUM_REGS of them), | |
67 | // OBSOLETE so that they appear in order of ascending GDB register number. | |
68 | // OBSOLETE The fault code will be on the stack beyond the last register. */ | |
69 | // OBSOLETE | |
70 | // OBSOLETE #define PUSH_REGISTERS \ | |
71 | // OBSOLETE { asm ("clrw -(sp)"); \ | |
72 | // OBSOLETE asm ("pea 10(sp)"); \ | |
73 | // OBSOLETE asm ("movem $ 0xfffe,-(sp)"); } | |
74 | // OBSOLETE | |
75 | // OBSOLETE /* Assuming the registers (including processor status) have been | |
76 | // OBSOLETE pushed on the stack in order of ascending GDB register number, | |
77 | // OBSOLETE restore them and return to the address in the saved PC register. */ | |
78 | // OBSOLETE | |
79 | // OBSOLETE #define POP_REGISTERS \ | |
80 | // OBSOLETE { asm ("subil $8,28(sp)"); \ | |
81 | // OBSOLETE asm ("movem (sp),$ 0xffff"); \ | |
82 | // OBSOLETE asm ("rte"); } |