x86: Correct translation of some rdgsbase and wrgsbase encodings

It looks like there was a transcription error when writing this code
initially. The code previously only decoded src or dst of rax. This
resolves
https://bugs.launchpad.net/qemu/+bug/1719984.

Backports commit e0dd5fd41a1a38766009f442967fab700d2d0550 from qemu
This commit is contained in:
Todd Eisenberger 2018-03-05 02:05:19 -05:00 committed by Lioncash
parent 0cb01a52bd
commit 75bdfd85a7
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -8861,7 +8861,14 @@ case 0x101:
case 0xc5:
case 0xc6:
case 0xc7: /* rdfsbase (f3 0f ae /0) */
case 0xc8: /* rdgsbase (f3 0f ae /1) */
case 0xc8:
case 0xc9:
case 0xca:
case 0xcb:
case 0xcc:
case 0xcd:
case 0xce:
case 0xcf: /* rdgsbase (f3 0f ae /1) */
case 0xd0:
case 0xd1:
case 0xd2:
@ -8870,7 +8877,14 @@ case 0x101:
case 0xd5:
case 0xd6:
case 0xd7: /* wrfsbase (f3 0f ae /2) */
case 0xd8: /* wrgsbase (f3 0f ae /3) */
case 0xd8:
case 0xd9:
case 0xda:
case 0xdb:
case 0xdc:
case 0xdd:
case 0xde:
case 0xdf: /* wrgsbase (f3 0f ae /3) */
if (CODE64(s)
&& (prefixes & PREFIX_REPZ)
&& !(prefixes & PREFIX_LOCK)