qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] exec: move io_mem_read/write to memory.h


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] exec: move io_mem_read/write to memory.h
Date: Thu, 13 Jun 2013 18:39:33 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

Il 13/06/2013 18:26, Michael S. Tsirkin ha scritto:
> On Thu, Jun 13, 2013 at 06:04:41PM -0400, Paolo Bonzini wrote:
>> Il 13/06/2013 08:59, Michael S. Tsirkin ha scritto:
>>> implementation is in memory.c, move function
>>> to match. This allows use from places that
>>> don't pull in exec-all.h
>>
>> But they shouldn't be used. :)
>>
>> Everything except the current users (TCG, and address_space_rw and
>> friends) should go through exec.c.
>>
>> Paolo
> 
> OK but still. It's an interface that memory.c exports.
> 
> If you want to mark it as internal, make this clear
> in the name but IMO it's a bad idea to force
> everyone to use grep to find where the implementation
> of each function is.

Yes, I agree.   To add to the mess, io_mem_{read,write} are just
old-fashioned names for (static) memory_region_dispatch_{read,write}.

I need to understand whether/how the per-arch calls to
softmmu_template.h could be moved to exec.c.  Then io_mem_{read,write}
can just disappear, and memory_region_dispatch_{read,write} can move to
memory-internal.h.

Paolo

>>> Signed-off-by: Michael S. Tsirkin <address@hidden>
>>> ---
>>>
>>>  include/exec/exec-all.h | 5 -----
>>>  include/exec/memory.h   | 5 +++++
>>>  2 files changed, 5 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
>>> index 6362074..28cb37d 100644
>>> --- a/include/exec/exec-all.h
>>> +++ b/include/exec/exec-all.h
>>> @@ -367,11 +367,6 @@ bool is_tcg_gen_code(uintptr_t pc_ptr);
>>>  #if !defined(CONFIG_USER_ONLY)
>>>  
>>>  struct MemoryRegion *iotlb_to_region(hwaddr index);
>>> -uint64_t io_mem_read(struct MemoryRegion *mr, hwaddr addr,
>>> -                     unsigned size);
>>> -void io_mem_write(struct MemoryRegion *mr, hwaddr addr,
>>> -                  uint64_t value, unsigned size);
>>> -
>>>  void tlb_fill(CPUArchState *env1, target_ulong addr, int is_write, int 
>>> mmu_idx,
>>>                uintptr_t retaddr);
>>>  
>>> diff --git a/include/exec/memory.h b/include/exec/memory.h
>>> index 9e88320..edeb1f2 100644
>>> --- a/include/exec/memory.h
>>> +++ b/include/exec/memory.h
>>> @@ -888,6 +888,11 @@ void address_space_unmap(AddressSpace *as, void 
>>> *buffer, hwaddr len,
>>>                           int is_write, hwaddr access_len);
>>>  
>>>  
>>> +uint64_t io_mem_read(struct MemoryRegion *mr, hwaddr addr,
>>> +                     unsigned size);
>>> +void io_mem_write(struct MemoryRegion *mr, hwaddr addr,
>>> +                  uint64_t value, unsigned size);
>>> +
>>>  #endif
>>>  
>>>  #endif
>>>
> 
> 




reply via email to

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