Bug 983 - Support PowerPC SFFS compliance
Summary: Support PowerPC SFFS compliance
Alias: None
Product: Libre-SOC's second ASIC
Classification: Unclassified
Component: Milestones (show other bugs)
Version: unspecified
Hardware: PC Linux
: High enhancement
Assignee: Jacob Lifshay
Depends on: 1169 1173
  Show dependency treegraph
Reported: 2022-12-08 18:54 GMT by Dmitry Selyutin
Modified: 2024-01-26 22:41 GMT (History)
5 users (show)

See Also:
NLnet milestone: NLnet.2021-08-071.cavatools
total budget (EUR) for completion of task and all subtasks: 6000
budget (EUR) for this task, excluding subtasks' budget: 6000
parent task for budget allocation: 939
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:
red = { amount = 1100, submitted = 2023-12-21, paid=2024-01-25} lkcl = { amount = 1100, submitted = 2023-12-02, paid = 2023-12-19 } [jacob] amount = 3800 submitted = 2024-01-05 paid = 2024-01-12


Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Selyutin 2022-12-08 18:54:51 GMT
We need to continue works on Scalar Fixed-Point + Floating-Point Compliancy Subset (SFFS). The Linux distribution must be compiled and be able to run; this might be a multi-phase work due to the huge amount of packages to support.
In particular this stage should focus more on what has to be done to cavatools
to get it to run SFFS binaries: ELF linker loading of dynamic libraries.

this makes this task radically different from bug #999 which is focussed
on actually getting SFFS Distros to first compile and second run under
qemu and other VMs.


* DONE: bug #1169 ELF binary support in ISACaller
* DONE: mmap support for syscalls
* MOVED: bug #1228
         syscall "write to file using mmap" test
        (needs the default-overrides, bug #1173, bug #1174)
Comment 1 Dmitry Selyutin 2022-12-08 18:56:20 GMT
The works on this were started in the task https://bugs.libre-soc.org/show_bug.cgi?id=860. It is important to read the discussion there first.
Comment 2 Jacob Lifshay 2022-12-09 04:47:21 GMT
seems like the title should have SFFS, not LFFS. #939 should be updated to match.
Comment 3 Dmitry Selyutin 2022-12-09 11:04:34 GMT
Nice catch! Updated.
Comment 4 Luke Kenneth Casson Leighton 2022-12-11 17:12:21 GMT

Comment 5 Toshaan Bharvani 2022-12-13 09:50:47 GMT

Comment 6 Luke Kenneth Casson Leighton 2024-01-03 18:59:27 GMT
as a summary for this task: it turned out to be a massive body of
work far greater than anticipated. the groundwork was laid for
adding 100+ system calls.

mmap support and the beginnings of ELF support combined with enough
system calls were added to run statically-compiled ELF binaries. 

* https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/test_syscall.py;hb=fa603a1e9f2259d86acf4e9451937a000d099289
* https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/test_caller_syscall.py;hb=fa603a1e9f2259d86acf4e9451937a000d099289
  with actual unit tests here

future work in bug #1228 is to extend these beginnings further.
a start was made on that work already, and it had to be parked
as it is so large.
Comment 7 Jacob Lifshay 2024-01-03 20:46:42 GMT
(In reply to Luke Kenneth Casson Leighton from comment #6)
> as a summary for this task

> *
> https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/
> decoder/isa/test_syscall.py;hb=fa603a1e9f2259d86acf4e9451937a000d099289

i edited all links to link to a particular commit instead of HEAD, this is necessary because those files might move and/or change in a future commit and we want the links to not break. luke, please be more careful about doing that.