return;
}
- if (size == 28) {
+ if (size == 28 || size == 108) {
PROF_EVENT(84); /* XXX assign correct event number */
fpu_read_check_SLOWLY ( addr, 28 );
return;
return;
}
- if (size == 28) {
+ if (size == 28 || size == 108) {
PROF_EVENT(89); /* XXX assign correct event number */
fpu_write_check_SLOWLY ( addr, 28 );
return;
return dis_fpu_mem(cb, 8, rd, eip, first_byte);
case 2: /* FST double-real */
case 3: /* FSTP double-real */
- return dis_fpu_mem(cb, 8, wr, eip, first_byte);
+ return dis_fpu_mem(cb, 8, wr, eip, first_byte);
+ case 4: /* FRSTOR */
+ return dis_fpu_mem(cb, 108, rd, eip, first_byte);
+ case 6: /* FSAVE */
+ return dis_fpu_mem(cb, 108, wr, eip, first_byte);
+ case 7: /* FSTSW */
+ return dis_fpu_mem(cb, 2, wr, eip, first_byte);
default:
goto unhandled;
}