Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2022
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.63 KB | None | 0 0
  1. diff --git a/src/openpower/decoder/power_table.py b/src/openpower/decoder/power_table.py
  2. index da35cdb8..1f1d6cb3 100644
  3. --- a/src/openpower/decoder/power_table.py
  4. +++ b/src/openpower/decoder/power_table.py
  5. @@ -3,7 +3,8 @@ from openpower.decoder.power_enums import find_wiki_dir
  6.  from openpower.decoder.power_insn import (Database, MarkdownDatabase,
  7.                                            FieldsDatabase, PPCDatabase,
  8.                                            IntegerOpcode, PatternOpcode,
  9. -                                          parse, Section)
  10. +                                          parse, Section, BitSel,
  11. +                                          FieldsOpcode)
  12.  root = find_wiki_dir()
  13.  root = pathlib.Path(root)
  14.  mdwndb = MarkdownDatabase()
  15. @@ -48,11 +49,18 @@ def do_table(insns, section):
  16.          print ("search", i, hex(key))
  17.          # start hunting
  18.          for insn in insns:
  19. -            opcode = insn.opcode
  20. +            fields = []
  21. +            if insn.section.opcode:
  22. +                fields += [(insn.section.opcode.value, BitSel((0, 5)))]
  23. +                fields += [(insn.ppc.opcode.value, insn.section.bitsel)]
  24. +            else:
  25. +                fields += [(insn.ppc.opcode.value, insn.section.bitsel)]
  26. +            opcode = FieldsOpcode(fields)
  27.              if not isinstance(opcode, list):
  28.                  opcode = [opcode]
  29.              for op in opcode:
  30. -                if ((op.value & op.mask & xomask) == (key & op.mask & xomask)):
  31. +                if ((opcode.value & opcode.mask) ==
  32. +                        (key & opcode.mask)):
  33.                      print ("match", i, hex(key), insn.name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement