OSDN Git Service

2001-02-28 Michael Snyder <msnyder@mvstp600e.cygnus.com>
[pf3gnuchains/pf3gnuchains3x.git] / cgen / arm.sim
1 ; ARM CPU simulator support.  -*- Scheme -*-
2 ; Copyright (C) 2000 Red Hat, Inc.
3 ; This file is part of CGEN.
4 ; See file COPYING.CGEN for details.
5
6 ; N.B.
7 ; - The format of this file is *extremely* wip!
8 ; - This isn't intended to be simulator independent, it is an application
9 ;   specific file and not all simulator apps are equivalent.
10 ; - This file is loaded after all the .cpu files are loaded.
11 \f
12 ; ??? The application (e.g. simulator) may wish to do further processing when
13 ; the tbit is set.  For a C++ simulator what one would want to do is override
14 ; the "set" method.  That presumes there's a "set" method to override and
15 ; that all affected code uses it.  There are several to accomplish this.
16 ; The first way to accomplish this is to have all code always
17 ; access hardware elements through their get/set methods.  Perhaps ok,
18 ; but also maybe overkill.  The second is to specify those that use get/set
19 ; methods.  One could do this for elements that have get/set specs, but this
20 ; requires the .cpu file to get it right (and to change when it isn't).
21 ; A variant of the second is to move this info to an application specific
22 ; file (much like what .opc files are although even they have the problem of
23 ; requiring collaboration with the .cpu file. -- to be fixed!).
24 ; The solution taken here is the latter.
25
26 ; The h-tbit and h-mbits registers need extra processing when they are set.
27 ; This is done by specifying the FUN-SET attribute, which causes all machine
28 ; generated references to go through the `set' access method.
29 ; Oh no, not FUN-ACCESS again! :-)
30
31 (modify-hardware
32  (name h-tbit)
33  (add-attrs FUN-SET)
34 )
35
36 (modify-hardware
37  (name h-mbits)
38  (add-attrs FUN-SET)
39 )