qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v16 00/23] i386 cleanup PART 2


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v16 00/23] i386 cleanup PART 2
Date: Sun, 14 Mar 2021 01:00:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0

Hi Claudio,

On 2/4/21 5:39 PM, Claudio Fontana wrote:
> v15 -> v16:
> 
> * cpu: Move synchronize_from_tb() to tcg_ops:
>   - adjusted comments (Alex)
> 
> * cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass:
>   - remove forward decl. of AccelCPUClass, should be in a later patch. (Alex)
>   - simplified comment about tcg_ops in struct CPUClass (Alex)
>   - remove obsolete comment about ARM blocking TCGCPUOps from being const.
>     (Alex)
> 
> * accel: replace struct CpusAccel with AccelOpsClass:
>   - reworded commit message to be clearer about the objective (Alex)
> 
> * accel: introduce AccelCPUClass extending CPUClass
>   - reworded commit message to be clearer about the objective (Alex)
> 
> * hw/core/cpu: call qemu_init_vcpu in cpu_common_realizefn:
>   - dropped this patch (Alex, Philippe)
> 
>   will try again later, also in the context of:
>   https://www.mail-archive.com/qemu-devel@nongnu.org/msg686480.html
> 
> * accel: introduce new accessor functions
>   - squashed comments in previous patch introducing accel-cpu.h. (Philippe)
> 
> * accel-cpu: make cpu_realizefn return a bool
>   - split in two patches, separating the change to the phys_bits check
>     (Philippe)

I am looking at this code:

$ git grep tcg_ softmmu/physmem.c
softmmu/physmem.c:153:static void
tcg_log_global_after_sync(MemoryListener *listener);
softmmu/physmem.c:154:static void tcg_commit(MemoryListener *listener);
softmmu/physmem.c:161: * @tcg_as_listener: listener for tracking changes
to the AddressSpace
softmmu/physmem.c:167:    MemoryListener tcg_as_listener;
softmmu/physmem.c:590:static void tcg_iommu_unmap_notify(IOMMUNotifier
*n, IOMMUTLBEntry *iotlb)
softmmu/physmem.c:606:static void tcg_register_iommu_notifier(CPUState *cpu,
softmmu/physmem.c:640:                            tcg_iommu_unmap_notify,
softmmu/physmem.c:654:void tcg_iommu_free_notifier_list(CPUState *cpu)
softmmu/physmem.c:668:void tcg_iommu_init_notifier_list(CPUState *cpu)
softmmu/physmem.c:698:        tcg_register_iommu_notifier(cpu, iommu_mr,
iommu_idx);
softmmu/physmem.c:761:    if (tcg_enabled()) {
softmmu/physmem.c:762:
newas->tcg_as_listener.log_global_after_sync = tcg_log_global_after_sync;
softmmu/physmem.c:763:        newas->tcg_as_listener.commit = tcg_commit;
softmmu/physmem.c:764:
memory_listener_register(&newas->tcg_as_listener, as);
softmmu/physmem.c:891:    assert(tcg_enabled());
softmmu/physmem.c:904:    if (cc->tcg_ops->adjust_watchpoint_address) {
softmmu/physmem.c:906:        addr =
cc->tcg_ops->adjust_watchpoint_address(cpu, addr, len);
softmmu/physmem.c:927:                if (wp->flags & BP_CPU &&
cc->tcg_ops->debug_check_watchpoint &&
softmmu/physmem.c:928:
!cc->tcg_ops->debug_check_watchpoint(cpu, wp)) {
softmmu/physmem.c:1004:    assert(tcg_enabled());
softmmu/physmem.c:1059:    if (dirty && tcg_enabled()) {
softmmu/physmem.c:1107:    if (tcg_enabled()) {
softmmu/physmem.c:2605:static void
tcg_log_global_after_sync(MemoryListener *listener)
softmmu/physmem.c:2634:        cpuas = container_of(listener,
CPUAddressSpace, tcg_as_listener);
softmmu/physmem.c:2639:static void tcg_commit(MemoryListener *listener)
softmmu/physmem.c:2644:    assert(tcg_enabled());
softmmu/physmem.c:2647:    cpuas = container_of(listener,
CPUAddressSpace, tcg_as_listener);
softmmu/physmem.c:2700:        assert(tcg_enabled());
softmmu/physmem.c:3000:    if (tcg_enabled()) {

which reminded me the starter generic part of your effort
(already merged).

Do you have plans for this code?

Similarly:

$ git grep kvm_ softmmu/physmem.c
softmmu/physmem.c:752:    assert(asidx == 0 || !kvm_enabled());
softmmu/physmem.c:1295:    if (kvm_enabled())
softmmu/physmem.c:1296:        kvm_flush_coalesced_mmio_buffer();
softmmu/physmem.c:1566:    if (kvm_enabled()) {
softmmu/physmem.c:2046:    if (kvm_enabled() && !kvm_has_sync_mmu()) {

Thanks,

Phil.



reply via email to

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