[Libre-soc-bugs] [Bug 981] Support PowerPC ABI in cavatools

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Sep 22 20:33:30 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=981

--- Comment #22 from Andrey Miroshnikov <andrey at technepisteme.xyz> ---
(In reply to Dmitry Selyutin from comment #20)
> On Python generation part. No idea why we'd want to generate the C Python
> module, because we already have what we need in plain Python. No, calling C
> method is not going to save us that many cycles, because we are already
> going call C bindings (ctypes, check the committed code).

You're right, thanks for reminding me.

As you have already written the Python code needed for syscall access (see bug
#982, comments 28-46), no more Python work is required for this task.
https://git.libre-soc.org/?p=openpower-isa.git;a=tree;f=src/openpower/syscalls;hb=180638ac02637f38301eb97d15a8590293b3a3a4 

> 
> The last but not the least, on the investigation part. I wouldn't have been
> able to complete this work without investigation and research. Obviously I
> had to investigate cavatools code before commiting anything there; that's
> simply how the code gets written. My conclusions for now are as follows:
> 

The best part Dmitry, is this is *exactly* the kind of research we find very
useful! :-)

> 1. cavatools would be a challenging choice for us. It is RISCV-centric in
> the bad sense: it does not provide an opportunity to introduce other
> architectures there other than by extensively modifying the code.
> 2. The code quality leaves much to be desired. The way the code is written
> makes it look like a pet project, probably which it indeed is. Most of the
> code is written ad-hoc. Even syscall numbers were hardcoded as plain
> numbers. I'm not even speaking about the API part, lack of header guards,
> naming and style.
> 3. What can be taken are concepts and ideas. These are not invented by
> cavatools, sorry, nothing new.

Although I knew it was a RISCV-only simulator, I had no idea about such
shortcomings. This is incredibly valuable, and worth the full budget of this
task in research alone.
As a result we will need to rethink our future strategy (and any future grants
related to simulation).

I'm happy to declare this task complete, given the produced C source code, and
the findings about cavatools itself. Luke, are you in agreement?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list