Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8079203

aarch64 needs to cater for different partner implementations

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Environment:

      aarch64 development board

    • Subcomponent:
    • Resolved In Build:
      b65
    • CPU:
      arm

      Backports

        Description

        Recently it has become apparent that we need to modify the behaviour of the C1 & C2 JITs to cater for minor differences in implementations of the aarch64 architecture by different partners.

        The proposed enhancement is to parse /proc/cpuinfo on Linux to obtain the necessary information. This information will consist of the following fields in class VM_Verion

        int _cpu; // The cpu implementer from the following list
                     // 'A' (ARM), 'B' (BROADCOM), 'C' (CAVIUM), 'D' (DEC), 'I' (INFINEON), 'M' (MOTOROLA)
                     // 'N' (NVIDIA), 'P' (AMCC), 'Q' (QUALCOM), 'V' (MARVELL), 'i' (INTEL)
        int _model; // The implementer part number 0..4095
        int _variant; // The implementer variant 0..255
        int _revision; // The implmenter revision 0..255

        This information is derived directly from MIDR_EL1. Unfortunately this register is not readable at EL0 so we will derive the same information from /proc/cpuinfo as follows:-

        CPU implementer : 0x43
        CPU architecture: AArch64
        CPU variant : 0x0
        CPU part : 0x0a1
        CPU revision : 0

        I have an initial patch for this which I will post for review shortly.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  enevill Ed Nevill
                  Reporter:
                  enevill Ed Nevill
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 2 days
                    2d
                    Remaining:
                    Remaining Estimate - 2 days
                    2d
                    Logged:
                    Time Spent - Not Specified
                    Not Specified