alternative_vcall(hvm_funcs.fpu_dirty_intercept);
else if ( type == X86EMUL_FPU_fpu )
{
- const typeof(curr->arch.xsave_area->fpu_sse) *fpu_ctxt =
- curr->arch.fpu_ctxt;
+ const fpusse_t *fpu_ctxt = curr->arch.fpu_ctxt;
/*
* Latch current register state so that we can back out changes
if ( aux )
{
- typeof(curr->arch.xsave_area->fpu_sse) *fpu_ctxt = curr->arch.fpu_ctxt;
+ fpusse_t *fpu_ctxt = curr->arch.fpu_ctxt;
bool dval = aux->dval;
int mode = hvm_guest_x86_mode(curr);
/* Restore x87 FPU, MMX, SSE and SSE2 state */
static inline void fpu_fxrstor(struct vcpu *v)
{
- const typeof(v->arch.xsave_area->fpu_sse) *fpu_ctxt = v->arch.fpu_ctxt;
+ const fpusse_t *fpu_ctxt = v->arch.fpu_ctxt;
/*
* Some CPUs don't save/restore FDP/FIP/FOP unless an exception
/* Save x87 FPU, MMX, SSE and SSE2 state */
static inline void fpu_fxsave(struct vcpu *v)
{
- typeof(v->arch.xsave_area->fpu_sse) *fpu_ctxt = v->arch.fpu_ctxt;
+ fpusse_t *fpu_ctxt = v->arch.fpu_ctxt;
unsigned int fip_width = v->domain->arch.x87_fip_width;
if ( fip_width != 4 )
__alignof(v->arch.xsave_area->fpu_sse));
if ( v->arch.fpu_ctxt )
{
- typeof(v->arch.xsave_area->fpu_sse) *fpu_sse = v->arch.fpu_ctxt;
+ fpusse_t *fpu_sse = v->arch.fpu_ctxt;
fpu_sse->fcw = FCW_DEFAULT;
fpu_sse->mxcsr = MXCSR_DEFAULT;
* accesses through both pointers alias one another, and the shorter form
* is used here.
*/
- typeof(xsave_area->fpu_sse) *fpu_sse = v->arch.fpu_ctxt;
+ fpusse_t *fpu_sse = v->arch.fpu_ctxt;
ASSERT(!xsave_area || xsave_area == v->arch.xsave_area);