Re: [PATCH 2/3] ARM: correctly identify ARMv6 K/Z

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15:26 Wed 01 Mar     , Lucas Stach wrote:
> The ARMv6 K/Z derivatives have a v7 compatible MMU, but all other parts
> (including the cache handling) is still at v6. As we don't make use of
> the more advanced features of the v7 MMU in Barebox, it's okay to just
> override this to properly identify the CPU as ARMv6.
evenif we do not use it now I do not liek the idea to report it as ARMv6

It will be better to report it correctly

Best Regards,
J.
> 
> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> ---
>  arch/arm/cpu/cpuinfo.c             | 8 ++++++++
>  arch/arm/include/asm/system_info.h | 8 ++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/arch/arm/cpu/cpuinfo.c b/arch/arm/cpu/cpuinfo.c
> index 86e19d9780d5..175475b038dc 100644
> --- a/arch/arm/cpu/cpuinfo.c
> +++ b/arch/arm/cpu/cpuinfo.c
> @@ -165,6 +165,14 @@ static int do_cpuinfo(int argc, char *argv[])
>  	} else
>  		cpu_arch = CPU_ARCH_UNKNOWN;
>  
> +	/*
> +	 * Special case for ARMv6 (K/Z) (has v7 compatible MMU, but is v6
> +	 * otherwise). The below check just matches all ARMv6, as done in the
> +	 * Linux kernel.
> +	 */
> +	if ((mainid & 0x7f000) == 0x7b000)
> +		cpu_arch = CPU_ARCH_ARMv6;
> +
>  	switch (cpu_arch) {
>  	case CPU_ARCH_ARMv3:
>  		architecture = "v3";
> diff --git a/arch/arm/include/asm/system_info.h b/arch/arm/include/asm/system_info.h
> index 25fffd268177..a27b79e6dd08 100644
> --- a/arch/arm/include/asm/system_info.h
> +++ b/arch/arm/include/asm/system_info.h
> @@ -188,6 +188,14 @@ static inline int arm_early_get_cpu_architecture(void)
>  		cpu_arch = CPU_ARCH_UNKNOWN;
>  #endif
>  
> +	/*
> +	 * Special case for ARMv6 (K/Z) (has v7 compatible MMU, but is v6
> +	 * otherwise). The below check just matches all ARMv6, as done in the
> +	 * Linux kernel.
> +	 */
> +	if ((read_cpuid_id() & 0x7f000) == 0x7b000)
> +		cpu_arch = CPU_ARCH_ARMv6;
> +
>  	return cpu_arch;
>  }
>  
> -- 
> 2.11.0
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/barebox

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux