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:	Tue, 20 Jan 2015 11:09:08 +0000
From:	David Laight <David.Laight@...LAB.COM>
To:	'Christophe Leroy' <christophe.leroy@....fr>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Paul Mackerras <paulus@...ba.org>,
	"Michael Ellerman" <mpe@...erman.id.au>,
	"scottwood@...escale.com" <scottwood@...escale.com>
CC:	"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 07/11] powerpc/8xx: macro for handling CPU15 errata

From Christophe Leroy
> Having a macro will help keep clear code.

It might remove an #if but it doesn't really help.
All it means is that anyone reading the code has to hunt for
the definition before proceeding.

Some comment about what (and why) the extra code is needed
might help.

...
> +
> +#ifdef CONFIG_8xx_CPU15
> +#define DO_8xx_CPU15(tmp, addr)	\
> +	addi	tmp, addr, PAGE_SIZE;	\
> +	tlbie	tmp;			\
> +	addi	tmp, addr, PAGE_SIZE;	\

You've even transcribed this incorrectly.

Clearly not tested :-)

	David

> +	tlbie	tmp
> +#else
> +#define DO_8xx_CPU15(tmp, addr)
> +#endif
> +
>  InstructionTLBMiss:
>  #ifdef CONFIG_8xx_CPU6
>  	mtspr	SPRN_DAR, r3
> @@ -304,12 +315,7 @@ InstructionTLBMiss:
>  	EXCEPTION_PROLOG_0
>  	mtspr	SPRN_SPRG_SCRATCH2, r10
>  	mfspr	r10, SPRN_SRR0	/* Get effective address of fault */
> -#ifdef CONFIG_8xx_CPU15
> -	addi	r11, r10, PAGE_SIZE
> -	tlbie	r11
> -	addi	r11, r10, -PAGE_SIZE
> -	tlbie	r11
> -#endif
> +	DO_8xx_CPU15(r11, r10)
> 
>  	/* If we are faulting a kernel address, we have to use the
>  	 * kernel page tables.
> --
> 2.1.0
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@...ts.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ