• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..08-Dec-2020-

strinforeduce/H08-Dec-2020-267184

tablegen/H08-Dec-2020-243,836217,406

.gitignoreH A D08-Dec-2020145 107

MakefileH A D08-Dec-2020399 158

READMEH A D08-Dec-20202.4 KiB5840

X86DisassemblerDecoderCommon.hH A D08-Dec-202028.9 KiB484381

arm64_gen_vreg.cH A D08-Dec-2020766 3928

asmwriter.pyH A D08-Dec-202032.5 KiB749664

compare_mapping_insn.pyH A D08-Dec-2020835 3925

disassemblertables-arch.pyH A D08-Dec-20208.7 KiB259201

disassemblertables.pyH A D08-Dec-20201.2 KiB4625

disassemblertables2.cH A D08-Dec-20205.3 KiB177125

disassemblertables_reduce.pyH A D08-Dec-20201.3 KiB5127

genall-arch.shH A D08-Dec-20203.3 KiB7146

genall-full.shH A D08-Dec-20201.4 KiB3417

genall-reduce.shH A D08-Dec-20201.4 KiB2914

insn.pyH A D08-Dec-202012.3 KiB325242

insn3.pyH A D08-Dec-20203 KiB10561

insn_check.pyH A D08-Dec-2020720 2617

instrinfo-arch.pyH A D08-Dec-20204.1 KiB162102

instrinfo.pyH A D08-Dec-20202.9 KiB11676

mapping_insn-arch.pyH A D08-Dec-202013.2 KiB363269

mapping_insn.pyH A D08-Dec-202012.2 KiB333253

mapping_insn_name-arch.pyH A D08-Dec-20203.1 KiB10561

mapping_insn_name.pyH A D08-Dec-202012 KiB315236

mapping_insn_op-arch.pyH A D08-Dec-202013.9 KiB380287

mapping_insn_op.pyH A D08-Dec-202012.1 KiB319242

mapping_reg.pyH A D08-Dec-20201.6 KiB5435

register.pyH A D08-Dec-20201.4 KiB4931

registerinfo.pyH A D08-Dec-20206.9 KiB287202

subtargetinfo.pyH A D08-Dec-20201.4 KiB5434

systemoperand.pyH A D08-Dec-202023.3 KiB988698

systemregister.pyH A D08-Dec-20205.3 KiB214148

README

1Sync tools to port LLVM inc files to Capstone.
2
3For X86
4=======
50. cd tablegen/, then follow its README.
6
71. Run genall-{full|reduce}.sh, then copy generated .inc files to arch/<ARCH>/ directory
8
9    $ ./genall-full.sh tablegen ~/projects/tmp/capstone777.git/arch/X86
10    $ ./genall-reduce.sh tablegen ~/projects/tmp/capstone777.git/arch/X86
11
122. Run disassemblertables_reduce2 & disassemblertables_reduce2 to generate optimized (index table) X86GenDisassemblerTables2.inc & X86GenDisassemblerTables_reduce2.inc
13
14    # use 2x name to avoid overwritting X86GenDisassemblerTables2.inc & X86GenDisassemblerTables_reduce2.inc
15
16    $ make
17    $ ./disassemblertables2 > X86GenDisassemblerTables2x.inc
18    $ ./disassemblertables_reduce2 > X86GenDisassemblerTables_reduce2x.inc
19
203. cd strinforeduce/, and follow its README.
21
224. Copy all generated .inc files to arch/X86/
23
24    $ cp X86GenAsmWriter_reduce.inc ~/projects/capstone.git/arch/X86
25    $ cp X86GenAsmWriter1_reduce.inc ~/projects/capstone.git/arch/X86
26    $ cp X86MappingInsnName_reduce.inc ~/projects/capstone.git/arch/X86
27    $ cp X86MappingInsn_reduce.inc ~/projects/capstone.git/arch/X86
28    $ cp X86MappingInsnOp_reduce.inc ~/projects/capstone.git/arch/X86
29    $ cp X86GenInstrInfo_reduce.inc ~/projects/capstone.git/arch/X86
30    $ cp X86GenDisassemblerTables_reduce.inc ~/projects/capstone.git/arch/X86
31    $ cp X86GenDisassemblerTables_reduce2x.inc ~/projects/capstone.git/arch/X86/X86GenDisassemblerTables_reduce2.inc
32
33    $ cp X86GenAsmWriter.inc ~/projects/capstone.git/arch/X86
34    $ cp X86GenAsmWriter1.inc ~/projects/capstone.git/arch/X86
35    $ cp X86MappingInsnName.inc ~/projects/capstone.git/arch/X86
36    $ cp X86MappingInsn.inc ~/projects/capstone.git/arch/X86
37    $ cp X86MappingInsnOp.inc ~/projects/capstone.git/arch/X86
38    $ cp X86GenInstrInfo.inc ~/projects/capstone.git/arch/X86
39    $ cp X86GenDisassemblerTables.inc ~/projects/capstone.git/arch/X86
40    $ cp X86GenDisassemblerTables2x.inc ~/projects/capstone.git/arch/X86/X86GenDisassemblerTables2.inc
41
425. copy insn_list.txt to include/capstone/<arch.h>
43
44For non-X86
45===========
46
470. cd tablegen/, then follow its README.
48
49	1. Run gen-tablegen-arch.sh
50
512. Run genall-arch.sh
52
53   ./genall-arch.sh tablegen ~/projects/capstone.git/arch/ARM ARM
54   ./genall-arch.sh tablegen ~/projects/capstone.git/arch/ARM AArch64
55   ./genall-arch.sh tablegen ~/projects/capstone.git/arch/ARM PowerPC
56
573. Copy generated *.inc files to arch/<arch>/
58