Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: EVA: Add new EVA header

Generic code may need to perform certain operations when EVA is
enabled, for example, configure the segmentation registers during
boot. In order to avoid using more CONFIG_EVA ifdefs in the arch code,
such functions will be added in this header instead.
Initially this header contains a macro which will be used by generic
code later on during VPEs configuration on secondary cores.
All it does is to call the platform specific EVA init code in case
EVA is enabled.

Reviewed-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: http://patchwork.linux-mips.org/patch/7422/
Signed-off-by: James Hogan <james.hogan@imgtec.com>

authored by

Markos Chandras and committed by
Ralf Baechle
64316467 ad61ba23

+43
+43
arch/mips/include/asm/eva.h
··· 1 + /* 2 + * This file is subject to the terms and conditions of the GNU General Public 3 + * License. See the file "COPYING" in the main directory of this archive 4 + * for more details. 5 + * 6 + * Copyright (C) 2014, Imagination Technologies Ltd. 7 + * 8 + * EVA functions for generic code 9 + */ 10 + 11 + #ifndef _ASM_EVA_H 12 + #define _ASM_EVA_H 13 + 14 + #include <kernel-entry-init.h> 15 + 16 + #ifdef __ASSEMBLY__ 17 + 18 + #ifdef CONFIG_EVA 19 + 20 + /* 21 + * EVA early init code 22 + * 23 + * Platforms must define their own 'platform_eva_init' macro in 24 + * their kernel-entry-init.h header. This macro usually does the 25 + * platform specific configuration of the segmentation registers, 26 + * and it is normally called from assembly code. 27 + * 28 + */ 29 + 30 + .macro eva_init 31 + platform_eva_init 32 + .endm 33 + 34 + #else 35 + 36 + .macro eva_init 37 + .endm 38 + 39 + #endif /* CONFIG_EVA */ 40 + 41 + #endif /* __ASSEMBLY__ */ 42 + 43 + #endif