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.
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.
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.
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! :-)