On Mon, 17 Feb 2020 at 14:42, zied guermazi guermazi_zied@yahoo.com wrote:
hi all, I am attaching the patch for the changes done in gdb in order to activate instructions and functions recording on ARM processors. your feedback and review comments are welcome.
In order to get people to look at your code it needs to be formatted and sent out using the proper format. You can see how people submit code to the GDB project here[1].
[1]. https://sourceware.org/ml/gdb-patches/
and for sure if someone is planning to visit the embedded word exhibition and want to have an exchange concerning this topic, he/she is welcome to drop me an e-mail to schedule an appointment Kind Regards Zied Guermazi
On Monday, February 17, 2020, 7:23:07 PM GMT+1, Mathieu Poirier mathieu.poirier@linaro.org wrote:
Same comment applies with regards to mailing lists.
On Mon, 17 Feb 2020 at 10:16, zied guermazi guermazi_zied@yahoo.com wrote:
Hi Mike, hi Matthieu,
I was too rapid to press the send button, sorry for the inconvienience. and yes, it works. I published the source code in github (https://github.com/gzied/binutils-gdb/tree/gdb_arm_coresight) ,as well as a mail in linaro mailing list (https://lists.linaro.org/pipermail/coresight/2020-February/003676.html).
Unfortunately you didn't publish your work in "PATCH" format and as such it can't be reviewed.
Eventhough there is still an effort needed to stabilize it for armv7, and test it for armv8, I consider this as a breakthough that we can build on the top of it. I will be visiting Embedded world exhibition between 25th and 27th of February in Nuremberg, Germany. are you planning to be there too. I am looking forwards to meet you there if possible to discuss possibilities of further development and integration in the main stream.
I won't be in Nuremberg next week and I'm pretty sure Mike won't be there either. Other people on the lists might be around and interested in meeting with you. Mike and I will be attending Linaro Connect in Budapest between the 23rd and 27th of March. The Linaro toolchain group will also be there so it might be the perfect opportunity to sit down for an hour or so and have a chat.
A good day to you, Mathieu
Kind Regards Zied Guermazi
On Monday, February 17, 2020, 06:08:26 PM GMT+1, zied guermazi guermazi_zied@yahoo.com wrote:
Hi Mike, hi Matthieu it works!
On Monday, December 16, 2019, 11:20:20 PM GMT+1, zied guermazi guermazi_zied@yahoo.com wrote:
hi Mike, hi Mathieu last few weeks I was able to spend some time on implementing this feature, and I want to share the status with you and get your recommendation on organizational and technical level. so far I was able to use perf events to configure the drivers for etm and collect the traces. the code was tested successfully on an STM32MP157A discovery kit (arm v7). I would like to push this on git, first for review and second for integration and creating traction . Do you think it is ok to push it in this status (feature partially achieved) ? is linaro gdb git the correct one? who is the maintainer of this part of gdb? I do not have an ARMv8 platform to test. who can support here?
during the implementation few technical question raised:
- etm tracing collection requires selecting a trace sink. and I have two alternatives: either extending the "record btrace etm" command (used to start tracing) with a sink as an argument or extending the command "set record btrace" (general configuration of tracing) with etm sink sub-command? (I have hard-coded it currently to be able to progress)
- currently I am hardcoding the path "/sys/bus/event_source/devices/cs_etm/" as the default etm source, is this guaranteed to be unique? can we have a system with many etm sources enumerated in the sysfs.
for parsing the traces I will need some configuration parameters like the content of registers ETMCR, ETMIDR, ETMCCER, ETMTRACEIDR. if my understanding of the implementation of perf is correct, it is collecting them from the sysfs files located in /sys/bus/event_source/devices/cs_etm/cpu0/mgmt/. which are global for the system. my question is what will happen if two process are requesting tracing at the same time? how to differentiate between traces going to one session from the second one? is it possible to get the parameters of a given session by some kind of ioctl request to the file descriptor we get out of sys_perf_open call?
I will publish those queries in the linaro coresight and gdb forums, I wanted first to align with you especially on the organizational issues, before going to a bigger round.
Thanks for your support Zied Guermazi