io apic question

View: New views
5 Messages — Rating Filter:   Alert me  

io apic question

by bharath.bhushan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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?

In 5.5, I see that ioapic_create() calls pmap_createdev(), which
allocates cache-enabled kind of mapping.

Am I missing something here?

--
Thanks
Bharath
_______________________________________________
freebsd-ia32@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ia32
To unsubscribe, send any mail to "freebsd-ia32-unsubscribe@..."

Re: io apic question

by jhb-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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
_______________________________________________
freebsd-ia32@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ia32
To unsubscribe, send any mail to "freebsd-ia32-unsubscribe@..."

Re: io apic question

by bharath.bhushan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...> 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
_______________________________________________
freebsd-ia32@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ia32
To unsubscribe, send any mail to "freebsd-ia32-unsubscribe@..."

Re: io apic question

by jhb-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...> 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
_______________________________________________
freebsd-ia32@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ia32
To unsubscribe, send any mail to "freebsd-ia32-unsubscribe@..."

Re: io apic question

by bharath.bhushan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks a lot.

On 9/9/06, John Baldwin <jhb@...> 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@...> 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
_______________________________________________
freebsd-ia32@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ia32
To unsubscribe, send any mail to "freebsd-ia32-unsubscribe@..."