On 11/01/2015 04:57, sfel...@gmail.com wrote:
> +static const MemoryRegionOps rocker_mmio_ops = {
> +    .read = rocker_mmio_read,
> +    .write = rocker_mmio_write,
> +    .endianness = DEVICE_LITTLE_ENDIAN,
> +    .valid = {
> +        .min_access_size = 4,
> +        .max_access_size = 8,
> +    },
> +    .impl = {
> +        .min_access_size = 4,
> +        .max_access_size = 8,
> +    },
> +};

I suggest that you only use 32-bit registers in the internal
implementation, where writing to the low part of a 64-bit register only
writes to a latch.  You can then use .impl.max_access_size == 4 but keep
.valid.max_access_size == 8.

QEMU will then take care of passing 64-bit writes down as two 32-bit
writes, in increasing address.

Paolo

Reply via email to