URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-binutils/] [binutils-2.19.1/] [cgen/] [cpu/] [arm.sim] - Rev 6
Compare with Previous | Blame | View Log
; 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)
)