[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