[Libre-soc-bugs] [Bug 1259] New: PPC and SVP64 assembly/disassembly code generation

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Mar 6 18:55:26 GMT 2024


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

            Bug ID: 1259
           Summary: PPC and SVP64 assembly/disassembly code generation
           Product: Libre-SOC's first SoC
           Version: unspecified
          Hardware: All
                OS: All
            Status: CONFIRMED
          Severity: enhancement
          Priority: ---
         Component: Milestones
          Assignee: lkcl at lkcl.net
          Reporter: ghostmansd at gmail.com
                CC: libre-soc-bugs at lists.libre-soc.org
   NLnet milestone: ---

Introduction (part of MoU)

This project intends to extend and improve the PPC assembly/disassembly so that
the the assembly and diassembly are generated automatically based on the
human-readable specification. The overall idea is that the human-readable
specification for PPC and SVP64 assembly and disassembly is converted into C
code. The code must be generated in a framework-independent way so that it can
be reused by LibreSOC and other projects, most importantly binutils. We intend
to complete the goal set by LibreSOC project and fill the gaps currently
missing.

----

Task list

---------

# libopid: SVP64 support

libopid currently supports major parts of vanilla PPC assembly and disassembly
(at least pure 32-bit instructions we currently have enumerated in
openpower-isa repository). When we have everything autogenerated, it's time to
make libopid support SVP64 instructions as well.

Budget: 7500
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1200

---------

# binutils: switch PPC code to libopid

binutils code base has its own implementation for PPC SVP64 extensions support.
This leads to code duplication, inability to follow the specs and complicates
the maintenance. Instead of code duplication, we suggest to switch to libopid,
C library, once SVP64 support is completed.

Budget: 7500
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1201

---------

# insndb: introduce human-readable fields format

Currently we hard-code all possible specifications and field mappings. It's
difficult to manage these and keep them in sync with the documentation. We must
introduce some format to generate the documentation and the code instead.

Budget: 12500
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1199

---------

# maintenance: decouple insndb and libopid

Currently insndb and libopid are parts of our openpower-isa repository.
However, this is inconvenient for other projects which will rely on these tools
(most notably binutils). Plus, keeping these into openpower-isa makes no sense
once we support RISC-V architecture. The task is complicated by the fact that
libopid and insndb make use of other openpower-isa components; each of these
uses must be addressed separately.

Budget: 5000
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1202

---------

# tests: cross-check PPC Simple-V assembly between binutils and insndb

We don't have tests for binutils which check the most essential SVP64. At least
assembly and disassembly as present in openpower-isa tests must be covered.

Budget: 7500
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1203

---------

# insndb: support PPC instruction aliases

insndb currently lacks support for instruction aliases. At least the
instructions mentioned as aliases for vanilla PPC must be supported so that
both our code and binutils can make use of it.

Budget: 4000
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1140

---------

# administrative activities

Any task includes activities related to issue tracking and monitoring. This
includes not only organizing the tasks, but also providing comments to all
subtasks, participating in dicussions, budget synchronization and similar
activities which rather fit the main task than any of the standalone subtasks.

Budget: 3000
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1257

---------

# documentation, conferences and papers

Participation in conferences and other public events, submitting papers and
articles, and other activities of that kind.

Budget: 3000
URL: https://bugs.libre-soc.org/show_bug.cgi?id=1258

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


More information about the libre-soc-bugs mailing list