On Mon, 2013-09-02 at 15:42 +0100, Peter Maydell wrote: > 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. That makes sense. It was already a bug.Thanks!
> > Also this should probably be static, not global, and you If it will be implemented in the "pci core layer", sure Marcel > should put it in the same patch as the one which actually > creates the memory region. > > -- PMM >