qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Add ARM920T to ARM emulation


From: Jamie Lokier
Subject: Re: [Qemu-devel] Add ARM920T to ARM emulation
Date: Mon, 1 Jun 2009 12:35:12 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Paul Brook wrote:
> > 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." .
> 
> This statement is only applies to instructions that do not have explicit 
> semantics for r15. Use of r15 as a destination in load/pop instructions is 
> well defined.

I notice that ARMv4T adds the BX instruction, implying that B isn't
able to switch to Thumb mode although it can in later architectures (I
never saw the point in BX, and I guess ARM ended up the same :-)

Is the behaviour defined to _not_ switch to Thumb when using B to an
address with the low order bit set, or does it trap, or is it unpredictable?

(While we're here, I would quite like to see the distinction between
ARMv4 and ARMv4T for testing of userspace interworking code, but I'll
add that myself if I need it - as far as I know, the difference would
just be BX/BLX being an illegal instruction, and low-order bit in R15
being ignored.)

-- Jamie





reply via email to

[Prev in Thread] Current Thread [Next in Thread]