Changeset 268953e1


Ignore:
Timestamp:
Aug 19, 2016 4:09:21 PM (4 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
be5fdea
Parents:
8cc03c2
Message:

CPUID: Add IDs for Kaby Lake (unverified/untested)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • core/java/src/freenet/support/CPUInformation/IntelInfoImpl.java

    r8cc03c2 r268953e1  
    462462                    }
    463463
     464                // following are for extended model == 8 or 9
     465                // most flags are set above
     466                // isCoreiCompatible = true is the default
     467
     468                    // Kaby Lake
     469                    // ref: https://github.com/InstLatx64/InstLatx64/commit/9d2ea1a9eb727868dc514900da9e2f175710f9bf
     470                    // See Haswell notes above
     471                    case 0x8e:
     472                    case 0x9e: {
     473                        CPUIDCPUInfo c = new CPUIDCPUInfo();
     474                        if (c.hasAVX2() && c.hasBMI1()  && c.hasBMI2() &&
     475                            c.hasFMA3() && c.hasMOVBE() && c.hasABM()) {
     476                            isSandyCompatible = true;
     477                            isIvyCompatible = true;
     478                            isHaswellCompatible = true;
     479                            if (c.hasADX())
     480                                isBroadwellCompatible = true;
     481                            modelString = "Kaby Lake Core i3/i5/i7";
     482                        } else {
     483                            // This processor is "corei" compatible, as we define it,
     484                            // i.e. SSE4.2 but not necessarily AVX.
     485                            if (c.hasAVX()) {
     486                                isSandyCompatible = true;
     487                                isIvyCompatible = true;
     488                                modelString = "Kaby Lake Celeron/Pentium w/ AVX";
     489                            } else {
     490                                modelString = "Kaby Lake Celeron/Pentium";
     491                            }
     492                        }
     493                        break;
     494                    }
     495
    464496                    // others
    465497                    default:
Note: See TracChangeset for help on using the changeset viewer.