Bug 983 - Support PowerPC SFFS compliance
Summary: Support PowerPC SFFS compliance
Status: RESOLVED FIXED
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
URL:
Depends on: 1169 1173
Blocks:
  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


Attachments

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
  https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/syscall/syscall_cases.py;hb=fa603a1e9f2259d86acf4e9451937a000d099289

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

thanks.
> *
> 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.