bjh21
e1e042445c
A bit of extra discussion based on the latest ARM ARM.
2001-01-18 20:42:03 +00:00
bjh21
8df387473f
Move <machine/signal.h> into shared directory.
2001-01-13 17:02:36 +00:00
bjh21
70d40a123c
Make db_disasm_interface const.
2001-01-13 16:53:27 +00:00
bjh21
f52101bc64
Make all the disasm_interface_t arguments const, thus allowing us to
...
allocate them statically in the text segment. Do so for disassemble().
2001-01-13 16:52:01 +00:00
bjh21
792b8500bc
ANSIfy, un-__Pify, and in the case of disassem.c, add an RCSID.
2001-01-13 16:44:25 +00:00
bjh21
78c0ba909e
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
2001-01-13 00:06:50 +00:00
bjh21
e4cacac41c
Storing four-byte pointers to two-character strings is silly. All the
...
auxilliary tables used by the disassembler are now char[][].
The main table still uses pointers because:
- the longest instruction name, "imbrange" is >7 characters long, which would
make the field length wasteful.
- GCC spots that most of the formats are shared and makes them pointers to the
same string, so turning them into char[8] would be counter-productive.
2001-01-12 23:33:07 +00:00
bjh21
ca0f6df99d
Move all the nasty big tables into the text segment. This isn't much use in
...
the kernel at present, but maybe one day when we have a ROMmable kernel...
2001-01-12 22:44:08 +00:00
bjh21
cdae07e857
Correct comments (the code does support LDF, STF, LDC, STC).
...
Support BX (for completeness).
Correct spelling of SWP.
2001-01-12 22:19:15 +00:00
bjh21
e9bb2a7916
Correct immediate constant handling: bits [11:8] are a rotation, not a shift.
...
Also add support for the "P" modifier to TEQ, TST, CMP and CMN, and don't
bother displaying the "S" bit for these instructions.
Together, these correct the disassembly of 0xe33ff3c2 (an instruction in
arm26 irq_handler() from "teqs r15, #0x08000000" to "teqp r15, 0x08000003".
2001-01-12 21:56:18 +00:00
bjh21
d6928b5422
Prototypes for disassemble_readword() and disassemble_printaddr().
2001-01-12 21:35:48 +00:00
bjh21
a5ef6e1f81
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should
...
generate smaller compiled code.
2001-01-12 21:31:51 +00:00
bjh21
a4047bf10c
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
2001-01-12 13:43:11 +00:00
bjh21
6fa98146d5
Start merging actual code in arm32 and arm26:
...
arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we
use the MI code for that.
2001-01-11 23:27:26 +00:00
bjh21
5159a10d97
Share <machine/elf_machdep.h> between arm26 and arm32.
2001-01-11 22:28:06 +00:00
bjh21
dc037466f5
Install all the headers (arm32 does).
2001-01-11 21:05:03 +00:00
bjh21
1add2fd369
Remove <arm/endian_machdep.h>, since we might get a big-endian ARM port
...
some time.
2001-01-11 21:03:10 +00:00
bjh21
0cc28d54b1
... this one's utterly pointless though.
2001-01-10 19:05:46 +00:00
bjh21
29de7da78b
Header files which don't differ between arm32 and arm26 and can thus be
...
shared.
2001-01-10 19:02:05 +00:00
bjh21
9e0af76a89
Empty file to keep config happy.
2001-01-10 18:33:47 +00:00
bjh21
f4774e6659
Skeleton ARM include infrastructure.
2001-01-10 18:23:02 +00:00