qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Add ARM920T to ARM emulation
@ 2009-05-29 13:23 Vincent Sanders
  2009-05-29 13:23 ` [Qemu-devel] [PATCH 1/1] Update ARM emulation to be version 4t by default Vincent Sanders
  2009-05-29 22:05 ` [Qemu-devel] Add ARM920T to ARM emulation Paul Brook
  0 siblings, 2 replies; 12+ messages in thread
From: Vincent Sanders @ 2009-05-29 13:23 UTC (permalink / raw)
  To: qemu-devel

This adds the ARM920T to the ARM supported processor cores. It also
alters the default emulated instruction set to the version 4t set and
adds a feature flag for the v5 features.

I have used the ARM Architecture Reference Manual (version I) as the
source of the v4/v5 differences. Page 14 of the ARM-ARM ("New features
in version 5T") gives an overview of the v5 features.

The primary differences are related to the "Control and DSP
instruction extension space" range of which v4t implements only a
subset. These are described on page 144 (A3.16.3) of the ARM-ARM

Other extensions (such as preloading) were added in the old NV opcode
range and are ignored by the current emulation already.

There was some discussion of the differences between v4 and v5 with
respect to LDR behaviour manipulating the program counter when the
bottom bit of an adress is set. The ARM-ARM clearly defines such
behaviour as "unpredicatble" (section A2.4.3 page 48) where it says
"In all variants of ARMv4 and ARMv5, bits[1:0] of a value written to
R15 in ARM state must be 0b00. If they are not, the results are
UNPREDICTABLE." .

As such the emulation remains correct whatever the specific result of
such program counter manipulation. I could alter the emulation
behaviour to follow the expected physical behaviour of some version
4/5 implementations. This would complicate the code for very little
aparient gain and I have been unable to find any code which uses this
construct despite scanning the entire arm and armel repositories of
Debian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-06-01 23:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-29 13:23 [Qemu-devel] Add ARM920T to ARM emulation Vincent Sanders
2009-05-29 13:23 ` [Qemu-devel] [PATCH 1/1] Update ARM emulation to be version 4t by default Vincent Sanders
2009-05-29 21:59   ` Paul Brook
2009-05-30 10:08     ` Vincent Sanders
2009-05-29 22:05 ` [Qemu-devel] Add ARM920T to ARM emulation Paul Brook
2009-06-01 11:35   ` Jamie Lokier
2009-06-01 12:13     ` Paul Brook
2009-06-01 13:29       ` Avi Kivity
2009-06-01 13:48         ` Tristan Gingold
2009-06-01 13:58           ` Avi Kivity
2009-06-01 16:34         ` Paul Brook
2009-06-01 23:11       ` Jamie Lokier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).