tlb0 vs tlb1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I saw this in uboot code:
* As a general rule, TLB0 is used for short-term TLBs, and TLB1 is used for
* long-term TLBs, so we use TLB0 here.
why is it a general rule that TLB0 is used for short-term and TLB1 is used for long-term? Does it have to do with IPROT (Invalidate Protect) is only in TLB1?
thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Uboot supports many processors. Let me know name of the uboot code file you refer to.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The comment is in the file start.S in the \arch\popwerpc\mcp85xx directory.
/*
Relocate CCSR, if necessary. We relocate CCSR if (obviously) the default
location is not where we want it. This typically happens on a 36-bit
system, where we want to move CCSR to near the top of 36-bit address space.
*
To move CCSR, we create two temporary TLBs, one for the old location, and
another for the new location. On CoreNet systems, we also need to create
a special, temporary LAW.
*
As a general rule, TLB0 is used for short-term TLBs, and TLB1 is used for
long-term TLBs, so we use TLB0 here.
*/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have a great day,
Yes this rule due to that
* IPROT bit is implemented in TLB1 only (prevents invalidations)
and
* TLB0 supports only 4-Kbyte pages, while TLB1) supports the nine (e500v1) or eleven (e500v2) page sizes up to 256-Mbyte (e500v1) and 4-Gbyte (e500v2).
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------