[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minim
From: |
Chen Gang S |
Subject: |
Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features |
Date: |
Sat, 14 Feb 2015 23:43:37 +0800 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
On 2/14/15 11:37, Chris Metcalf wrote:
> On 2/13/2015 10:08 PM, Chen Gang S wrote:
>> On 2/14/15 08:26, Peter Maydell wrote:
>>> On 13 February 2015 at 23:50, Chen Gang S <address@hidden> 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 <address@hidden>
>>>>> ---
>>>>> 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).
>
> I recommend pretty strongly that you use "tilegx" consistently for qemu.
> There is enough commonality in the Linux arch code that I chose "tile" to
> support both tilepro and tilegx. But elsewhere, we use "tilegx" vs
> "tilepro", for example in binutils and gcc. I would argue "qemu" is much
> more like binutils or gcc. Also, note that while x86_64 can run i386
> binaries, tilegx can not run tilepro binaries.
>
OK, thanks, what you said sounds reasonable to me, I shall only use
tilegx consistently for qemu.
>>> 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.
>
> The license issue is tricky with qemu. The tilegx support was only returned
> to the community in release 2.22, and binutils has been GPL v3 since 2.18 or
> so. So you can't use that code. On the other hand, there is disassembly
> code in the kernel that we released under the kernel's GPL v2; see
> arch/tile/kernel/tile-desc_64.c and the matching include file. So maybe
> there is enough there for you to use to implement the disassembly code.
>
> I'm not sure whether Tilera can simply re-release the tilegx-specific stuff
> from binutils as a separate tarball with GPL v2 licensing. Hopefully we can
> avoid having to figure that out. :-)
>
After read through the related kernel code, I guess, it is enough for me
to use to implement the disassembly code.
Thanks.
--
Chen Gang
Open, share, and attitude like air, water, and life which God blessed
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, (continued)
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chen Gang S, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Max Filippov, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chen Gang S, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Peter Maydell, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chris Metcalf, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chen Gang S, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chen Gang S, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chen Gang S, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chris Metcalf, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features, Chen Gang S, 2015/02/16
- Re: [Qemu-devel] [PATCH 1/5] target-tile: Firstly add to qemu with minimized features,
Chen Gang S <=
[Qemu-devel] [PATCH 3/5] linux-user: tile: Add target features support within qemu, Chen Gang S, 2015/02/12
[Qemu-devel] [PATCH 4/5] linux-user: Support tile architecture in syscall, Chen Gang S, 2015/02/12
[Qemu-devel] [PATCH 5/5] linux-user: Support tile architecture in linux-user, Chen Gang S, 2015/02/12