linux-mips
[Top] [All Lists]

Re: Strange instruction

To: Dmitriy Tochansky <toch@dfpost.ru>
Subject: Re: Strange instruction
From: Dan Malek <dan@embeddededge.com>
Date: Thu, 14 Oct 2004 09:45:10 -0400
Cc: linux-mips@linux-mips.org
In-reply-to: <20041014115304.3edbe141.toch@dfpost.ru>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20041014115304.3edbe141.toch@dfpost.ru>
Sender: linux-mips-bounce@linux-mips.org

On Oct 14, 2004, at 7:53 AM, Dmitriy Tochansky wrote:

Hello!

When starts kernel for my au1500 board reseting board. After disassembling I found instruction which reseting board. Here is few strings of "mipsel-linux-objdump -D vmlinux" output:

---

a0000650:       07400003        bltz    k0,a0000660 <nmi_handler+0x1c>
a0000654:       03a0d82d        0x3a0d82d
a0000658:       3c1ba020        lui     k1,0xa020

The Au1xxx is schizophrenic about the way it handles endianness.
The core starts up big endian mode, the bus interface depends upon
configuration options.  When you want to run the processor in
little endian mode (as is the case with this board), there are still
times during initialization that it is running big endian. For these code
sequences, the instructions have to be byte swapped because the
bus interface is running little endian. You are also using little endian
tools, so you will have to also byte swap these before disassembly
to get the proper instructions.


        -- Dan


<Prev in Thread] Current Thread [Next in Thread>