linux-mips
[Top] [All Lists]

RE: 24k data cache, PIPT or VIPT?

To: "COLin" <colin@realtek.com>, <ralf@linux-mips.org>, <linux-mips@linux-mips.org>
Subject: RE: 24k data cache, PIPT or VIPT?
From: "David VomLehn (dvomlehn)" <dvomlehn@cisco.com>
Date: Fri, 21 Jan 2011 15:54:35 -0600
Authentication-results: rtp-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <AB43F607AA1BE0439402E9061AC9519D011EF513EB8D@rtitmbs7.realtek.com.tw>
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AQHLuUbVXlaQIiHjVkiVJGPYIadBqJPb+Qgg
Thread-topic: 24k data cache, PIPT or VIPT?

No, it just means that there is special hardware to detect aliases and handle them as if the addresses were not aliased.


-----Original Message-----
From: linux-mips-bounce@linux-mips.org on behalf of COLin
Sent: Fri 1/21/2011 12:52 AM
To: ralf@linux-mips.org; linux-mips@linux-mips.org
Subject: 24k data cache, PIPT or VIPT?


Hi all,
I found that there is this information while Linux is booting:
    [Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes]
I thought the latest MIPS CPUs all use VIPT. I didn't find anything about PIPT on 24k Software User's Manual, either.
The code related to this is here:
        case CPU_24K:
        case CPU_34K:
        case CPU_74K:
        case CPU_1004K:
                if ((read_c0_config7() & (1 << 16))) {
                        /* effectively physically indexed dcache,
                           thus no virtual aliases. */
                        c->dcache.flags |= MIPS_CACHE_PINDEX;
                        break;

The 16's bit of config 7 register:
    [Alias removed: This bit indicates that the data cache is organized to
avoid virtual aliasing problems. This bit is only set if the data cache
config and MMU type would normally cause aliasing - i.e., only for
the 32KB and larger data cache and TLB-based MMU.]

Does it imply that the CPU is using PIPT?

Thanks and regards,
Colin





<Prev in Thread] Current Thread [Next in Thread>