1. 16 Jul, 2021 3 commits
    • Alyssa Rosenzweig's avatar
      pan/va: Add Valhall assembler · abb7f827
      Alyssa Rosenzweig authored
      
      
      This Python script acts as a standalone assembler. It takes Valhall
      instructions with Mesa-flavour syntax, parses them, errors out if there
      are syntax errors, and writes out an assembled binary if there are not.
      It also is available as a programmatic interface for automated testing.
      
      While this attempts to handle syntax errors, it does not check
      semantics. It will happily compile programs that fault, provided each
      instruction locally 'looks' plausible.
      
      The code itself is quite small, despite supporting most of the known
      ISA, because the syntax is regular and the heavylifting is done by
      ISA.xml and valhall.py.
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@collabora.com>
      abb7f827
    • Alyssa Rosenzweig's avatar
      pan/va: Add ISA.xml parser and support code · 9e0a4037
      Alyssa Rosenzweig authored
      
      
      This Python module parses the ISA.xml file added in the previous
      commits, extracts all the useful information, and combines it with
      extra annotations. In total, it provides a programmatic way to interface
      with the Valhall instruction set.
      
         from valhall import instructions, enums
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@collabora.com>
      9e0a4037
    • Alyssa Rosenzweig's avatar
      pan/va: Add initial ISA.xml for Valhall · f01d28b6
      Alyssa Rosenzweig authored
      
      
      This handwritten file is the product of over a hundred hours of
      reverse-engineering and represents the sum of what I've learned about
      the Valhall architecture. It will be used in the next commits as the
      backbone of a Valhall toolchain.
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@collabora.com>
      f01d28b6
  2. 15 Jul, 2021 24 commits
  3. 14 Jul, 2021 13 commits