Re: [PATCH] sparc64: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE

From: David Miller
Date: Wed Nov 12 2014 - 13:32:27 EST


From: Khalid Aziz <khalid.aziz@xxxxxxxxxx>
Date: Wed, 12 Nov 2014 09:45:41 -0700

> sparc64: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE
>
> Bit 9 of TTE is CV (Cacheable in V-cache) on sparc v9 processor while
> the same bit 9 is MCDE (Memory Corruption Detection Enable) on M7
> processor. This creates a conflicting usage of the same bit. Kernel
> sets TTE.cv bit on all pages for sun4v architecture which works well
> for sparc v9, but sets memory corruption detection bit on M7 processor
> which is not the intent. This patch adds code to determine if kernel
> is running on M7 processor and takes steps to not enable memory
> corruption detection in TTE erroneously.
>
> Signed-off-by: Khalid Aziz <khalid.aziz@xxxxxxxxxx>

The hypervisor specification clearly defines bit 9 as V-Cache
cacheable.

Reusing this bit instead of doing something else was quite unwise if
you ask me.

I also really want a programmers manual for the M7 chip at this point
before I'm willing to apply any patches of this nature.

It's nearly impossible for me to sufficiently review all of the recent
binutils (for new instructions) and now kernel (redefined TTE bits)
changes without access to the programmer's manual.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/