From: Shivraj Patil Date: Fri, 22 Sep 2017 06:27:43 +0000 (+0530) Subject: Added mips I6500 core X-Git-Tag: v0.3.0~86^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e3d844b0621fc0d6849626e580581507366055c7;p=platform%2Fupstream%2Fopenblas.git Added mips I6500 core Signed-off-by: Shivraj Patil --- diff --git a/Makefile.prebuild b/Makefile.prebuild index 524f0a7..daa556f 100644 --- a/Makefile.prebuild +++ b/Makefile.prebuild @@ -29,6 +29,10 @@ ifeq ($(TARGET), P6600) TARGET_FLAGS = -mips64r6 endif +ifeq ($(TARGET), I6500) +TARGET_FLAGS = -mips64r6 +endif + all: getarch_2nd ./getarch_2nd 0 >> $(TARGET_MAKE) ./getarch_2nd 1 >> $(TARGET_CONF) diff --git a/Makefile.system b/Makefile.system index 74bc5cd..972238f 100644 --- a/Makefile.system +++ b/Makefile.system @@ -568,6 +568,11 @@ CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS) FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS) endif +ifeq ($(CORE), I6500) +CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS) +FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS) +endif + ifeq ($(OSNAME), AIX) BINARY_DEFINED = 1 endif diff --git a/TargetList.txt b/TargetList.txt index 7f27058..d40545c 100644 --- a/TargetList.txt +++ b/TargetList.txt @@ -63,6 +63,7 @@ LOONGSON3A LOONGSON3B I6400 P6600 +I6500 5.IA64 CPU: ITANIUM2 diff --git a/cpuid_mips64.c b/cpuid_mips64.c index ac1554c..dcb559a 100644 --- a/cpuid_mips64.c +++ b/cpuid_mips64.c @@ -76,6 +76,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define CPU_LOONGSON3B 3 #define CPU_I6400 4 #define CPU_P6600 5 +#define CPU_I6500 6 static char *cpuname[] = { "UNKOWN", @@ -83,7 +84,8 @@ static char *cpuname[] = { "LOONGSON3A", "LOONGSON3B", "I6400", - "P6600" + "P6600", + "I6500" }; int detect(void){ @@ -165,6 +167,8 @@ void get_subarchitecture(void){ printf("I6400"); }else if(detect()==CPU_P6600){ printf("P6600"); + }else if(detect()==CPU_I6500){ + printf("I6500"); }else{ printf("SICORTEX"); } @@ -211,6 +215,15 @@ void get_cpuconfig(void){ printf("#define DTB_DEFAULT_ENTRIES 64\n"); printf("#define DTB_SIZE 4096\n"); printf("#define L2_ASSOCIATIVE 8\n"); + }else if(detect()==CPU_I6500){ + printf("#define I6500\n"); + printf("#define L1_DATA_SIZE 65536\n"); + printf("#define L1_DATA_LINESIZE 32\n"); + printf("#define L2_SIZE 1048576\n"); + printf("#define L2_LINESIZE 32\n"); + printf("#define DTB_DEFAULT_ENTRIES 64\n"); + printf("#define DTB_SIZE 4096\n"); + printf("#define L2_ASSOCIATIVE 8\n"); }else{ printf("#define SICORTEX\n"); printf("#define L1_DATA_SIZE 32768\n"); @@ -232,6 +245,8 @@ void get_libname(void){ printf("i6400\n"); }else if(detect()==CPU_P6600) { printf("p6600\n"); + }else if(detect()==CPU_I6500) { + printf("i6500\n"); }else{ printf("mips64\n"); } diff --git a/getarch.c b/getarch.c index 2728b80..c0fff04 100644 --- a/getarch.c +++ b/getarch.c @@ -134,6 +134,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* #define FORCE_I6400 */ /* #define FORCE_P6600 */ /* #define FORCE_P5600 */ +/* #define FORCE_I6500 */ /* #define FORCE_ITANIUM2 */ /* #define FORCE_SPARC */ /* #define FORCE_SPARCV7 */ @@ -765,6 +766,20 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #else #endif +#ifdef FORCE_I6500 +#define FORCE +#define ARCHITECTURE "MIPS" +#define SUBARCHITECTURE "I6500" +#define SUBDIRNAME "mips64" +#define ARCHCONFIG "-DI6500 " \ + "-DL1_DATA_SIZE=65536 -DL1_DATA_LINESIZE=32 " \ + "-DL2_SIZE=1048576 -DL2_LINESIZE=32 " \ + "-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=8 " +#define LIBNAME "i6500" +#define CORENAME "I6500" +#else +#endif + #ifdef FORCE_ITANIUM2 #define FORCE #define ARCHITECTURE "IA64" diff --git a/kernel/mips64/KERNEL.I6500 b/kernel/mips64/KERNEL.I6500 new file mode 100644 index 0000000..abf4481 --- /dev/null +++ b/kernel/mips64/KERNEL.I6500 @@ -0,0 +1 @@ +include $(KERNELDIR)/../mips/KERNEL.P5600 diff --git a/param.h b/param.h index 2d5bcce..189cdc4 100644 --- a/param.h +++ b/param.h @@ -2291,7 +2291,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define SYMV_P 16 #endif -#if defined(P5600) || defined(I6400) || defined(P6600) +#if defined(P5600) || defined(I6400) || defined(P6600) || defined(I6500) #define SNUMOPT 2 #define DNUMOPT 2