where can I find a description of *all* MIPS instructions
I can only partially answer the question: I'd recommend See MIPS Run by Dominic Sweetman, if you're not already referring to it. I have the first edition of the book, the second edition is now current.
- table 8.2 lists each opcode and expected behavior, differentiating assembler macros and listing the instructions they decompose to. Unfortunately it does not differentiate user vs kernel mode.
- table 8.6 lists the ISA level where each instruction was introduced, including obscure variants like the LSI MiniRISC
- syscall is present in the table, though lacking much description
The first edition mentions the kernel. supervisor, and user privilege levels but does not discuss what operations are allowed in each. I do not know what changes were made in the second edition.
Okay, I found something!
MIPS offers a set of "MIPS 32 reference manuals" which refer to the latest, standardized instruction set (MIPS32v2): here
These include just about everything, except the information about which version the instructions originated in :-(
WAIT A SEC...
This class website at Cornell includes links to what appears to be the same manual, but is in fact an older version of it, and volume 2 of that older version does in fact include information about when the instructions where first introduced. Woohoo!
Why would MIPS remove this information from the revised documentation? There doesn't seem to be any explanation in the revision history.