Skip to content

Commit e3d844b

Browse files
committed
Added mips I6500 core
Signed-off-by: Shivraj Patil <[email protected]>
1 parent def146e commit e3d844b

File tree

7 files changed

+43
-2
lines changed

7 files changed

+43
-2
lines changed

Makefile.prebuild

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ ifeq ($(TARGET), P6600)
2929
TARGET_FLAGS = -mips64r6
3030
endif
3131

32+
ifeq ($(TARGET), I6500)
33+
TARGET_FLAGS = -mips64r6
34+
endif
35+
3236
all: getarch_2nd
3337
./getarch_2nd 0 >> $(TARGET_MAKE)
3438
./getarch_2nd 1 >> $(TARGET_CONF)

Makefile.system

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,11 @@ CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS)
568568
FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=p6600 $(MSA_FLAGS)
569569
endif
570570

571+
ifeq ($(CORE), I6500)
572+
CCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS)
573+
FCOMMON_OPT += -mips64r6 -mnan=2008 -mtune=i6400 $(MSA_FLAGS)
574+
endif
575+
571576
ifeq ($(OSNAME), AIX)
572577
BINARY_DEFINED = 1
573578
endif

TargetList.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ LOONGSON3A
6363
LOONGSON3B
6464
I6400
6565
P6600
66+
I6500
6667

6768
5.IA64 CPU:
6869
ITANIUM2

cpuid_mips64.c

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7676
#define CPU_LOONGSON3B 3
7777
#define CPU_I6400 4
7878
#define CPU_P6600 5
79+
#define CPU_I6500 6
7980

8081
static char *cpuname[] = {
8182
"UNKOWN",
8283
"SICORTEX",
8384
"LOONGSON3A",
8485
"LOONGSON3B",
8586
"I6400",
86-
"P6600"
87+
"P6600",
88+
"I6500"
8789
};
8890

8991
int detect(void){
@@ -165,6 +167,8 @@ void get_subarchitecture(void){
165167
printf("I6400");
166168
}else if(detect()==CPU_P6600){
167169
printf("P6600");
170+
}else if(detect()==CPU_I6500){
171+
printf("I6500");
168172
}else{
169173
printf("SICORTEX");
170174
}
@@ -211,6 +215,15 @@ void get_cpuconfig(void){
211215
printf("#define DTB_DEFAULT_ENTRIES 64\n");
212216
printf("#define DTB_SIZE 4096\n");
213217
printf("#define L2_ASSOCIATIVE 8\n");
218+
}else if(detect()==CPU_I6500){
219+
printf("#define I6500\n");
220+
printf("#define L1_DATA_SIZE 65536\n");
221+
printf("#define L1_DATA_LINESIZE 32\n");
222+
printf("#define L2_SIZE 1048576\n");
223+
printf("#define L2_LINESIZE 32\n");
224+
printf("#define DTB_DEFAULT_ENTRIES 64\n");
225+
printf("#define DTB_SIZE 4096\n");
226+
printf("#define L2_ASSOCIATIVE 8\n");
214227
}else{
215228
printf("#define SICORTEX\n");
216229
printf("#define L1_DATA_SIZE 32768\n");
@@ -232,6 +245,8 @@ void get_libname(void){
232245
printf("i6400\n");
233246
}else if(detect()==CPU_P6600) {
234247
printf("p6600\n");
248+
}else if(detect()==CPU_I6500) {
249+
printf("i6500\n");
235250
}else{
236251
printf("mips64\n");
237252
}

getarch.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
134134
/* #define FORCE_I6400 */
135135
/* #define FORCE_P6600 */
136136
/* #define FORCE_P5600 */
137+
/* #define FORCE_I6500 */
137138
/* #define FORCE_ITANIUM2 */
138139
/* #define FORCE_SPARC */
139140
/* #define FORCE_SPARCV7 */
@@ -765,6 +766,20 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
765766
#else
766767
#endif
767768

769+
#ifdef FORCE_I6500
770+
#define FORCE
771+
#define ARCHITECTURE "MIPS"
772+
#define SUBARCHITECTURE "I6500"
773+
#define SUBDIRNAME "mips64"
774+
#define ARCHCONFIG "-DI6500 " \
775+
"-DL1_DATA_SIZE=65536 -DL1_DATA_LINESIZE=32 " \
776+
"-DL2_SIZE=1048576 -DL2_LINESIZE=32 " \
777+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=8 "
778+
#define LIBNAME "i6500"
779+
#define CORENAME "I6500"
780+
#else
781+
#endif
782+
768783
#ifdef FORCE_ITANIUM2
769784
#define FORCE
770785
#define ARCHITECTURE "IA64"

kernel/mips64/KERNEL.I6500

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include $(KERNELDIR)/../mips/KERNEL.P5600

param.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2291,7 +2291,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22912291
#define SYMV_P 16
22922292
#endif
22932293

2294-
#if defined(P5600) || defined(I6400) || defined(P6600)
2294+
#if defined(P5600) || defined(I6400) || defined(P6600) || defined(I6500)
22952295
#define SNUMOPT 2
22962296
#define DNUMOPT 2
22972297

0 commit comments

Comments
 (0)