@@ -71,6 +71,7 @@ size_t length64=sizeof(value64);
7171#define CPU_CORTEXA710 21
7272// Qualcomm
7373#define CPU_FALKOR 6
74+ #define CPU_ORYON 26
7475// Cavium
7576#define CPU_THUNDERX 7
7677#define CPU_THUNDERX2T99 8
@@ -113,7 +114,8 @@ static char *cpuname[] = {
113114 "FT2000" ,
114115 "CORTEXA76" ,
115116 "NEOVERSEV2" ,
116- "AMPERE1"
117+ "AMPERE1" ,
118+ "ORYON"
117119};
118120
119121static char * cpuname_lower [] = {
@@ -143,7 +145,7 @@ static char *cpuname_lower[] = {
143145 "cortexa76" ,
144146 "neoversev2" ,
145147 "ampere1" ,
146- "ampere1a "
148+ "oryon "
147149};
148150
149151static int cpulowperf = 0 ;
@@ -325,6 +327,8 @@ int detect(void)
325327 // Qualcomm
326328 else if (strstr (cpu_implementer , "0x51" ) && strstr (cpu_part , "0xc00" ))
327329 return CPU_FALKOR ;
330+ else if (strstr (cpu_implementer , "0x51" ) && strstr (cpu_part , "0x001" ))
331+ return CPU_ORYON ;
328332 // Cavium
329333 else if (strstr (cpu_implementer , "0x43" ) && strstr (cpu_part , "0x0a1" ))
330334 return CPU_THUNDERX ;
@@ -418,7 +422,7 @@ int detect(void)
418422 if (errcode != ERROR_SUCCESS ) wprintf (L"Error reading cpuname from registry:%x\n" ,errcode );
419423//wprintf(stderr,L"%s\n",(PWSTR)valstring);
420424 RegCloseKey (reghandle );
421- if (strstr (valstring , "Snapdragon(R) X Elite" )) return CPU_NEOVERSEN1 ;
425+ if (strstr (valstring , "Snapdragon(R) X Elite" )) return CPU_ORYON ;
422426 if (strstr (valstring , "Ampere(R) Altra" )) return CPU_NEOVERSEN1 ;
423427 if (strstr (valstring , "Snapdragon (TM) 8cx Gen 3" )) return CPU_CORTEXX1 ;
424428 if (strstr (valstring , "Snapdragon Compute Platform" )) return CPU_CORTEXX1 ;
@@ -765,6 +769,24 @@ void get_cpuconfig(void)
765769 printf ("#define DTB_DEFAULT_ENTRIES 64\n" );
766770 printf ("#define DTB_SIZE 4096\n" );
767771 break ;
772+ case CPU_ORYON :
773+ printf ("#define ORYON\n" );
774+ printf ("#define L1_CODE_SIZE 196608\n" );
775+ printf ("#define L1_CODE_LINESIZE 64\n" );
776+ printf ("#define L1_CODE_ASSOCIATIVE 6\n" );
777+ printf ("#define L1_DATA_SIZE 98304\n" );
778+ printf ("#define L1_DATA_LINESIZE 64\n" );
779+ printf ("#define L1_DATA_ASSOCIATIVE 6\n" );
780+ printf ("#define L2_SIZE 12582912\n" );
781+ printf ("#define L2_LINESIZE 32\n" );
782+ printf ("#define L2_ASSOCIATIVE 12\n" );
783+ printf ("#define ITB_SIZE 4096\n" );
784+ printf ("#define ITB_ASSOCIATIVE 8\n" );
785+ printf ("#define ITB_DEFAULT_ENTRIES 256\n" );
786+ printf ("#define DTB_DEFAULT_ENTRIES 224\n" );
787+ printf ("#define DTB_ASSOCIATIVE 7\n" );
788+ printf ("#define DTB_SIZE 4096\n" );
789+ break ;
768790 }
769791 get_cpucount ();
770792}
0 commit comments