qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add minimal Hexagon target - First in a series of patches -


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project and therefore do not conform to qemu coding standards
Date: Wed, 20 Nov 2019 18:09:21 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1

On 11/19/19 7:13 PM, Laurent Vivier wrote:
Le 19/11/2019 à 18:22, Taylor Simpson a écrit :
Thanks for all the feedback on the patch.  I'll summarize my TODO list here.  
Please let me know if there's anything I missed.
- Add a README file in the imported directory to make it clear that the code comes from 
another project.  Personally, I prefer keeping the name as "imported".  It was 
suggested by Richard at the meeting.  Also as a heads-up, that is a small subset of the 
files that will be in that directory eventually.  Right now, it is the minimum needed to 
build the skeleton target.
- Work on the .checkpatchignore as Philippe suggested.
- Split out the "[__SIGRTMAX - 1] = __SIGRTMIN + 1" into a separate patch.
- Clean up the long subject line.
- Add license text to the new files.
- Remove the DEBUG_HEX blocks.  In general the DEBUG_HEX macro controls a bunch 
of debugging output as you'll see in later patches.  In the long run, I think 
it should be replaces with a macro that is defined when configured with 
--enable-debug and then an additional command-line argument.  I haven't looked 
into this, so any pointers would be appreciated.

You can have a look to the trace infrastructure
(docs/devel/tracing.txt). We have also some qemu_log() macros for low
level debugging.

- Laurent suggested I split the patch into two parts: linux-user and 
target/hexagon.  If I do that, which one should contain the changes to common 
files (e.g., configure)?  Also, note that we won't be able to build until both 
patches are merged.  Is that OK?

You should add target/hexagon first, and it should not be build as we
don't have any target (hexagon-linux-user or hexagon-softmmu),
then you can add linux-user part that will be built and use the
target/hexagone CPU. I think the configure part should go to the
linux-user part as it enables the build.

If you have a CPU in target/hexagone, you should be able to link hexagon-softmmu and run 'hexagon-softmmu -M none -m $SIZE -S -s', this starts a CPU with $SIZE MiB of ram mapped at 0, and wait for gdb on port 1234. From here you can use 'load binary' to load some code in memory, set breakpoints, and test your CPU (and TCG).

Then I'd continue with linux-user. If you already have it, that's easier.


I asked to split the patch for review purpose, but this should not break
anything (to allow bisect).

Thanks,
Laurent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]