[Libre-soc-bugs] [Bug 325] create POWER9 TRAP pipeline

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Jul 22 16:56:16 BST 2020


--- Comment #108 from Samuel A. Falvo II <kc5tja at arrl.net> ---
(In reply to Luke Kenneth Casson Leighton from comment #104)
> 1. we are following microwatt, which has not implemented hypervisor. 

After reading its readme, it also doesn't yet implement supervisor state
either.  Can you confirm whether we are aiming to implement supervisor state?

> 3. the bit fields are in *PowerISA* order and need reversing: this is why we
> use DecodeFields, why FieldSelectableInt exists.

In all the IBM specs I've read in the past, bit 0 (or, alternatively, the
smallest numbered bit) is considered to be the most significant bit for any
field.  This is a convention that dates back to before the IBM System/360.

In other words, if there is a 5-bit field, its bits are *labelled* according to
the top row, but have arithmetic *meaning* according to the bottom row:

    0 1 2 3 4

    M . . . L

    4 3 2 1 0

where M=2^4, and L=2^0, if those bits are set.

What you're saying contradicts my understanding, and what I've read before.  I
tried looking in the OpenPower ISA books for an explanation (it seems like
anyone wanting to write an assembler would have an absolute need to know this
data), but I found nothing!

This seems like a gaping hole in the spec, and I'd argue it needs top priority
for resolution by the OpenPower group.

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

More information about the libre-soc-bugs mailing list