On 12/19/2017 05:46 AM, David Gibson wrote: > On Sat, Dec 09, 2017 at 09:43:20AM +0100, Cédric Le Goater wrote: >> Signed-off-by: Cédric Le Goater <c...@kaod.org> > > Hrm. I know I (indirectly) suggested this, but now that I see it, I'm > thinking adding return values here but not on the read side (which > would be awkward since they return the read values) seems like not a > great idea. > > So I'm ok with just open coding the dma_memory_write()s after all.
OK. It's not a big change. Maybe I can use : ldl_phys(CPU(cpu)->as, ...) stl_phys(CPU(cpu)->as, ...) in some cases, which would give us the correct ordering. The Pnv model does a few more peek/poke in RAM to use the XIVE structures which are larger, 8 * uint_64t for the XiveEQs and 16 for the XiveVPs. Thanks, C. > >> --- >> include/sysemu/dma.h | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/include/sysemu/dma.h b/include/sysemu/dma.h >> index c228c6651360..74a9558af39c 100644 >> --- a/include/sysemu/dma.h >> +++ b/include/sysemu/dma.h >> @@ -153,12 +153,12 @@ static inline void dma_memory_unmap(AddressSpace *as, >> dma_memory_read(as, addr, &val, (_bits) / 8); \ >> return _end##_bits##_to_cpu(val); \ >> } \ >> - static inline void st##_sname##_##_end##_dma(AddressSpace *as, \ >> + static inline int st##_sname##_##_end##_dma(AddressSpace *as, \ >> dma_addr_t addr, \ >> uint##_bits##_t val) \ >> { \ >> val = cpu_to_##_end##_bits(val); \ >> - dma_memory_write(as, addr, &val, (_bits) / 8); \ >> + return dma_memory_write(as, addr, &val, (_bits) / 8); \ >> } >> >> static inline uint8_t ldub_dma(AddressSpace *as, dma_addr_t addr) >