Skip to content

Commit

Permalink
s390x: Add some documentation in opcode list
Browse files Browse the repository at this point in the history
I find it really hard to grasp what each field in the opcode list means.
Slowly walking through its semantics myself, I figured I'd write a small
summary at the top of the file to make life easier for me and whoever
looks at the file next.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Richard Henderson <rth@twiddle.net>
  • Loading branch information
agraf committed May 13, 2015
1 parent c095ed7 commit 13f67dd
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions target-s390x/insn-data.def
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
/*
* Arguments to the opcode prototypes
*
* C(OPC, NAME, FMT, FAC, I1, I2, P, W, OP, CC)
* D(OPC, NAME, FMT, FAC, I1, I2, P, W, OP, CC, DATA)
*
* OPC = (op << 8) | op2 where op is the major, op2 the minor opcode
* NAME = name of the opcode, used internally
* FMT = format of the opcode (defined in insn-format.def)
* FAC = facility the opcode is available in (defined in DisasFacility)
* I1 = func in1_xx fills o->in1
* I2 = func in2_xx fills o->in2
* P = func prep_xx initializes o->*out*
* W = func wout_xx writes o->*out* somewhere
* OP = func op_xx does the bulk of the operation
* CC = func cout_xx defines how cc should get set
* DATA = immediate argument to op_xx function
*
* The helpers get called in order: I1, I2, P, OP, W, CC
*/

/* ADD */
C(0x1a00, AR, RR_a, Z, r1, r2, new, r1_32, add, adds32)
C(0xb9f8, ARK, RRF_a, DO, r2, r3, new, r1_32, add, adds32)
Expand Down

0 comments on commit 13f67dd

Please sign in to comment.