Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 2006 14:44:17 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        "Bharath Bhushan" <bharath.bhushan@gmail.com>
Cc:        freebsd-ia32@freebsd.org
Subject:   Re: io apic question
Message-ID:  <200609081444.17428.jhb@freebsd.org>
In-Reply-To: <29683db20609081134v3140b663ua376b59041881ed9@mail.gmail.com>
References:  <29683db20609012326i351eb455ja3b0aade681c7773@mail.gmail.com> <200609051446.36261.jhb@freebsd.org> <29683db20609081134v3140b663ua376b59041881ed9@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 08 September 2006 14:34, Bharath Bhushan wrote:
> Thanks John.
> 
> Can you please point me to the place where cache-disabled mapping is
> being done in 7.0?
> I looked at -- ioapic_create -> pmap_mapdev -> pmap_kenter ->
> pte_store(pte, pa | PG_RW | PG_V | pgeflag);
> 
> I could not find any references to PG_N in code related to pmap or to 
IOAPICs.

In 7.0 pmap_mapdev() calls pmap_mapdev_attr(..., PAT_UNCACHEABLE).
 
> On 9/6/06, John Baldwin <jhb@freebsd.org> wrote:
> > On Saturday 02 September 2006 02:26, Bharath Bhushan wrote:
> > > I am looking at 4.9 sources.
> > >
> > > When the local apic is mapped into SMPpt in
> > > sys/i386/i386/pmap.c:pmap_bootstrap(), it is mapped cache-disabled
> > > (PG_N).
> > >
> > > When the IO apics are being mapped into SMPpt in
> > > sys/i386/i386/mp_machdep.c:mptable_pass2(), it is *not* mapped
> > > cache-disabled.
> > >
> > > Why is this difference?
> >
> > Probably a bug.
> >
> > > In 5.5, I see that ioapic_create() calls pmap_createdev(), which
> > > allocates cache-enabled kind of mapping.
> > >
> > > Am I missing something here?
> >
> > In 7.0 we map them cache-disabled now.
> >
> > --
> > John Baldwin
> >
> 
> 
> -- 
> Thanks
> Bharath
> 

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200609081444.17428.jhb>