[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 10/22] exec: On AS changes, only flush affect
From: |
Edgar E. Iglesias |
Subject: |
Re: [Qemu-devel] [PATCH v1 10/22] exec: On AS changes, only flush affected CPU TLBs |
Date: |
Tue, 17 Dec 2013 10:57:19 +1000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Dec 16, 2013 at 01:54:11PM +0100, Andreas Färber wrote:
> Am 16.12.2013 09:05, schrieb address@hidden:
> > From: "Edgar E. Iglesias" <address@hidden>
> >
> > Signed-off-by: Edgar E. Iglesias <address@hidden>
> > ---
> > exec.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/exec.c b/exec.c
> > index edb6a43..203c8e4 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -1810,6 +1810,11 @@ static void tcg_commit(MemoryListener *listener)
> > reset the modified entries */
> > /* XXX: slow ! */
> > CPU_FOREACH(cpu) {
> > + /* FIXME: Disentangle the cpu.h circular files deps so we can
> > + directly get the right CPU from listener. */
>
> Was this circular dependency explained somewhere?
Not really, I dont remember the exact details of which files it involves
but basically MemoryListeners storage size is not known at the time
CPUState is declared. I've got a patch that fixes it but it involves
changing lots of files so I opted to leave it out if the first round
as this patch already is fairly intrusive...
Ill post that change later as a follow-up.
>
> > + if (cpu->tcg_as_listener != listener) {
> > + continue;
> > + }
>
> If this is to be committed (rather than fixed in a v2), please move to
> below variables as usual.
Fixed, thanks.
>
> Regards,
> Andreas
>
> > CPUArchState *env = cpu->env_ptr;
> >
> > tlb_flush(env, 1);
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [PATCH v1 07/22] qdev: Add qdev property type for AddressSpaces, (continued)
[Qemu-devel] [PATCH v1 09/22] target-microblaze: Add address-space property, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 10/22] exec: On AS changes, only flush affected CPU TLBs, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 11/22] exec: Make ldl_*_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 12/22] exec: Make ldq/ldub_*_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 13/22] exec: Make lduw_*_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 14/22] exec: Make stq_*_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 15/22] exec: Make stl_*_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 16/22] exec: Make stl_phys_notdirty input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 17/22] exec: Make stw_*_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 18/22] exec: Make stb_phys input an AddressSpace, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 19/22] exec: Make cpu_physical_memory_write_rom input an AS, edgar . iglesias, 2013/12/16
[Qemu-devel] [PATCH v1 20/22] exec: Make cpu_memory_rw_debug use the CPUs AS, edgar . iglesias, 2013/12/16