Re: [PATCH 35/37] Set c0 status for ST0_KX on Cavium OCTEON.

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

 



On Thu, Oct 23, 2008 at 05:56:59PM -0700, ddaney@xxxxxxxxxxxxxxxxxx wrote:

> Always set ST0_KX on Octeon since IO addresses are at 64bit addresses.
> Keep in mind this also moves the TLB handler.
> 
> Signed-off-by: Tomaso Paoletti <tpaoletti@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Paul Gortmaker <Paul.Gortmaker@xxxxxxxxxxxxx>
> Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx>

> -#ifdef CONFIG_64BIT
> +#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_CAVIUM_OCTEON)
> +	/*
> +	 * Note: We always set ST0_KX on Octeon since IO addresses are at
> +	 * 64bit addresses. Keep in mind this also moves the TLB handler.
> +	 */
>  	setup_c0_status ST0_KX 0

That's a bit odd - on 64-bit kernels KX would be set anyway and on 32-bit
kernels would be corrupted by exceptions or interrupts, so 64-bit
addresses are not safe to use on 32-bit kernels for most part.

32-bit virtual addresses mapped to a non-compat address otoh will work fine
without KX set.

  Ralf


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux