qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH v2 01/19] dma-helpers: add a return value to store


From: Cédric Le Goater
Subject: Re: [Qemu-ppc] [PATCH v2 01/19] dma-helpers: add a return value to store helpers
Date: Tue, 19 Dec 2017 07:43:48 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

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 <address@hidden>
> 
> 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)
> 




reply via email to

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