>> "DS" == Duncan Sands <[EMAIL PROTECTED]> writes:
>> However, being able to include the pppd code into the microcode so
>> that the modem presents standard IP packets to the device driver
>> would be nice and shouldn't be too difficult to achieve.
DS> Yes, this is a good idea.
>> I wonder how much DSP work the microcode has to do and how much is
>> built into the ATM chipset?
DS> Given it is a cheap modem, I'm guessing the microcode does a lot.
I had not realised that there was an ARM core in there, and even if I
had, I probably would have assumed that the microcode contains a lot
of other stuff too. Is it known/believed/guessed that all/most of the
microcode is ARM code?
Do we know what ARM core? 6, 7, 9? Thumb/non-Thumb?, with or without an
MPU/MMU? If it does a lot of hard DSP stuff, that might point to it
being a 9E core.
A trivial way to spot ARM code is places where a large proportion of
the words have 0xE as the most significant nibble. (For the
uninitiated, *all* [1] ARM instructions are contionally executed, and
0xE is the unconditional condition.) The start of ARM code will often
contain words starting 0xEA (an unconditional branch) or 0xE59FF (load
the PC from a PC-relative address) - and you get these in the bottom
seven or eight words [2], possibly with a gap at address 0x14 [3], as
these addresses are the exception vectors.
Decompilability will to a certain extent be determined by the
mechanism by which most of the volume of the code was generated. If it
was compiled from C, it will probably follow the ARM Procedure Call
Standard (APCS) and then function entry/exit points at least are
relatively easy to spot. Bits that were written in assembly though
could be much harder to decipher.
My day job is designing self-timed ARM-compatible cores, so I may be
better placed than many to look at this. No promises, but I will see
if I can find the time.
Footnotes:
[1] Well not quite all, but the exceptions are v. few and *are*
exceptions in most variants of the ISA.
[2] The last one is the fast interrupt vector and, there being no
other vector above it, it can have real code rather than simply a
branch to somewhere else.
[3] The gap is the vector for a historical exception that no longer
exists.
Peter
--
Peter Riocreux, Amulet Group, Dept. Computer Science, Manchester University,
Oxford Road, MANCHESTER, M13 9PL, UK. <http://www.cs.man.ac.uk/amulet/>
Voice: +44 161-2753547 Mobile: +44 7970-611366 Fax: +44 161-2756236
Liste de diffusion modem ALCATEL SpeedTouch USB
Pour se d�sinscrire : mailto:[EMAIL PROTECTED]?subject=unsubscribe