On 2/14/15 08:26, Peter Maydell wrote: > On 13 February 2015 at 23:50, Chen Gang S <gang.c...@sunrus.com.cn> wrote: >> >> On 2/13/15 05:15, Chen Gang S wrote: >>> It almost likes a template for adding an architecture target. >>> >>> Signed-off-by: Chen Gang <gang.chen.5...@gmail.com> >>> --- >>> configure | 7 ++ >>> default-configs/tilegx-linux-user.mak | 1 + >>> target-tile/Makefile.objs | 1 + >>> target-tile/cpu-qom.h | 72 +++++++++++++++ >>> target-tile/cpu.c | 159 >>> ++++++++++++++++++++++++++++++++++ >>> target-tile/cpu.h | 84 ++++++++++++++++++ >>> target-tile/helper.h | 0 >>> target-tile/translate.c | 54 ++++++++++++ >>> 8 files changed, 378 insertions(+) >>> create mode 100644 default-configs/tilegx-linux-user.mak >>> create mode 100644 target-tile/Makefile.objs >>> create mode 100644 target-tile/cpu-qom.h >>> create mode 100644 target-tile/cpu.c >>> create mode 100644 target-tile/cpu.h >>> create mode 100644 target-tile/helper.h >>> create mode 100644 target-tile/translate.c >>> >>> diff --git a/configure b/configure >>> index 7ba4bcb..ffb4d56 100755 >>> --- a/configure >>> +++ b/configure >>> @@ -5191,6 +5191,9 @@ case "$target_name" in >>> s390x) >>> gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml" >>> ;; >>> + tilegx) >>> + TARGET_ARCH=tile >>> + ;; >> >> Oh, it needs to use "TARGET_ARCH=tilegx" instead of "TARGET_ARCH=tile", >> or can not put "CONFIG_TILE_DIS=y" to config-all-disas.mak, below (when >> I am adding "disas/tilegx.c", I meet it). > > You need to make up your mind about what your architecture > is called: is it "tile" or "tilegx"? Be consistent... >
Oh, after think of, for me, I shall follow the other architectures has done (e.g. i386). - Still use target-tile directory, since 'tile' is the architecture name. - 'tilegx' is one kind of cpu of tile, so I need consider about it just like another architectures have done (e.g. i386). >> >>> unicore32) >>> ;; >>> xtensa|xtensaeb) >>> @@ -5363,6 +5366,10 @@ for i in $ARCH $TARGET_BASE_ARCH ; do >>> echo "CONFIG_SPARC_DIS=y" >> $config_target_mak >>> echo "CONFIG_SPARC_DIS=y" >> config-all-disas.mak >>> ;; >>> + tilegx*) >>> + echo "CONFIG_TILE_DIS=y" >> $config_target_mak >>> + echo "CONFIG_TILE_DIS=y" >> config-all-disas.mak >>> + ;; > > You should only add this bit to configure in the patchset > where you add a Tile disassembler. > Yeah, I shall add disassembler firstly, before generate tcg code: - binutils tilegx disassembler is easy to be integrated into qemu. - I shall reuse part of the tilegx disassembler code for generating tcg code. - For me, dumping disassemble code in qemu is much helpful for testing. At present, I have integrated binutils tilegx disassembler into qemu, it is passed building, and I shall give a test for it tonight. If no any issues, I plan to send related patch too. Welcome any ideas, suggestions, and completions. Thanks. -- Chen Gang Open, share, and attitude like air, water, and life which God blessed