On 2 September 2013 15:13, Marcel Apfelbaum <marce...@redhat.com> wrote:
> +const MemoryRegionOps pci_unassigned_mem_ops = {
> +    .valid.accepts = pci_unassigned_mem_accepts,
> +    .endianness = DEVICE_NATIVE_ENDIAN,
> +};

This is wrong -- you want reads and writes to result in
your PCI-spec-defined behaviour, but if you provide
an accepts callback and it returns false then you get
"machine dependent behaviour such as a machine check
exception". What you want is to provide .read and .write
callbacks which behave as the PCI spec mandates.

Also this should probably be static, not global, and you
should put it in the same patch as the one which actually
creates the memory region.

-- PMM

Reply via email to