File: arm.sim

package info (click to toggle)
gnat-gdb 5.3.gnat.0.0.20030225-8
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 75,144 kB
  • ctags: 101,348
  • sloc: ansic: 873,511; exp: 46,950; sh: 16,123; makefile: 11,757; yacc: 6,092; asm: 5,027; cpp: 4,044; perl: 2,624; lex: 877; sed: 550; lisp: 394; awk: 170; pascal: 57; java: 7; fortran: 5
file content (39 lines) | stat: -rw-r--r-- 1,681 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
; ARM CPU simulator support.  -*- Scheme -*-
; Copyright (C) 2000 Red Hat, Inc.
; This file is part of CGEN.
; See file COPYING.CGEN for details.

; N.B.
; - The format of this file is *extremely* wip!
; - This isn't intended to be simulator independent, it is an application
;   specific file and not all simulator apps are equivalent.
; - This file is loaded after all the .cpu files are loaded.

; ??? The application (e.g. simulator) may wish to do further processing when
; the tbit is set.  For a C++ simulator what one would want to do is override
; the "set" method.  That presumes there's a "set" method to override and
; that all affected code uses it.  There are several to accomplish this.
; The first way to accomplish this is to have all code always
; access hardware elements through their get/set methods.  Perhaps ok,
; but also maybe overkill.  The second is to specify those that use get/set
; methods.  One could do this for elements that have get/set specs, but this
; requires the .cpu file to get it right (and to change when it isn't).
; A variant of the second is to move this info to an application specific
; file (much like what .opc files are although even they have the problem of
; requiring collaboration with the .cpu file. -- to be fixed!).
; The solution taken here is the latter.

; The h-tbit and h-mbits registers need extra processing when they are set.
; This is done by specifying the FUN-SET attribute, which causes all machine
; generated references to go through the `set' access method.
; Oh no, not FUN-ACCESS again! :-)

(modify-hardware
 (name h-tbit)
 (add-attrs FUN-SET)
)

(modify-hardware
 (name h-mbits)
 (add-attrs FUN-SET)
)