io apic question

Bharath Bhushan bharath.bhushan at gmail.com
Fri Sep 8 23:34:18 PDT 2006


Thanks a lot.

On 9/9/06, John Baldwin <jhb at freebsd.org> wrote:
> 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 at 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
>


-- 
Thanks
Bharath


More information about the freebsd-ia32 mailing list