]> Git Repo - qemu.git/commit
target-mips: Correct the handling of writes to CP0.Status for MIPSr6
authorMaciej W. Rozycki <[email protected]>
Mon, 10 Nov 2014 13:45:41 +0000 (13:45 +0000)
committerLeon Alrae <[email protected]>
Tue, 16 Dec 2014 12:45:19 +0000 (12:45 +0000)
commitf88f79ec9df06d26d84e1d2e0c02d2634b4d8583
treebb05d8347d736583dddb8375bcb371bd87eebf2e
parentc3577479815f5bcf9d38993967bca2115af245d8
target-mips: Correct the handling of writes to CP0.Status for MIPSr6

Correct these issues with the handling of CP0.Status for MIPSr6:

* only ignore the bit pattern of 0b11 on writes to CP0.Status.KSU, that
  is for processors that do implement Supervisor Mode, let the bit
  pattern be written to CP0.Status.UM:R0 freely (of course the value
  written to read-only CP0.Status.R0 will be discarded anyway); this is
  in accordance to the relevant architecture specification[1],

* check the newly written pattern rather than the current contents of
  CP0.Status for the KSU bits being 0b11,

* use meaningful macro names to refer to CP0.Status bits rather than
  magic numbers.

References:

[1] "MIPS Architecture For Programmers, Volume III: MIPS64 / microMIPS64
    Privileged Resource Architecture", MIPS Technologies, Inc., Document
    Number: MD00091, Revision 6.00, March 31, 2014, Table 9.45 "Status
    Register Field Descriptions", pp. 210-211.

Signed-off-by: Maciej W. Rozycki <[email protected]>
Reviewed-by: Leon Alrae <[email protected]>
Signed-off-by: Leon Alrae <[email protected]>
target-mips/op_helper.c
This page took 0.025215 seconds and 4 git commands to generate.