}
}
+ /* No params? Skip this record. */
+ if ( hdr.count == 0 )
+ return 0;
+
rc = write_split_record(ctx, &rec, entries, hdr.count * sizeof(*entries));
if ( rc )
PERROR("Failed to write HVM_PARAMS record");
return -1;
}
+ /* No content? Skip the record. */
+ if ( domctl.u.ext_vcpucontext.size == 0 )
+ return 0;
+
return write_split_record(ctx, &rec, &domctl.u.ext_vcpucontext,
domctl.u.ext_vcpucontext.size);
}
goto err;
}
+ /* No xsave state? Skip this record. */
+ if ( domctl.u.vcpuextstate.size == 0 )
+ goto out;
+
rc = write_split_record(ctx, &rec, buffer, domctl.u.vcpuextstate.size);
if ( rc )
goto err;
goto err;
}
+ /* No MSRs? Skip this record. */
+ if ( domctl.u.vcpu_msrs.msr_count == 0 )
+ goto out;
+
rc = write_split_record(ctx, &rec, buffer,
domctl.u.vcpu_msrs.msr_count *
sizeof(xen_domctl_vcpu_msr_t));