[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/7] target-arm: mark up cpregs for no-migrate o

From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 3/7] target-arm: mark up cpregs for no-migrate or raw access
Date: Thu, 30 May 2013 23:27:01 +0100

On 30 May 2013 23:13, Christoffer Dall <address@hidden> wrote:
> What happens with registers which don't have the raw_write function set
> (even though the write function imposes some access checks or has side
> effects) and also is not marked as ARM_CP_NO_MIGRATE,

In the general case what happens is that we probably don't
sync (or migrate, for TCG) the register properly, because
we'll use the standard write function and get whatever it
does. (Note that mistakes in annotation don't affect KVM
migration because we always trust the kernel's register
list and values and work with them directly; we don't indirect
through the TCG CPUState structures to migrate the data.)

The alternative would seem to be to require a raw_read/write
function to be explicitly specified if there's a read/write
function (even if it's specified to be the same thing), but
that seemed to me like it would add a lot of boilerplate for
most register descriptions. Do you think it would be better
anyway, or do you have a better idea?

> CONTEXTIDR seems to be such an example. ?

In this specific case I decided it was safe to let the non-raw
write function do a tlb_flush(). Looking again that is kinda
expensive though, so we should probably mark these registers
up with raw_write functions.

-- PMM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]