lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 12 Sep 2016 15:00:21 -0700
From:   David Daney <ddaney.cavm@...il.com>
To:     Asbjoern Sloth Toennesen <asbjorn@...jorn.st>
CC:     Ralf Baechle <ralf@...ux-mips.org>, linux-mips@...ux-mips.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] MIPS: Octeon: Use defines instead of magic numbers

On 09/12/2016 01:33 PM, Asbjoern Sloth Toennesen wrote:
> The patch will be followed by a similar patch to
> drivers/staging/octeon/ethernet.c
>
> Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@...jorn.st>
> ---
>   arch/mips/cavium-octeon/executive/cvmx-helper.c | 15 ++++++++++-----
>   arch/mips/include/asm/octeon/cvmx-ipd-defs.h    |  2 ++
>   2 files changed, 12 insertions(+), 5 deletions(-)
>

Nobody knows what the purpose of 
__cvmx_helper_errata_fix_ipd_ptr_alignment() is.  Since there are no 
commercially available devices with the effected hardware (cn30xx, 
cn31xx), perhaps we should just remove the whole thing.


> diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper.c b/arch/mips/cavium-octeon/executive/cvmx-helper.c
> index ff26d02..9b938c8 100644
> --- a/arch/mips/cavium-octeon/executive/cvmx-helper.c
> +++ b/arch/mips/cavium-octeon/executive/cvmx-helper.c
> @@ -46,6 +46,8 @@
>   #include <asm/octeon/cvmx-smix-defs.h>
>   #include <asm/octeon/cvmx-asxx-defs.h>
>
> +#include <linux/if_ether.h>
> +
>   /**
>    * cvmx_override_pko_queue_priority(int ipd_port, uint64_t
>    * priorities[16]) is a function pointer. It is meant to allow
> @@ -918,7 +920,8 @@ int __cvmx_helper_errata_fix_ipd_ptr_alignment(void)
>   		p64 = (uint64_t *) cvmx_phys_to_ptr(pkt_buffer.s.addr);
>   		p64[0] = 0xffffffffffff0000ull;
>   		p64[1] = 0x08004510ull;
> -		p64[2] = ((uint64_t) (size - 14) << 48) | 0x5ae740004000ull;
> +		p64[2] = ((uint64_t) (size - ETH_HLEN) << 48)
> +			| 0x5ae740004000ull;
>   		p64[3] = 0x3a5fc0a81073c0a8ull;
>
>   		for (i = 0; i < num_segs; i++) {
> @@ -954,11 +957,13 @@ int __cvmx_helper_errata_fix_ipd_ptr_alignment(void)
>   			       1 << INDEX(FIX_IPD_OUTPORT));
>
>   		cvmx_write_csr(CVMX_GMXX_RXX_JABBER
> -			       (INDEX(FIX_IPD_OUTPORT),
> -				INTERFACE(FIX_IPD_OUTPORT)), 65392 - 14 - 4);
> +				(INDEX(FIX_IPD_OUTPORT),
> +					INTERFACE(FIX_IPD_OUTPORT)),
> +				CVMX_IPD_MAX_MTU - ETH_HLEN - ETH_FCS_LEN);
>   		cvmx_write_csr(CVMX_GMXX_RXX_FRM_MAX
> -			       (INDEX(FIX_IPD_OUTPORT),
> -				INTERFACE(FIX_IPD_OUTPORT)), 65392 - 14 - 4);
> +				(INDEX(FIX_IPD_OUTPORT),
> +					INTERFACE(FIX_IPD_OUTPORT)),
> +				CVMX_IPD_MAX_MTU - ETH_HLEN - ETH_FCS_LEN);
>
>   		cvmx_pko_send_packet_prepare(FIX_IPD_OUTPORT,
>   					     cvmx_pko_get_base_queue
> diff --git a/arch/mips/include/asm/octeon/cvmx-ipd-defs.h b/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
> index 1193f73..a877917 100644
> --- a/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
> +++ b/arch/mips/include/asm/octeon/cvmx-ipd-defs.h
> @@ -28,6 +28,8 @@
>   #ifndef __CVMX_IPD_DEFS_H__
>   #define __CVMX_IPD_DEFS_H__
>
> +#define CVMX_IPD_MAX_MTU 65392
> +
>   #define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
>   #define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
>   #define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ