Date: Sun, 22 Mar 2020 20:32:24 +0000 (UTC) From: Greg Lewis <glewis@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r528938 - head/java/openjdk14/files Message-ID: <202003222032.02MKWOi9057405@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glewis Date: Sun Mar 22 20:32:24 2020 New Revision: 528938 URL: https://svnweb.freebsd.org/changeset/ports/528938 Log: Fix build for aarch64 Submitted by: Klaus Küchemann <maciphone2@googlemail.com> Added: head/java/openjdk14/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp (contents, props changed) head/java/openjdk14/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp (contents, props changed) Added: head/java/openjdk14/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk14/files/patch-src_hotspot_cpu_aarch64_vm__version__aarch64.cpp Sun Mar 22 20:32:24 2020 (r528938) @@ -0,0 +1,10 @@ +--- src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ++++ src/hotspot/cpu/aarch64/vm_version_aarch64.cpp +@@ -35,6 +35,7 @@ + + #include OS_HEADER_INLINE(os) + ++#ifndef BUILTIN_SIM + #if defined (__linux__) + #include <sys/auxv.h> + #include <asm/hwcap.h> Added: head/java/openjdk14/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk14/files/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp Sun Mar 22 20:32:24 2020 (r528938) @@ -0,0 +1,95 @@ +--- src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp ++++ src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp +@@ -25,10 +25,10 @@ + + #include "precompiled.hpp" + #include "runtime/os.hpp" +-#include "runtime/vm_version.hpp" ++#include "vm_version_aarch64.hpp" + +-#if defined (__FreeBSD__) + #include <machine/armreg.h> ++#if defined (__FreeBSD__) + #include <machine/elf.h> + #endif + +@@ -76,6 +76,22 @@ + #define ID_AA64PFR0_AdvSIMD_HP (UL(0x1) << ID_AA64PFR0_AdvSIMD_SHIFT) + #endif + ++#ifndef ID_AA64ISAR0_AES_VAL ++#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES ++#endif ++ ++#ifndef ID_AA64ISAR0_SHA1_VAL ++#define ID_AA64ISAR0_SHA1_VAL ID_AA64ISAR0_SHA1 ++#endif ++ ++#ifndef ID_AA64ISAR0_SHA2_VAL ++#define ID_AA64ISAR0_SHA2_VAL ID_AA64ISAR0_SHA2 ++#endif ++ ++#ifndef ID_AA64ISAR0_CRC32_VAL ++#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 ++#endif ++ + #define CPU_IMPL_ARM 0x41 + #define CPU_IMPL_BROADCOM 0x42 + #define CPU_IMPL_CAVIUM 0x43 +@@ -186,6 +202,17 @@ const struct cpu_implementers cpu_implementers[] = { + CPU_IMPLEMENTER_NONE, + }; + ++#ifdef __OpenBSD__ ++// READ_SPECIALREG is not available from userland on OpenBSD. ++// Hardcode these values to the "lowest common denominator" ++unsigned long VM_Version::os_get_processor_features() { ++ _cpu = CPU_IMPL_ARM; ++ _model = CPU_PART_CORTEX_A53; ++ _variant = 0; ++ _revision = 0; ++ return HWCAP_ASIMD; ++} ++#else + unsigned long VM_Version::os_get_processor_features() { + struct cpu_desc cpu_desc[1]; + struct cpu_desc user_cpu_desc; +@@ -229,26 +256,26 @@ unsigned long VM_Version::os_get_processor_features() { + _model = cpu_desc[cpu].cpu_part_num; + _revision = cpu_desc[cpu].cpu_revision; + +- id_aa64isar0 = READ_SPECIALREG(ID_AA64ISAR0_EL1); +- id_aa64pfr0 = READ_SPECIALREG(ID_AA64PFR0_EL1); ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ id_aa64pfr0 = READ_SPECIALREG(id_aa64pfr0_el1); + +- if (ID_AA64ISAR0_AES(id_aa64isar0) == ID_AA64ISAR0_AES_BASE) { ++ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_BASE) { + auxv = auxv | HWCAP_AES; + } + +- if (ID_AA64ISAR0_AES(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) { ++ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) { + auxv = auxv | HWCAP_PMULL; + } + +- if (ID_AA64ISAR0_SHA1(id_aa64isar0) == ID_AA64ISAR0_SHA1_BASE) { ++ if (ID_AA64ISAR0_SHA1_VAL(id_aa64isar0) == ID_AA64ISAR0_SHA1_BASE) { + auxv = auxv | HWCAP_SHA1; + } + +- if (ID_AA64ISAR0_SHA2(id_aa64isar0) == ID_AA64ISAR0_SHA2_BASE) { ++ if (ID_AA64ISAR0_SHA2_VAL(id_aa64isar0) == ID_AA64ISAR0_SHA2_BASE) { + auxv = auxv | HWCAP_SHA2; + } + +- if (ID_AA64ISAR0_CRC32(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { ++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { + auxv = auxv | HWCAP_CRC32; + } + +@@ -259,3 +286,4 @@ unsigned long VM_Version::os_get_processor_features() { + + return auxv; + } ++#endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003222032.02MKWOi9057405>