[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/3] target-i386: Use C struct for xsave area
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/3] target-i386: Use C struct for xsave area layout, offsets & sizes |
Date: |
Tue, 1 Dec 2015 13:25:35 -0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Dec 01, 2015 at 04:09:44PM +0100, Paolo Bonzini wrote:
>
>
> On 30/11/2015 18:34, Eduardo Habkost wrote:
> > target-i386/cpu.c:ext_save_area uses magic numbers for the xsave
> > area offets and sizes, and target-i386/kvm.c:kvm_{put,get}_xsave()
> > uses offset macros and bit manipulation to access the xsave area.
> > This series changes both to use C structs for those operations.
> >
> > I still need to figure out a way to write unit tests for the new
> > code. Maybe I will just copy and paste the new and old functions,
> > and test them locally (checking if they give the same results
> > when translating blobs of random bytes).
>
> I think it's easier to use small guests (i.e. kvm-unit-tests) to test
> this code.
I agree it's easier, but how likely it is to catch bugs in the
save/load code? If the code corrupts a register, we need to
trigger a save/load cycle at the exact moment the guest code is
using that register. Do we have something that helps us
repeatedly save/load CPU state while kvm-unit-tests is running?
--
Eduardo