selftests/powerpc: Move shared headers into new include dir
There are some functions, especially register related, which can be shared across multiple selftests/powerpc test directories. This patch creates a new include directory to store those shared files, so that the file layout becomes more neat. Signed-off-by: Simon Guo <wei.guo.simon@gmail.com> [mpe: Reworked to move the headers only] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
efe71a67b5
commit
15ec3997aa
|
@ -8,7 +8,7 @@ ifeq ($(ARCH),powerpc)
|
||||||
|
|
||||||
GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
|
GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
|
||||||
|
|
||||||
CFLAGS := -std=gnu99 -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
|
CFLAGS := -std=gnu99 -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS)
|
||||||
|
|
||||||
export CFLAGS
|
export CFLAGS
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#ifdef __powerpc__
|
#ifdef __powerpc__
|
||||||
#include <altivec.h>
|
#include <altivec.h>
|
||||||
#endif
|
#endif
|
||||||
#include "../utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
static unsigned int timeout = 30;
|
static unsigned int timeout = 30;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "../utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
#define MAX_LEN 8192
|
#define MAX_LEN 8192
|
||||||
#define MAX_OFFSET 16
|
#define MAX_OFFSET 16
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
#include <ppc-asm.h>
|
#include <ppc-asm.h>
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
|
|
||||||
#define LOAD_REG_IMMEDIATE(reg,expr) \
|
#define LOAD_REG_IMMEDIATE(reg, expr) \
|
||||||
lis reg,(expr)@highest; \
|
lis reg, (expr)@highest; \
|
||||||
ori reg,reg,(expr)@higher; \
|
ori reg, reg, (expr)@higher; \
|
||||||
rldicr reg,reg,32,31; \
|
rldicr reg, reg, 32, 31; \
|
||||||
oris reg,reg,(expr)@high; \
|
oris reg, reg, (expr)@high; \
|
||||||
ori reg,reg,(expr)@l;
|
ori reg, reg, (expr)@l;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note: These macros assume that variables being stored on the stack are
|
* Note: These macros assume that variables being stored on the stack are
|
||||||
|
@ -20,7 +20,8 @@
|
||||||
#define STACK_FRAME_MIN_SIZE 32
|
#define STACK_FRAME_MIN_SIZE 32
|
||||||
#define STACK_FRAME_TOC_POS 24
|
#define STACK_FRAME_TOC_POS 24
|
||||||
#define __STACK_FRAME_PARAM(_param) (32 + ((_param)*8))
|
#define __STACK_FRAME_PARAM(_param) (32 + ((_param)*8))
|
||||||
#define __STACK_FRAME_LOCAL(_num_params,_var_num) ((STACK_FRAME_PARAM(_num_params)) + ((_var_num)*8))
|
#define __STACK_FRAME_LOCAL(_num_params, _var_num) \
|
||||||
|
((STACK_FRAME_PARAM(_num_params)) + ((_var_num)*8))
|
||||||
#else
|
#else
|
||||||
#define STACK_FRAME_MIN_SIZE 112
|
#define STACK_FRAME_MIN_SIZE 112
|
||||||
#define STACK_FRAME_TOC_POS 40
|
#define STACK_FRAME_TOC_POS 40
|
||||||
|
@ -30,14 +31,16 @@
|
||||||
* Caveat: if a function passed more than 8 doublewords, the caller will have
|
* Caveat: if a function passed more than 8 doublewords, the caller will have
|
||||||
* made more space... which would render the 112 incorrect.
|
* made more space... which would render the 112 incorrect.
|
||||||
*/
|
*/
|
||||||
#define __STACK_FRAME_LOCAL(_num_params,_var_num) (112 + ((_var_num)*8))
|
#define __STACK_FRAME_LOCAL(_num_params, _var_num) \
|
||||||
|
(112 + ((_var_num)*8))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Parameter x saved to the stack */
|
/* Parameter x saved to the stack */
|
||||||
#define STACK_FRAME_PARAM(var) __STACK_FRAME_PARAM(var)
|
#define STACK_FRAME_PARAM(var) __STACK_FRAME_PARAM(var)
|
||||||
|
|
||||||
/* Local variable x saved to the stack after x parameters */
|
/* Local variable x saved to the stack after x parameters */
|
||||||
#define STACK_FRAME_LOCAL(num_params,var) __STACK_FRAME_LOCAL(num_params,var)
|
#define STACK_FRAME_LOCAL(num_params, var) \
|
||||||
|
__STACK_FRAME_LOCAL(num_params, var)
|
||||||
#define STACK_FRAME_LR_POS 16
|
#define STACK_FRAME_LR_POS 16
|
||||||
#define STACK_FRAME_CR_POS 8
|
#define STACK_FRAME_CR_POS 8
|
||||||
|
|
||||||
|
@ -53,18 +56,18 @@
|
||||||
*/
|
*/
|
||||||
#define PUSH_BASIC_STACK(_extra) \
|
#define PUSH_BASIC_STACK(_extra) \
|
||||||
mflr r0; \
|
mflr r0; \
|
||||||
std r0,STACK_FRAME_LR_POS(%r1); \
|
std r0, STACK_FRAME_LR_POS(%r1); \
|
||||||
stdu %r1,-(_extra + STACK_FRAME_MIN_SIZE)(%r1); \
|
stdu %r1, -(_extra + STACK_FRAME_MIN_SIZE)(%r1); \
|
||||||
mfcr r0; \
|
mfcr r0; \
|
||||||
stw r0,STACK_FRAME_CR_POS(%r1); \
|
stw r0, STACK_FRAME_CR_POS(%r1); \
|
||||||
std %r2,STACK_FRAME_TOC_POS(%r1);
|
std %r2, STACK_FRAME_TOC_POS(%r1);
|
||||||
|
|
||||||
#define POP_BASIC_STACK(_extra) \
|
#define POP_BASIC_STACK(_extra) \
|
||||||
ld %r2,STACK_FRAME_TOC_POS(%r1); \
|
ld %r2, STACK_FRAME_TOC_POS(%r1); \
|
||||||
lwz r0,STACK_FRAME_CR_POS(%r1); \
|
lwz r0, STACK_FRAME_CR_POS(%r1); \
|
||||||
mtcr r0; \
|
mtcr r0; \
|
||||||
addi %r1,%r1,(_extra + STACK_FRAME_MIN_SIZE); \
|
addi %r1, %r1, (_extra + STACK_FRAME_MIN_SIZE); \
|
||||||
ld r0,STACK_FRAME_LR_POS(%r1); \
|
ld r0, STACK_FRAME_LR_POS(%r1); \
|
||||||
mtlr r0;
|
mtlr r0;
|
||||||
|
|
||||||
#endif /* _SELFTESTS_POWERPC_BASIC_ASM_H */
|
#endif /* _SELFTESTS_POWERPC_BASIC_ASM_H */
|
|
@ -7,8 +7,8 @@
|
||||||
* 2 of the License, or (at your option) any later version.
|
* 2 of the License, or (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../basic_asm.h"
|
#include "basic_asm.h"
|
||||||
#include "../fpu_asm.h"
|
#include "fpu_asm.h"
|
||||||
|
|
||||||
FUNC_START(check_fpu)
|
FUNC_START(check_fpu)
|
||||||
mr r4,r3
|
mr r4,r3
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
* 2 of the License, or (at your option) any later version.
|
* 2 of the License, or (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../basic_asm.h"
|
#include "basic_asm.h"
|
||||||
#include "../vmx_asm.h"
|
#include "vmx_asm.h"
|
||||||
|
|
||||||
# Should be safe from C, only touches r4, r5 and v0,v1,v2
|
# Should be safe from C, only touches r4, r5 and v0,v1,v2
|
||||||
FUNC_START(check_vmx)
|
FUNC_START(check_vmx)
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
* 2 of the License, or (at your option) any later version.
|
* 2 of the License, or (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../basic_asm.h"
|
#include "basic_asm.h"
|
||||||
#include "../vsx_asm.h"
|
#include "vsx_asm.h"
|
||||||
|
|
||||||
#long check_vsx(vector int *r3);
|
#long check_vsx(vector int *r3);
|
||||||
#This function wraps storeing VSX regs to the end of an array and a
|
#This function wraps storeing VSX regs to the end of an array and a
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
* 2 of the License, or (at your option) any later version.
|
* 2 of the License, or (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../basic_asm.h"
|
#include "basic_asm.h"
|
||||||
|
|
||||||
/* long signal_self(pid_t pid, int sig); */
|
/* long signal_self(pid_t pid, int sig); */
|
||||||
FUNC_START(signal_self)
|
FUNC_START(signal_self)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "../utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
#define SIZE 256
|
#define SIZE 256
|
||||||
#define ITERATIONS 10000
|
#define ITERATIONS 10000
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
* 2 of the License, or (at your option) any later version.
|
* 2 of the License, or (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../basic_asm.h"
|
#include "basic_asm.h"
|
||||||
#include "../gpr_asm.h"
|
#include "gpr_asm.h"
|
||||||
#include "../fpu_asm.h"
|
#include "fpu_asm.h"
|
||||||
#include "../vmx_asm.h"
|
#include "vmx_asm.h"
|
||||||
#include "../vsx_asm.h"
|
#include "vsx_asm.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Large caveat here being that the caller cannot expect the
|
* Large caveat here being that the caller cannot expect the
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <asm/cputable.h>
|
#include <asm/cputable.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "../utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
static inline bool have_htm(void)
|
static inline bool have_htm(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue