linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Clarification on ARM V6 context switching code
@ 2011-06-02  8:11 Linu Cherian
  2011-06-02  9:59 ` Will Deacon
  0 siblings, 1 reply; 2+ messages in thread
From: Linu Cherian @ 2011-06-02  8:11 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

While trying to understand the v6 context switching code, found some
disparity with the code and the architecture specification/TRM. 

Here is my doubt,

1. According to the architecture spec(ARM DDI 0406B), while switching
the ASID, the architecture expects the TTBR to contain ONLY global
mappings except the below cases where we  
-  switch to a reserved context ID 
-  disable the non global mappings

as explained in section "Synchronization of changes of ASID and TTBR. 

In "cpu_v6_switch_mm" function  in arch/arm/mm/proc-v6.S,
we use TTBR0 during the switch which points to process page table
having both global and non global entries. We neither switch to a
reserved context ID nor disable non global mappings. 

This appears to be out of sync with the spec?  

If the above is true, how about using the reserved context id during
the switch ? 

2. In the same function, are we not missing a IMB sequence after
writing to the context ID register as expected by the  the ARM 11
MPCore TRM(ARM DDI 0360F, section  3.4.25 )  ?  


Please point out if i misunderstood the spec/TRM.

Thanks.



-- 
Linu cherian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-06-02  9:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-02  8:11 Clarification on ARM V6 context switching code Linu Cherian
2011-06-02  9:59 ` Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).