io apic question

Bharath Bhushan bharath.bhushan at gmail.com
Fri Sep 8 18:34:40 UTC 2006


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.


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


More information about the freebsd-ia32 mailing list