diff --git a/repos/ports/lib/import/import-jli.mk b/repos/ports/lib/import/import-jli.mk
deleted file mode 100644
index 4b75e1614c..0000000000
--- a/repos/ports/lib/import/import-jli.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-INC_DIR += $(JDK_BASE)/share/native/libjli \
- $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjli
-
-
diff --git a/repos/ports/lib/mk/java.inc b/repos/ports/lib/mk/java.inc
deleted file mode 100644
index cfd5f97743..0000000000
--- a/repos/ports/lib/mk/java.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-LIBS = libc
-SHARED_LIB = yes
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk
-JAVA_BASE = $(JDK_BASE)/share/native/libjava
-VERIFY_BASE = $(JDK_BASE)/share/native/libverify
-
-CC_OLEVEL = -O0
-
-SRC_C = $(notdir $(wildcard $(JAVA_BASE)/*.c))
-SRC_C += unix/native/libjava/canonicalize_md.c \
- unix/native/libjava/FileDescriptor_md.c \
- unix/native/libjava/FileInputStream_md.c \
- unix/native/libjava/FileOutputStream_md.c \
- unix/native/libjava/io_util_md.c \
- unix/native/libjava/java_props_md.c \
- unix/native/libjava/jdk_util_md.c \
- unix/native/libjava/jni_util_md.c \
- unix/native/libjava/ProcessEnvironment_md.c \
- unix/native/libjava/RandomAccessFile_md.c \
- unix/native/libjava/TimeZone_md.c \
- unix/native/libjava/UnixFileSystem_md.c
-
-SRC_C += check_format.c check_code.c
-SRC_C += math_genode.c
-
-
-include $(REP_DIR)/lib/mk/jdk_version.inc
-
-CC_C_OPT = $(JDK_VERSION)
-CC_C_OPT += -D_ALLBSD_SOURCE -D__GENODE__
-CC_OPT_unix/native/libjava/TimeZone_md = -D__linux__
-
-INC_DIR += $(REP_DIR)/src/app/jdk/lib/include \
- $(JDK_GENERATED)/include/java.base \
- $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/share/native/libfdlibm \
- $(JDK_BASE)/share/native/libjava \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjava
-
-vpath %.c $(JAVA_BASE)
-vpath %.c $(VERIFY_BASE)
-vpath %.c $(JDK_BASE)
-vpath %.c $(REP_DIR)/src/app/jdk/lib/java
-
-# vi: set ft=make :
diff --git a/repos/ports/lib/mk/jdk_version.inc b/repos/ports/lib/mk/jdk_version.inc
deleted file mode 100644
index c06493819c..0000000000
--- a/repos/ports/lib/mk/jdk_version.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-JDK_VERSION = -DVERSION_SPECIFICATION='"9"' -DVERSION_SHORT='"9-internal"' \
- -DVERSION_MAJOR=9 -DVERSION_MINOR=0 -DVERSION_SECURITY=0 \
- -DVERSION_BUILD=0 -DVERSION_PATCH=0 \
- -DVERSION_STRING='"9-genode.openjdk"'
diff --git a/repos/ports/lib/mk/jimage.mk b/repos/ports/lib/mk/jimage.mk
deleted file mode 100644
index 9cb88b7bb0..0000000000
--- a/repos/ports/lib/mk/jimage.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-LIBS = libc
-SHARED_LIB = yes
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk
-
-CC_CXX_WARN_STRICT =
-
-SRC_CC = endian.cpp \
- imageDecompressor.cpp \
- imageFile.cpp \
- jimage.cpp \
- NativeImageBuffer.cpp \
- osSupport_unix.cpp
-
-INC_DIR += $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/share/native/libjava \
- $(JDK_BASE)/share/native/libjimage \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjava \
- $(JDK_GENERATED)/include/java.base
-
-vpath %.cpp $(JDK_BASE)/share/native/libjimage
-vpath %.cpp $(JDK_BASE)/unix/native/libjimage
diff --git a/repos/ports/lib/mk/jli.mk b/repos/ports/lib/mk/jli.mk
deleted file mode 100644
index 5035ac4f7e..0000000000
--- a/repos/ports/lib/mk/jli.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-LIBS = libc zlib
-SHARED_LIB = yes
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-
-CC_OLEVEL = -O0
-
-SRC_C = args.c \
- java.c \
- java_md_common.c \
- java_md_solinux.c \
- jli_util.c \
- parse_manifest.c \
- splashscreen_stubs.c \
- wildcard.c
-
-
-INC_DIR += $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/share/native/libjli \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjli
-
-CC_C_OPT = -D__linux__ -D__GENODE__ -Dlseek64=lseek
-
-vpath %.c $(JDK_BASE)/share/native/libjli
-vpath %.c $(JDK_BASE)/unix/native/libjli
-
diff --git a/repos/ports/lib/mk/jnet.mk b/repos/ports/lib/mk/jnet.mk
deleted file mode 100644
index 2e5039ea94..0000000000
--- a/repos/ports/lib/mk/jnet.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-LIBS = libc
-SHARED_LIB = yes
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk
-
-SRC_C = bsd_close.c \
- net_util.c \
- net_util_md.c \
- InetAddress.c \
- Inet4Address.c \
- Inet4AddressImpl.c \
- Inet6Address.c \
- InetAddressImplFactory.c \
- PlainSocketImpl.c
-
-INC_DIR += $(JDK_GENERATED)/include/java.base \
- $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/share/native/libjava \
- $(JDK_BASE)/share/native/libnet \
- $(JDK_BASE)/share/native/libnio \
- $(JDK_BASE)/share/native/libnio/ch \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjava \
- $(JDK_BASE)/unix/native/libnet \
- $(JDK_BASE)/unix/native/libnio
-
-CC_C_OPT = -D_ALLBSD_SOURCE -include netinet/in.h
-CC_OPT_net_util_md += -include sys/socket.h
-
-vpath %.c $(JDK_BASE)/unix/native/libnet
-vpath %.c $(JDK_BASE)/share/native/libnet
-vpath %.c $(JDK_BASE)/macosx/native/libnet
diff --git a/repos/ports/lib/mk/jvm.inc b/repos/ports/lib/mk/jvm.inc
deleted file mode 100644
index 7e3d6e46cb..0000000000
--- a/repos/ports/lib/mk/jvm.inc
+++ /dev/null
@@ -1,610 +0,0 @@
-#/build/jdk/openjdk-jdk9-jdk9/build/linux-x86_64-normal-zero-release/hotspot/variant-zero/gensrc/jvmtifiles/bytecodeInterpreterWithChecks.cpp
-# /build/jdk/openjdk-jdk9-jdk9/build/linux-x86_64-normal-zero-release/hotspot/variant-zero/gensrc/jvmtifiles/jvmtiEnter.cpp
-# /build/jdk/openjdk-jdk9-jdk9/build/linux-x86_64-normal-zero-release/hotspot/variant-zero/gensrc/jvmtifiles/jvmtiEnterTrace.cpp
-
-LIBS = stdcxx jzip jimage nio jnet ffi
-SHARED_LIB = yes
-HOTSPOT_BASE = $(call select_from_ports,jdk)/src/app/jdk/hotspot/src
-JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk
-
-CC_CXX_WARN_STRICT =
-
-include $(REP_DIR)/lib/mk/jdk_version.inc
-
-CC_OPT += -fpermissive -Wno-comment -Wno-reorder -Wno-switch -Wno-unused-variable \
- -Wno-delete-non-virtual-dtor -Wno-unused-function -Wno-format \
- -Wno-unused-local-typedefs -Wno-unused-but-set-variable \
- -Wno-parentheses
-
-CC_OPT += -D__GENODE__
-
-CC_OPT += -DINCLUDE_SUFFIX_OS=_bsd -DTARGET_COMPILER_gcc -D_ALLBSD_SOURCE -DUSE_LIBRARY_BASED_TLS_ONLY \
- -DVM_LITTLE_ENDIAN -DINCLUDE_SUFFIX_CPU=_zero -DZERO -DCC_INTERP -DTARGET_ARCH_zero \
- -DINCLUDE_JVMCI=0 -DRELEASE -DPRODUCT
-
-
-INC_DIR += $(JDK_GENERATED)/include \
- $(REP_DIR)/src/app/jdk/lib/include \
- $(HOTSPOT_BASE)/os \
- $(HOTSPOT_BASE)/os/bsd/vm \
- $(HOTSPOT_BASE)/os/posix/vm \
- $(HOTSPOT_BASE)/os_cpu/bsd_zero/vm \
- $(HOTSPOT_BASE)/cpu/zero/vm \
- $(HOTSPOT_BASE)/share/vm \
- $(HOTSPOT_BASE)/share/vm/precompiled \
- $(HOTSPOT_BASE)/share/vm/prims
-
-#
-# Genode specific
-#
-SRC_CC += dummies.cpp
-
-
-#
-# Generated
-#
-SRC_CC += jvmtiEnter.cpp jvmtiEnterTrace.cpp
-
-
-#
-# Hotspot
-#
-SRC_CC += cpu/zero/vm/abstractInterpreter_zero.cpp \
- cpu/zero/vm/assembler_zero.cpp \
- cpu/zero/vm/bytecodeInterpreter_zero.cpp \
- cpu/zero/vm/compiledIC_zero.cpp \
- cpu/zero/vm/cppInterpreterGenerator_zero.cpp \
- cpu/zero/vm/cppInterpreter_zero.cpp \
- cpu/zero/vm/debug_zero.cpp \
- cpu/zero/vm/depChecker_zero.cpp \
- cpu/zero/vm/disassembler_zero.cpp \
- cpu/zero/vm/frame_zero.cpp \
- cpu/zero/vm/icache_zero.cpp \
- cpu/zero/vm/icBuffer_zero.cpp \
- cpu/zero/vm/interpreterRT_zero.cpp \
- cpu/zero/vm/jniFastGetField_zero.cpp \
- cpu/zero/vm/metaspaceShared_zero.cpp \
- cpu/zero/vm/methodHandles_zero.cpp \
- cpu/zero/vm/nativeInst_zero.cpp \
- cpu/zero/vm/register_zero.cpp \
- cpu/zero/vm/relocInfo_zero.cpp \
- cpu/zero/vm/sharedRuntime_zero.cpp \
- cpu/zero/vm/stack_zero.cpp \
- cpu/zero/vm/stubGenerator_zero.cpp \
- cpu/zero/vm/stubRoutines_zero.cpp \
- cpu/zero/vm/vmreg_zero.cpp \
- cpu/zero/vm/vm_version_zero.cpp \
- cpu/zero/vm/vtableStubs_zero.cpp \
- os_cpu/bsd_zero/vm/assembler_bsd_zero.cpp \
- os_cpu/bsd_zero/vm/os_bsd_zero.cpp \
- os_cpu/bsd_zero/vm/thread_bsd_zero.cpp \
- os_cpu/bsd_zero/vm/vm_version_bsd_zero.cpp \
- os/bsd/vm/attachListener_bsd.cpp \
- os/bsd/vm/decoder_machO.cpp \
- os/bsd/vm/jvm_bsd.cpp \
- os/bsd/vm/os_bsd.cpp \
- os/bsd/vm/osThread_bsd.cpp \
- os/bsd/vm/perfMemory_bsd.cpp \
- os/bsd/vm/stubRoutines_bsd.cpp \
- os/bsd/vm/threadCritical_bsd.cpp \
- os/linux/vm/decoder_linux.cpp \
- os/posix/vm/os_posix.cpp \
- os/posix/vm/threadLocalStorage_posix.cpp \
- os/posix/vm/vmError_posix.cpp \
- share/vm/asm/assembler.cpp \
- share/vm/asm/codeBuffer.cpp \
- share/vm/asm/register.cpp \
- share/vm/ci/ciArray.cpp \
- share/vm/ci/ciArrayKlass.cpp \
- share/vm/ci/ciBaseObject.cpp \
- share/vm/ci/ciCallSite.cpp \
- share/vm/ci/ciConstant.cpp \
- share/vm/ci/ciConstantPoolCache.cpp \
- share/vm/ci/ciEnv.cpp \
- share/vm/ci/ciExceptionHandler.cpp \
- share/vm/ci/ciField.cpp \
- share/vm/ci/ciFlags.cpp \
- share/vm/ci/ciInstance.cpp \
- share/vm/ci/ciInstanceKlass.cpp \
- share/vm/ci/ciKlass.cpp \
- share/vm/ci/ciMemberName.cpp \
- share/vm/ci/ciMetadata.cpp \
- share/vm/ci/ciMethodBlocks.cpp \
- share/vm/ci/ciMethod.cpp \
- share/vm/ci/ciMethodData.cpp \
- share/vm/ci/ciMethodHandle.cpp \
- share/vm/ci/ciNullObject.cpp \
- share/vm/ci/ciObjArray.cpp \
- share/vm/ci/ciObjArrayKlass.cpp \
- share/vm/ci/ciObject.cpp \
- share/vm/ci/ciObjectFactory.cpp \
- share/vm/ci/ciReplay.cpp \
- share/vm/ci/ciSignature.cpp \
- share/vm/ci/ciStreams.cpp \
- share/vm/ci/ciSymbol.cpp \
- share/vm/ci/ciTypeArray.cpp \
- share/vm/ci/ciTypeArrayKlass.cpp \
- share/vm/ci/ciType.cpp \
- share/vm/ci/ciUtilities.cpp \
- share/vm/classfile/altHashing.cpp \
- share/vm/classfile/bytecodeAssembler.cpp \
- share/vm/classfile/classFileError.cpp \
- share/vm/classfile/classFileParser.cpp \
- share/vm/classfile/classFileStream.cpp \
- share/vm/classfile/classListParser.cpp \
- share/vm/classfile/classLoader.cpp \
- share/vm/classfile/classLoaderData.cpp \
- share/vm/classfile/classLoaderExt.cpp \
- share/vm/classfile/classLoaderStats.cpp \
- share/vm/classfile/compactHashtable.cpp \
- share/vm/classfile/defaultMethods.cpp \
- share/vm/classfile/dictionary.cpp \
- share/vm/classfile/javaAssertions.cpp \
- share/vm/classfile/javaClasses.cpp \
- share/vm/classfile/klassFactory.cpp \
- share/vm/classfile/loaderConstraints.cpp \
- share/vm/classfile/metadataOnStackMark.cpp \
- share/vm/classfile/moduleEntry.cpp \
- share/vm/classfile/modules.cpp \
- share/vm/classfile/packageEntry.cpp \
- share/vm/classfile/placeholders.cpp \
- share/vm/classfile/resolutionErrors.cpp \
- share/vm/classfile/sharedPathsMiscInfo.cpp \
- share/vm/classfile/stackMapFrame.cpp \
- share/vm/classfile/stackMapTable.cpp \
- share/vm/classfile/stringTable.cpp \
- share/vm/classfile/symbolTable.cpp \
- share/vm/classfile/systemDictionary.cpp \
- share/vm/classfile/verificationType.cpp \
- share/vm/classfile/verifier.cpp \
- share/vm/classfile/vmSymbols.cpp \
- share/vm/code/codeBlob.cpp \
- share/vm/code/codeCache.cpp \
- share/vm/code/compiledIC.cpp \
- share/vm/code/compiledMethod.cpp \
- share/vm/code/compressedStream.cpp \
- share/vm/code/debugInfo.cpp \
- share/vm/code/debugInfoRec.cpp \
- share/vm/code/dependencies.cpp \
- share/vm/code/dependencyContext.cpp \
- share/vm/code/exceptionHandlerTable.cpp \
- share/vm/code/icBuffer.cpp \
- share/vm/code/location.cpp \
- share/vm/code/nmethod.cpp \
- share/vm/code/oopRecorder.cpp \
- share/vm/code/pcDesc.cpp \
- share/vm/code/relocInfo.cpp \
- share/vm/code/relocInfo_ext.cpp \
- share/vm/code/scopeDesc.cpp \
- share/vm/code/stubs.cpp \
- share/vm/code/vmreg.cpp \
- share/vm/code/vtableStubs.cpp \
- share/vm/compiler/abstractCompiler.cpp \
- share/vm/compiler/compileBroker.cpp \
- share/vm/compiler/compileLog.cpp \
- share/vm/compiler/compilerDefinitions.cpp \
- share/vm/compiler/compilerDirectives.cpp \
- share/vm/compiler/compilerOracle.cpp \
- share/vm/compiler/compileTask.cpp \
- share/vm/compiler/directivesParser.cpp \
- share/vm/compiler/disassembler.cpp \
- share/vm/compiler/methodLiveness.cpp \
- share/vm/compiler/methodMatcher.cpp \
- share/vm/compiler/oopMap.cpp \
- share/vm/gc/cms/adaptiveFreeList.cpp \
- share/vm/gc/cms/allocationStats.cpp \
- share/vm/gc/cms/cmsCollectorPolicy.cpp \
- share/vm/gc/cms/cmsLockVerifier.cpp \
- share/vm/gc/cms/cmsOopClosures.cpp \
- share/vm/gc/cms/compactibleFreeListSpace.cpp \
- share/vm/gc/cms/concurrentMarkSweepGeneration.cpp \
- share/vm/gc/cms/concurrentMarkSweepThread.cpp \
- share/vm/gc/cms/freeChunk.cpp \
- share/vm/gc/cms/gSpaceCounters.cpp \
- share/vm/gc/cms/parCardTableModRefBS.cpp \
- share/vm/gc/cms/parNewGeneration.cpp \
- share/vm/gc/cms/parOopClosures.cpp \
- share/vm/gc/cms/promotionInfo.cpp \
- share/vm/gc/cms/vmCMSOperations.cpp \
- share/vm/gc/cms/yieldingWorkgroup.cpp \
- share/vm/gc/g1/collectionSetChooser.cpp \
- share/vm/gc/g1/concurrentG1Refine.cpp \
- share/vm/gc/g1/concurrentG1RefineThread.cpp \
- share/vm/gc/g1/concurrentMarkThread.cpp \
- share/vm/gc/g1/dirtyCardQueue.cpp \
- share/vm/gc/g1/g1Allocator.cpp \
- share/vm/gc/g1/g1Allocator_ext.cpp \
- share/vm/gc/g1/g1AllocRegion.cpp \
- share/vm/gc/g1/g1Analytics.cpp \
- share/vm/gc/g1/g1BiasedArray.cpp \
- share/vm/gc/g1/g1BlockOffsetTable.cpp \
- share/vm/gc/g1/g1CardCounts.cpp \
- share/vm/gc/g1/g1CardLiveData.cpp \
- share/vm/gc/g1/g1CodeBlobClosure.cpp \
- share/vm/gc/g1/g1CodeCacheRemSet.cpp \
- share/vm/gc/g1/g1CollectedHeap.cpp \
- share/vm/gc/g1/g1CollectedHeap_ext.cpp \
- share/vm/gc/g1/g1CollectionSet.cpp \
- share/vm/gc/g1/g1CollectorPolicy.cpp \
- share/vm/gc/g1/g1ConcurrentMark.cpp \
- share/vm/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp \
- share/vm/gc/g1/g1DefaultPolicy.cpp \
- share/vm/gc/g1/g1EvacFailure.cpp \
- share/vm/gc/g1/g1EvacStats.cpp \
- share/vm/gc/g1/g1FromCardCache.cpp \
- share/vm/gc/g1/g1GCPhaseTimes.cpp \
- share/vm/gc/g1/g1_globals.cpp \
- share/vm/gc/g1/g1HeapSizingPolicy.cpp \
- share/vm/gc/g1/g1HeapSizingPolicy_ext.cpp \
- share/vm/gc/g1/g1HeapTransition.cpp \
- share/vm/gc/g1/g1HeapVerifier.cpp \
- share/vm/gc/g1/g1HotCardCache.cpp \
- share/vm/gc/g1/g1IHOPControl.cpp \
- share/vm/gc/g1/g1MarkSweep.cpp \
- share/vm/gc/g1/g1MarkSweep_ext.cpp \
- share/vm/gc/g1/g1MMUTracker.cpp \
- share/vm/gc/g1/g1MonitoringSupport.cpp \
- share/vm/gc/g1/g1OopClosures.cpp \
- share/vm/gc/g1/g1PageBasedVirtualSpace.cpp \
- share/vm/gc/g1/g1ParScanThreadState.cpp \
- share/vm/gc/g1/g1ParScanThreadState_ext.cpp \
- share/vm/gc/g1/g1RegionToSpaceMapper.cpp \
- share/vm/gc/g1/g1RemSet.cpp \
- share/vm/gc/g1/g1RemSetSummary.cpp \
- share/vm/gc/g1/g1RootClosures.cpp \
- share/vm/gc/g1/g1RootClosures_ext.cpp \
- share/vm/gc/g1/g1RootProcessor.cpp \
- share/vm/gc/g1/g1SATBCardTableModRefBS.cpp \
- share/vm/gc/g1/g1StringDedup.cpp \
- share/vm/gc/g1/g1StringDedupQueue.cpp \
- share/vm/gc/g1/g1StringDedupStat.cpp \
- share/vm/gc/g1/g1StringDedupTable.cpp \
- share/vm/gc/g1/g1StringDedupThread.cpp \
- share/vm/gc/g1/g1SurvivorRegions.cpp \
- share/vm/gc/g1/g1YoungGenSizer.cpp \
- share/vm/gc/g1/g1YoungRemSetSamplingThread.cpp \
- share/vm/gc/g1/heapRegion.cpp \
- share/vm/gc/g1/heapRegionManager.cpp \
- share/vm/gc/g1/heapRegionRemSet.cpp \
- share/vm/gc/g1/heapRegionSet.cpp \
- share/vm/gc/g1/heapRegionTracer.cpp \
- share/vm/gc/g1/heapRegionType.cpp \
- share/vm/gc/g1/hSpaceCounters.cpp \
- share/vm/gc/g1/ptrQueue.cpp \
- share/vm/gc/g1/satbMarkQueue.cpp \
- share/vm/gc/g1/sparsePRT.cpp \
- share/vm/gc/g1/survRateGroup.cpp \
- share/vm/gc/g1/suspendibleThreadSet.cpp \
- share/vm/gc/g1/vm_operations_g1.cpp \
- share/vm/gc/g1/workerDataArray.cpp \
- share/vm/gc/parallel/adjoiningGenerations.cpp \
- share/vm/gc/parallel/adjoiningVirtualSpaces.cpp \
- share/vm/gc/parallel/asPSOldGen.cpp \
- share/vm/gc/parallel/asPSYoungGen.cpp \
- share/vm/gc/parallel/cardTableExtension.cpp \
- share/vm/gc/parallel/gcAdaptivePolicyCounters.cpp \
- share/vm/gc/parallel/gcTaskManager.cpp \
- share/vm/gc/parallel/gcTaskThread.cpp \
- share/vm/gc/parallel/generationSizer.cpp \
- share/vm/gc/parallel/immutableSpace.cpp \
- share/vm/gc/parallel/mutableNUMASpace.cpp \
- share/vm/gc/parallel/mutableSpace.cpp \
- share/vm/gc/parallel/objectStartArray.cpp \
- share/vm/gc/parallel/parallelScavengeHeap.cpp \
- share/vm/gc/parallel/parMarkBitMap.cpp \
- share/vm/gc/parallel/pcTasks.cpp \
- share/vm/gc/parallel/psAdaptiveSizePolicy.cpp \
- share/vm/gc/parallel/psCompactionManager.cpp \
- share/vm/gc/parallel/psGCAdaptivePolicyCounters.cpp \
- share/vm/gc/parallel/psGenerationCounters.cpp \
- share/vm/gc/parallel/psMarkSweep.cpp \
- share/vm/gc/parallel/psMarkSweepDecorator.cpp \
- share/vm/gc/parallel/psOldGen.cpp \
- share/vm/gc/parallel/psParallelCompact.cpp \
- share/vm/gc/parallel/psPromotionLAB.cpp \
- share/vm/gc/parallel/psPromotionManager.cpp \
- share/vm/gc/parallel/psScavenge.cpp \
- share/vm/gc/parallel/psTasks.cpp \
- share/vm/gc/parallel/psVirtualspace.cpp \
- share/vm/gc/parallel/psYoungGen.cpp \
- share/vm/gc/parallel/spaceCounters.cpp \
- share/vm/gc/parallel/vmPSOperations.cpp \
- share/vm/gc/serial/cSpaceCounters.cpp \
- share/vm/gc/serial/defNewGeneration.cpp \
- share/vm/gc/serial/genMarkSweep.cpp \
- share/vm/gc/serial/markSweep.cpp \
- share/vm/gc/serial/tenuredGeneration.cpp \
- share/vm/gc/shared/adaptiveSizePolicy.cpp \
- share/vm/gc/shared/ageTable.cpp \
- share/vm/gc/shared/ageTableTracer.cpp \
- share/vm/gc/shared/allocTracer.cpp \
- share/vm/gc/shared/barrierSet.cpp \
- share/vm/gc/shared/blockOffsetTable.cpp \
- share/vm/gc/shared/cardGeneration.cpp \
- share/vm/gc/shared/cardTableModRefBS.cpp \
- share/vm/gc/shared/cardTableModRefBSForCTRS.cpp \
- share/vm/gc/shared/cardTableRS.cpp \
- share/vm/gc/shared/collectedHeap.cpp \
- share/vm/gc/shared/collectorCounters.cpp \
- share/vm/gc/shared/collectorPolicy.cpp \
- share/vm/gc/shared/concurrentGCThread.cpp \
- share/vm/gc/shared/gcCause.cpp \
- share/vm/gc/shared/gcId.cpp \
- share/vm/gc/shared/gcLocker.cpp \
- share/vm/gc/shared/gcPolicyCounters.cpp \
- share/vm/gc/shared/gcStats.cpp \
- share/vm/gc/shared/gcTimer.cpp \
- share/vm/gc/shared/gcTrace.cpp \
- share/vm/gc/shared/gcTraceSend.cpp \
- share/vm/gc/shared/gcTraceTime.cpp \
- share/vm/gc/shared/gcUtil.cpp \
- share/vm/gc/shared/genCollectedHeap.cpp \
- share/vm/gc/shared/generationCounters.cpp \
- share/vm/gc/shared/generation.cpp \
- share/vm/gc/shared/generationSpec.cpp \
- share/vm/gc/shared/genOopClosures.cpp \
- share/vm/gc/shared/objectCountEventSender.cpp \
- share/vm/gc/shared/plab.cpp \
- share/vm/gc/shared/preservedMarks.cpp \
- share/vm/gc/shared/referencePolicy.cpp \
- share/vm/gc/shared/referenceProcessor.cpp \
- share/vm/gc/shared/space.cpp \
- share/vm/gc/shared/spaceDecorator.cpp \
- share/vm/gc/shared/strongRootsScope.cpp \
- share/vm/gc/shared/taskqueue.cpp \
- share/vm/gc/shared/threadLocalAllocBuffer.cpp \
- share/vm/gc/shared/vmGCOperations.cpp \
- share/vm/gc/shared/workgroup.cpp \
- share/vm/interpreter/abstractInterpreter.cpp \
- share/vm/interpreter/bytecode.cpp \
- share/vm/interpreter/bytecodeHistogram.cpp \
- share/vm/interpreter/bytecodeInterpreter.cpp \
- share/vm/interpreter/bytecodeInterpreterWithChecks.cpp \
- share/vm/interpreter/bytecodes.cpp \
- share/vm/interpreter/bytecodeStream.cpp \
- share/vm/interpreter/bytecodeTracer.cpp \
- share/vm/interpreter/cppInterpreter.cpp \
- share/vm/interpreter/cppInterpreterGenerator.cpp \
- share/vm/interpreter/interpreter.cpp \
- share/vm/interpreter/interpreterRuntime.cpp \
- share/vm/interpreter/invocationCounter.cpp \
- share/vm/interpreter/linkResolver.cpp \
- share/vm/interpreter/oopMapCache.cpp \
- share/vm/interpreter/rewriter.cpp \
- share/vm/interpreter/templateInterpreter.cpp \
- share/vm/interpreter/templateInterpreterGenerator.cpp \
- share/vm/interpreter/templateTable.cpp \
- share/vm/logging/logConfiguration.cpp \
- share/vm/logging/logDecorations.cpp \
- share/vm/logging/logDecorators.cpp \
- share/vm/logging/logDiagnosticCommand.cpp \
- share/vm/logging/logFileOutput.cpp \
- share/vm/logging/logFileStreamOutput.cpp \
- share/vm/logging/logLevel.cpp \
- share/vm/logging/logMessageBuffer.cpp \
- share/vm/logging/logOutput.cpp \
- share/vm/logging/logOutputList.cpp \
- share/vm/logging/logStream.cpp \
- share/vm/logging/logTag.cpp \
- share/vm/logging/logTagLevelExpression.cpp \
- share/vm/logging/logTagSet.cpp \
- share/vm/logging/logTagSetDescriptions.cpp \
- share/vm/memory/allocation.cpp \
- share/vm/memory/binaryTreeDictionary.cpp \
- share/vm/memory/filemap.cpp \
- share/vm/memory/freeBlockDictionary.cpp \
- share/vm/memory/freeList.cpp \
- share/vm/memory/guardedMemory.cpp \
- share/vm/memory/heap.cpp \
- share/vm/memory/heapInspection.cpp \
- share/vm/memory/iterator.cpp \
- share/vm/memory/memRegion.cpp \
- share/vm/memory/metachunk.cpp \
- share/vm/memory/metaspaceCounters.cpp \
- share/vm/memory/metaspace.cpp \
- share/vm/memory/metaspaceShared.cpp \
- share/vm/memory/metaspaceTracer.cpp \
- share/vm/memory/oopFactory.cpp \
- share/vm/memory/resourceArea.cpp \
- share/vm/memory/universe.cpp \
- share/vm/memory/universe_ext.cpp \
- share/vm/memory/virtualspace.cpp \
- share/vm/oops/annotations.cpp \
- share/vm/oops/arrayKlass.cpp \
- share/vm/oops/compiledICHolder.cpp \
- share/vm/oops/constantPool.cpp \
- share/vm/oops/constMethod.cpp \
- share/vm/oops/cpCache.cpp \
- share/vm/oops/generateOopMap.cpp \
- share/vm/oops/instanceKlass.cpp \
- share/vm/oops/instanceMirrorKlass.cpp \
- share/vm/oops/instanceOop.cpp \
- share/vm/oops/instanceRefKlass.cpp \
- share/vm/oops/klass.cpp \
- share/vm/oops/klassVtable.cpp \
- share/vm/oops/markOop.cpp \
- share/vm/oops/metadata.cpp \
- share/vm/oops/methodCounters.cpp \
- share/vm/oops/method.cpp \
- share/vm/oops/methodData.cpp \
- share/vm/oops/objArrayKlass.cpp \
- share/vm/oops/objArrayOop.cpp \
- share/vm/oops/oop.cpp \
- share/vm/oops/oopsHierarchy.cpp \
- share/vm/oops/symbol.cpp \
- share/vm/oops/typeArrayKlass.cpp \
- share/vm/prims/evmCompat.cpp \
- share/vm/prims/forte.cpp \
- share/vm/prims/jniCheck.cpp \
- share/vm/prims/jni.cpp \
- share/vm/prims/jniFastGetField.cpp \
- share/vm/prims/jvm.cpp \
- share/vm/prims/jvmtiClassFileReconstituter.cpp \
- share/vm/prims/jvmtiCodeBlobEvents.cpp \
- share/vm/prims/jvmtiEnvBase.cpp \
- share/vm/prims/jvmtiEnv.cpp \
- share/vm/prims/jvmtiEnvThreadState.cpp \
- share/vm/prims/jvmtiEventController.cpp \
- share/vm/prims/jvmtiExport.cpp \
- share/vm/prims/jvmtiExtensions.cpp \
- share/vm/prims/jvmtiGetLoadedClasses.cpp \
- share/vm/prims/jvmtiImpl.cpp \
- share/vm/prims/jvmtiManageCapabilities.cpp \
- share/vm/prims/jvmtiRawMonitor.cpp \
- share/vm/prims/jvmtiRedefineClasses.cpp \
- share/vm/prims/jvmtiTagMap.cpp \
- share/vm/prims/jvmtiThreadState.cpp \
- share/vm/prims/jvmtiTrace.cpp \
- share/vm/prims/jvmtiUtil.cpp \
- share/vm/prims/methodComparator.cpp \
- share/vm/prims/methodHandles.cpp \
- share/vm/prims/nativeLookup.cpp \
- share/vm/prims/perf.cpp \
- share/vm/prims/privilegedStack.cpp \
- share/vm/prims/stackwalk.cpp \
- share/vm/prims/unsafe.cpp \
- share/vm/prims/wbtestmethods/parserTests.cpp \
- share/vm/prims/whitebox.cpp \
- share/vm/prims/whitebox_ext.cpp \
- share/vm/runtime/advancedThresholdPolicy.cpp \
- share/vm/runtime/arguments.cpp \
- share/vm/runtime/arguments_ext.cpp \
- share/vm/runtime/basicLock.cpp \
- share/vm/runtime/biasedLocking.cpp \
- share/vm/runtime/commandLineFlagConstraintList.cpp \
- share/vm/runtime/commandLineFlagConstraintsCompiler.cpp \
- share/vm/runtime/commandLineFlagConstraintsGC.cpp \
- share/vm/runtime/commandLineFlagConstraintsRuntime.cpp \
- share/vm/runtime/commandLineFlagRangeList.cpp \
- share/vm/runtime/commandLineFlagWriteableList.cpp \
- share/vm/runtime/compilationPolicy.cpp \
- share/vm/runtime/deoptimization.cpp \
- share/vm/runtime/fieldDescriptor.cpp \
- share/vm/runtime/fieldType.cpp \
- share/vm/runtime/fprofiler.cpp \
- share/vm/runtime/frame.cpp \
- share/vm/runtime/globals.cpp \
- share/vm/runtime/handles.cpp \
- share/vm/runtime/icache.cpp \
- share/vm/runtime/init.cpp \
- share/vm/runtime/interfaceSupport.cpp \
- share/vm/runtime/javaCalls.cpp \
- share/vm/runtime/java.cpp \
- share/vm/runtime/jniHandles.cpp \
- share/vm/runtime/jniPeriodicChecker.cpp \
- share/vm/runtime/memprofiler.cpp \
- share/vm/runtime/monitorChunk.cpp \
- share/vm/runtime/mutex.cpp \
- share/vm/runtime/mutexLocker.cpp \
- share/vm/runtime/objectMonitor.cpp \
- share/vm/runtime/orderAccess.cpp \
- share/vm/runtime/os.cpp \
- share/vm/runtime/osThread.cpp \
- share/vm/runtime/park.cpp \
- share/vm/runtime/perfData.cpp \
- share/vm/runtime/perfMemory.cpp \
- share/vm/runtime/reflection.cpp \
- share/vm/runtime/reflectionUtils.cpp \
- share/vm/runtime/relocator.cpp \
- share/vm/runtime/rframe.cpp \
- share/vm/runtime/rtmLocking.cpp \
- share/vm/runtime/safepoint.cpp \
- share/vm/runtime/serviceThread.cpp \
- share/vm/runtime/sharedRuntime.cpp \
- share/vm/runtime/sharedRuntimeTrans.cpp \
- share/vm/runtime/sharedRuntimeTrig.cpp \
- share/vm/runtime/signature.cpp \
- share/vm/runtime/simpleThresholdPolicy.cpp \
- share/vm/runtime/stackValueCollection.cpp \
- share/vm/runtime/stackValue.cpp \
- share/vm/runtime/statSampler.cpp \
- share/vm/runtime/stubCodeGenerator.cpp \
- share/vm/runtime/stubRoutines.cpp \
- share/vm/runtime/sweeper.cpp \
- share/vm/runtime/synchronizer.cpp \
- share/vm/runtime/task.cpp \
- share/vm/runtime/thread.cpp \
- share/vm/runtime/thread_ext.cpp \
- share/vm/runtime/timer.cpp \
- share/vm/runtime/timerTrace.cpp \
- share/vm/runtime/unhandledOops.cpp \
- share/vm/runtime/vframeArray.cpp \
- share/vm/runtime/vframe.cpp \
- share/vm/runtime/vframe_hp.cpp \
- share/vm/runtime/vm_operations.cpp \
- share/vm/runtime/vmStructs.cpp \
- share/vm/runtime/vmThread.cpp \
- share/vm/runtime/vm_version.cpp \
- share/vm/services/attachListener.cpp \
- share/vm/services/classLoadingService.cpp \
- share/vm/services/diagnosticArgument.cpp \
- share/vm/services/diagnosticCommand.cpp \
- share/vm/services/diagnosticFramework.cpp \
- share/vm/services/dtraceAttacher.cpp \
- share/vm/services/g1MemoryPool.cpp \
- share/vm/services/gcNotifier.cpp \
- share/vm/services/heapDumper.cpp \
- share/vm/services/lowMemoryDetector.cpp \
- share/vm/services/mallocSiteTable.cpp \
- share/vm/services/mallocTracker.cpp \
- share/vm/services/management.cpp \
- share/vm/services/memBaseline.cpp \
- share/vm/services/memoryManager.cpp \
- share/vm/services/memoryPool.cpp \
- share/vm/services/memoryService.cpp \
- share/vm/services/memReporter.cpp \
- share/vm/services/memTracker.cpp \
- share/vm/services/nmtCommon.cpp \
- share/vm/services/nmtDCmd.cpp \
- share/vm/services/psMemoryPool.cpp \
- share/vm/services/runtimeService.cpp \
- share/vm/services/threadService.cpp \
- share/vm/services/virtualMemoryTracker.cpp \
- share/vm/services/writeableFlags.cpp \
- share/vm/trace/traceBackend.cpp \
- share/vm/trace/traceStream.cpp \
- share/vm/utilities/accessFlags.cpp \
- share/vm/utilities/bitMap.cpp \
- share/vm/utilities/constantTag.cpp \
- share/vm/utilities/copy.cpp \
- share/vm/utilities/debug.cpp \
- share/vm/utilities/decoder.cpp \
- share/vm/utilities/decoder_elf.cpp \
- share/vm/utilities/elfFile.cpp \
- share/vm/utilities/elfFuncDescTable.cpp \
- share/vm/utilities/elfStringTable.cpp \
- share/vm/utilities/elfSymbolTable.cpp \
- share/vm/utilities/errorReporter.cpp \
- share/vm/utilities/events.cpp \
- share/vm/utilities/exceptions.cpp \
- share/vm/utilities/globalDefinitions.cpp \
- share/vm/utilities/growableArray.cpp \
- share/vm/utilities/hashtable.cpp \
- share/vm/utilities/histogram.cpp \
- share/vm/utilities/internalVMTests.cpp \
- share/vm/utilities/intHisto.cpp \
- share/vm/utilities/json.cpp \
- share/vm/utilities/nativeCallStack.cpp \
- share/vm/utilities/numberSeq.cpp \
- share/vm/utilities/ostream.cpp \
- share/vm/utilities/preserveException.cpp \
- share/vm/utilities/sizes.cpp \
- share/vm/utilities/stringUtils.cpp \
- share/vm/utilities/ticks.cpp \
- share/vm/utilities/utf8.cpp \
- share/vm/utilities/vmError.cpp \
- share/vm/utilities/xmlstream.cpp
-
-CC_OPT_share/vm/runtime/vm_version += $(JDK_VERSION) \
- -DHOTSPOT_VERSION_STRING='"9-internal+0-adhoc.genode.openjdk-jdk9-jdk9"'\
- -DDEBUG_LEVEL='"release"' -DHOTSPOT_VM_DISTRO='"OpenJDK"' \
- -DHOTSPOT_BUILD_USER='"genode"'
-
-CC_OPT_share/vm/interpreter/bytecodeInterpreterWithChecks += -DVM_JVMTI
-
-vpath dummies.cpp $(REP_DIR)/src/app/jdk/lib/jvm
-vpath jvmtiEnter.cpp $(JDK_GENERATED)/src
-vpath jvmtiEnterTrace.cpp $(JDK_GENERATED)/src
-vpath %.cpp $(HOTSPOT_BASE)
-
-# vi: set ft=make :
diff --git a/repos/ports/lib/mk/jzip.mk b/repos/ports/lib/mk/jzip.mk
deleted file mode 100644
index 6de6ad73d1..0000000000
--- a/repos/ports/lib/mk/jzip.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LIBS = libc zlib
-SHARED_LIB = yes
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk
-
-SRC_C = Adler32.c CRC32.c Deflater.c Inflater.c zip_util.c
-
-INC_DIR += $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/share/native/libjava \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjava \
- $(JDK_GENERATED)/include/java.base
-
-CC_C_OPT = -D_ALLBSD_SOURCE
-
-vpath %.c $(JDK_BASE)/share/native/libzip
diff --git a/repos/ports/lib/mk/nio.mk b/repos/ports/lib/mk/nio.mk
deleted file mode 100644
index 6ed2e26152..0000000000
--- a/repos/ports/lib/mk/nio.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-LIBS = libc
-SHARED_LIB = yes
-JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base
-JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk
-
-SRC_C = fs/UnixNativeDispatcher.c \
- fs/UnixCopyFile.c \
- MappedByteBuffer.c \
- ch/UnixAsynchronousServerSocketChannelImpl.c \
- ch/FileKey.c \
- ch/UnixAsynchronousSocketChannelImpl.c \
- ch/SocketDispatcher.c \
- ch/NativeThread.c \
- ch/DatagramChannelImpl.c \
- ch/FileChannelImpl.c \
- ch/PollArrayWrapper.c \
- ch/InheritedChannel.c \
- ch/Net.c \
- ch/FileDispatcherImpl.c \
- ch/IOUtil.c \
- ch/DatagramDispatcher.c \
- ch/ServerSocketChannelImpl.c \
- ch/SocketChannelImpl.c
-
-
-INC_DIR += $(JDK_GENERATED)/include/java.base \
- $(JDK_BASE)/share/native/include \
- $(JDK_BASE)/share/native/libjava \
- $(JDK_BASE)/share/native/libnet \
- $(JDK_BASE)/share/native/libnio \
- $(JDK_BASE)/share/native/libnio/ch \
- $(JDK_BASE)/unix/native/include \
- $(JDK_BASE)/unix/native/libjava \
- $(JDK_BASE)/unix/native/libnet \
- $(JDK_BASE)/unix/native/libnio
-
-CC_C_OPT = -D_ALLBSD_SOURCE -include netinet/in.h
-
-CC_OPT_ch/Net += -DIPV6_ADD_MEMBERSHIP=IPV6_JOIN_GROUP -DIPV6_DROP_MEMBERSHIP=IPV6_LEAVE_GROUP
-CC_OPT_net_util_md += -include sys/socket.h
-
-vpath %.c $(JDK_BASE)/unix/native/libnio
diff --git a/repos/ports/lib/mk/spec/arm/java.mk b/repos/ports/lib/mk/spec/arm/java.mk
deleted file mode 100644
index ad243f0bad..0000000000
--- a/repos/ports/lib/mk/spec/arm/java.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-CC_OPT = -DARCHPROPNAME='"arm"'
-
-include $(REP_DIR)/lib/mk/java.inc
diff --git a/repos/ports/lib/mk/spec/arm/jvm.mk b/repos/ports/lib/mk/spec/arm/jvm.mk
deleted file mode 100644
index 271e117ba0..0000000000
--- a/repos/ports/lib/mk/spec/arm/jvm.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-CC_OPT = -DHOTSPOT_LIB_ARCH='"arm"' -DARM -DARM32 \
- -DZERO_LIBARCH='"arm"'
-
-include $(REP_DIR)/lib/mk/jvm.inc
diff --git a/repos/ports/lib/mk/spec/x86_64/java.mk b/repos/ports/lib/mk/spec/x86_64/java.mk
deleted file mode 100644
index 6a307554b6..0000000000
--- a/repos/ports/lib/mk/spec/x86_64/java.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-CC_OPT = -DARCHPROPNAME='"amd64"'
-
-include $(REP_DIR)/lib/mk/java.inc
diff --git a/repos/ports/lib/mk/spec/x86_64/jvm.mk b/repos/ports/lib/mk/spec/x86_64/jvm.mk
deleted file mode 100644
index 72c51b3c7d..0000000000
--- a/repos/ports/lib/mk/spec/x86_64/jvm.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-CC_OPT = -DAMD64 -DHOTSPOT_LIB_ARCH='"amd64"' \
- -DZERO_LIBARCH='"amd64"'
-
-include $(REP_DIR)/lib/mk/jvm.inc
diff --git a/repos/ports/ports/jdk.hash b/repos/ports/ports/jdk.hash
deleted file mode 100644
index 4783a6f33a..0000000000
--- a/repos/ports/ports/jdk.hash
+++ /dev/null
@@ -1 +0,0 @@
-ce1c22ae10fce9ba28837e47c25262a1b819e4ad
diff --git a/repos/ports/ports/jdk.port b/repos/ports/ports/jdk.port
deleted file mode 100644
index 0a90441ff9..0000000000
--- a/repos/ports/ports/jdk.port
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE := GPLv2
-VERSION := 64892f1c9874938dfcdc235b5c051dd761cdd833
-DOWNLOADS := jdk.archive
-
-NAME(jdk) := jdk.tgz
-URL(jdk) := https://api.github.com/repos/dmlloyd/openjdk/tarball/$(VERSION)
-SHA(jdk) := d5b032d5d312148d1c15cde975aa43c4dfa4f2441472d70270ffd6aa22a33694
-DIR(jdk) := src/app/jdk
-
-PATCHES := $(addprefix src/app/jdk/patches/,jdk.patch arm.patch size.patch \
- pollselectorprovider.patch os_bsd.patch \
- os_bsd_zero.patch)
-PATCH_OPT := -p1 -d src/app/jdk
-
-gen_file := src/app/jdk/hotspot/src/share/vm/interpreter/bytecodeInterpreterWithChecks.cpp
-
-default: $(gen_file)
-
-$(gen_file): _patch
- $(VERBOSE)cp $(@D)/bytecodeInterpreter.cpp $(gen_file)
-
-# vi: set ft=make :
diff --git a/repos/ports/ports/jdk_generated.hash b/repos/ports/ports/jdk_generated.hash
deleted file mode 100644
index 3acc0a03ef..0000000000
--- a/repos/ports/ports/jdk_generated.hash
+++ /dev/null
@@ -1 +0,0 @@
-a122728151284665ca99aa71cec49a81347fac76
diff --git a/repos/ports/ports/jdk_generated.port b/repos/ports/ports/jdk_generated.port
deleted file mode 100644
index 9f8a4254a6..0000000000
--- a/repos/ports/ports/jdk_generated.port
+++ /dev/null
@@ -1,9 +0,0 @@
-LICENSE := GPLv2
-VERSION := git
-DOWNLOADS := jdk_generated.git
-
-URL(jdk_generated) := https://github.com/ssumpf/jdk_generated.git
-REV(jdk_generated) := cede347a20501628db7feb43e4beacefdb6761b2
-DIR(jdk_generated) := src/app/jdk
-
-# vi: set ft=make :
diff --git a/repos/ports/run/java.run b/repos/ports/run/java.run
deleted file mode 100644
index 5853c9397c..0000000000
--- a/repos/ports/run/java.run
+++ /dev/null
@@ -1,106 +0,0 @@
-set build_components {
- core init
- drivers/timer
- app/jdk/java
-}
-
-build $build_components
-create_boot_directory
-
-proc copy_test_data { } {
- set ::env(MAKEFLAGS) s
- set jdk_data [exec [genode_dir]/tool/ports/current jdk_generated]/src/app/jdk/bin
- exec cp $jdk_data/classes.tar bin/.
- exec cp $jdk_data/hello.tar bin/.
- exec cp $jdk_data/tzdb.dat bin/.
-}
-
-copy_test_data
-
-set config {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2000-01-01 00:00
-
-
-
-
-
-
- -server KNOWN
--client IGNORE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-install_config $config
-
-set boot_modules {
- core init ld.lib.so timer
- java jli.lib.so
- java.lib.so jvm.lib.so jzip.lib.so jimage.lib.so
- libc.lib.so libm.lib.so libc_pipe.lib.so
- zlib.lib.so nio.lib.so jnet.lib.so
- posix.lib.so stdcxx.lib.so ffi.lib.so
- vfs.lib.so
- classes.tar hello.tar
-}
-
-
-build_boot_image $boot_modules
-
-append qemu_args " -nographic"
-
-run_genode_until {.*Hello, Genode.*} 180
-
-exec rm bin/classes.tar bin/hello.tar bin/tzdb.dat
diff --git a/repos/ports/src/app/jdk/java/target.mk b/repos/ports/src/app/jdk/java/target.mk
deleted file mode 100644
index f7b7f82acf..0000000000
--- a/repos/ports/src/app/jdk/java/target.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-TARGET = java
-SRC_C = main.c
-LIBS = jli java jvm libc posix libc_pipe
-
-CC_C_OPT = -DVERSION_STRING='"9-genode.openjdk"' -D__GENODE__
-
-JDK_PATH = $(call select_from_ports,jdk)/src/app/jdk
-vpath main.c $(JDK_PATH)/jdk/src/java.base/share/native/launcher
diff --git a/repos/ports/src/app/jdk/lib/include/errno.h b/repos/ports/src/app/jdk/lib/include/errno.h
deleted file mode 100644
index 052a9211fa..0000000000
--- a/repos/ports/src/app/jdk/lib/include/errno.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _INCLUDE__ERRNO_H_
-#define _INCLUDE__ERRNO_H_
-
-#include
-
-#define ENOSTR 60
-#define ENODATA 61
-#define ETIME 62
-#define ENOSR 63
-
-#endif /* _INCLUDE__ERRNO_H_ */
diff --git a/repos/ports/src/app/jdk/lib/include/os_bsd.hpp b/repos/ports/src/app/jdk/lib/include/os_bsd.hpp
deleted file mode 100644
index 299ff5aec8..0000000000
--- a/repos/ports/src/app/jdk/lib/include/os_bsd.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _INCLUDE__OS_BSD_HPP_
-#define _INCLUDE__OS_BSD_HPP_
-
-#include
-
-static int cmpxchg(int oldval, int newval, volatile int *ptr);
-
-#endif /* _INCLUDE__OS_BSD_HPP_ */
diff --git a/repos/ports/src/app/jdk/lib/include/ucontext.h b/repos/ports/src/app/jdk/lib/include/ucontext.h
deleted file mode 100644
index 73c2166c84..0000000000
--- a/repos/ports/src/app/jdk/lib/include/ucontext.h
+++ /dev/null
@@ -1 +0,0 @@
-#include
diff --git a/repos/ports/src/app/jdk/lib/java/math_genode.c b/repos/ports/src/app/jdk/lib/java/math_genode.c
deleted file mode 100644
index c0fb5a16d1..0000000000
--- a/repos/ports/src/app/jdk/lib/java/math_genode.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include
-
-double jacos(double d) { return acos(d); }
-double jasin(double d) { return asin(d); }
-double jatan(double d) { return atan(d); }
-double jatan2(double d1, double d2) { return atan2(d1, d2); }
-double jcos(double d) { return cos(d); }
-double jcosh(double d) { return cosh(d); }
-double jexpm1(double d) { return expm1(d); }
-double jlog(double d) { return log(d); }
-double jlog10(double d) { return log10(d); }
-double jlog1p(double d) { return log1p(d); }
-double jremainder(double d1, double d2) { return remainder(d1, d2); }
-double jsin(double d) { return sin(d); }
-double jsinh(double d) { return sinh(d); }
-double jsqrt(double d) { return sqrt(d); }
-double jtan(double d) { return tan(d); }
-double jtanh(double d) { return tanh(d); }
diff --git a/repos/ports/src/app/jdk/lib/java/target.mk b/repos/ports/src/app/jdk/lib/java/target.mk
deleted file mode 100644
index 3a0ad90902..0000000000
--- a/repos/ports/src/app/jdk/lib/java/target.mk
+++ /dev/null
@@ -1 +0,0 @@
-LIBS = java
diff --git a/repos/ports/src/app/jdk/lib/jvm/dummies.cpp b/repos/ports/src/app/jdk/lib/jvm/dummies.cpp
deleted file mode 100644
index a1fd475aff..0000000000
--- a/repos/ports/src/app/jdk/lib/jvm/dummies.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#include
-#include
-
-extern "C" {
-#include
-#include
-#include
-#include
-#include
-#include
-}
-
-#if 0
-#define WARN_NOT_IMPL Genode::warning(__func__, " not implemented (jvm)");
-#else
-#define WARN_NOT_IMPL
-#endif
-
-extern "C" void collector_func_load(char* name,
- void* null_argument_1,
- void* null_argument_2,
- void *vaddr,
- int size,
- int zero_argument,
- void* null_argument_3)
-{ }
-
-
-int getpwuid_r(uid_t uid, struct passwd *pwd,
- char *buf, size_t buflen, struct passwd **result)
-{
- *result = nullptr;
- return -1;
-}
-
-
-int getpwnam_r(const char *name, struct passwd *pwd,
- char *buf, size_t buflen, struct passwd **result)
-{
- WARN_NOT_IMPL;
- return -1;
-}
-
-
-int mincore(const void *, size_t, char *)
-{
- WARN_NOT_IMPL;
- return -1;
-}
-
-
-int msync(void *addr, size_t length, int flags)
-{
- WARN_NOT_IMPL;
- return -1;
-}
-
-
-int lchown(const char *pathname, uid_t owner, gid_t group)
-{
- WARN_NOT_IMPL;
- return -1;
-}
-
-
-int futimes(int fd, const struct timeval tv[2])
-{
- WARN_NOT_IMPL;
- return -1;
-}
-
-
-ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags)
-{
- WARN_NOT_IMPL;
- return -1;
-}
-
-
-int socketpair(int domain, int type, int protocol, int sv[2])
-{
- WARN_NOT_IMPL;
- return 0;
-}
-
-int sigaction(int signum, const struct sigaction *act,
- struct sigaction *oldact)
-{
- WARN_NOT_IMPL;
- return 0;
-}
-
-
-extern "C" void backtrace()
-{
- Genode::backtrace();
-}
diff --git a/repos/ports/src/app/jdk/lib/jvm/target.mk b/repos/ports/src/app/jdk/lib/jvm/target.mk
deleted file mode 100644
index af67ffa4d4..0000000000
--- a/repos/ports/src/app/jdk/lib/jvm/target.mk
+++ /dev/null
@@ -1 +0,0 @@
-LIBS = jvm
diff --git a/repos/ports/src/app/jdk/patches/arm.patch b/repos/ports/src/app/jdk/patches/arm.patch
deleted file mode 100644
index 322c0d6164..0000000000
--- a/repos/ports/src/app/jdk/patches/arm.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp b/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp
-index e808340..560a8d3 100644
---- a/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp
-+++ b/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp
-@@ -111,8 +111,12 @@ static inline int m68k_lock_test_and_set(volatile int *ptr, int newval) {
- */
-
- typedef int (__kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
--#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0)
-
-+#ifdef __GENODE__
-+#define __kernel_cmpxchg os::cmpxchg
-+#else
-+#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0)
-+#endif
-
-
- /* Perform an atomic compare and swap: if the current value of `*PTR'
-diff --git a/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp b/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp
-index fb3017c..f5c2d37 100644
---- a/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp
-+++ b/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp
-@@ -37,7 +37,13 @@
- * helper for all gcc versions so it is unreliable to use as well.
- */
- typedef void (__kernel_dmb_t) (void);
-+
-+#ifdef __GENODE__
-+static inline void __kernel_dmb(void) { asm volatile ("dmb ish": : :"memory"); }
-+#else
- #define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0)
-+#endif
-+
-
- #define FULL_MEM_BARRIER __kernel_dmb()
- #define LIGHT_MEM_BARRIER __kernel_dmb()
diff --git a/repos/ports/src/app/jdk/patches/jdk.patch b/repos/ports/src/app/jdk/patches/jdk.patch
deleted file mode 100644
index 0737da4143..0000000000
--- a/repos/ports/src/app/jdk/patches/jdk.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-commit 9521d3210cb2979888d3c9ed5a7c8e0e4dd548da
-Author: Sebastian Sumpf
-Date: Wed Sep 27 09:58:20 2017 +0200
-
- hotspot: Genode patches
-
-diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
-index 197079ba1..b1972ca31 100644
---- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
-+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
-@@ -426,7 +426,7 @@ class VM_Version_StubGenerator: public StubCodeGenerator {
- __ xorl(rsi, rsi);
- VM_Version::set_cpuinfo_segv_addr(__ pc());
- // Generate SEGV
-- __ movl(rax, Address(rsi, 0));
-+ //__ movl(rax, Address(rsi, 0));
-
- VM_Version::set_cpuinfo_cont_addr(__ pc());
- // Returns here after signal. Save xmm0 to check it later.
-diff --git a/hotspot/src/os/bsd/vm/jvm_bsd.h b/hotspot/src/os/bsd/vm/jvm_bsd.h
-index f099198d1..5fa636a7d 100644
---- a/hotspot/src/os/bsd/vm/jvm_bsd.h
-+++ b/hotspot/src/os/bsd/vm/jvm_bsd.h
-@@ -68,7 +68,7 @@
- #define AGENT_ONUNLOAD_SYMBOLS {"Agent_OnUnload"}
- #define AGENT_ONATTACH_SYMBOLS {"Agent_OnAttach"}
-
--#define JNI_LIB_PREFIX "lib"
-+#define JNI_LIB_PREFIX ""
- #ifdef __APPLE__
- #define JNI_LIB_SUFFIX ".dylib"
- #else
-diff --git a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
-index 3a405dec2..e5963f3fc 100644
---- a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
-+++ b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
-@@ -44,7 +44,7 @@ inline bool os::obsolete_option(const JavaVMOption *option) {
- }
-
- inline bool os::uses_stack_guard_pages() {
-- return true;
-+ return false;
- }
-
- inline bool os::must_commit_stack_guard_pages() {
-diff --git a/hotspot/src/os/posix/vm/os_posix.cpp b/hotspot/src/os/posix/vm/os_posix.cpp
-index 5885906f6..e482a405a 100644
---- a/hotspot/src/os/posix/vm/os_posix.cpp
-+++ b/hotspot/src/os/posix/vm/os_posix.cpp
-@@ -185,7 +185,7 @@ int os::log_vsnprintf(char* buf, size_t len, const char* fmt, va_list args) {
- }
-
- int os::get_fileno(FILE* fp) {
-- return NOT_AIX(::)fileno(fp);
-+ return fileno(fp);
- }
-
- struct tm* os::gmtime_pd(const time_t* clock, struct tm* res) {
-diff --git a/jdk/src/java.base/unix/native/include/jvm_md.h b/jdk/src/java.base/unix/native/include/jvm_md.h
-index 818ab732a..23692e9ac 100644
---- a/jdk/src/java.base/unix/native/include/jvm_md.h
-+++ b/jdk/src/java.base/unix/native/include/jvm_md.h
-@@ -40,10 +40,18 @@
- #define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"}
- #define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"}
-
-+#ifdef __GENODE__
-+#define JNI_LIB_PREFIX ""
-+#else
- #define JNI_LIB_PREFIX "lib"
-+#endif
-+
- #ifdef __APPLE__
- #define JNI_LIB_SUFFIX ".dylib"
- #define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME "." VERSION JNI_LIB_SUFFIX
-+#elif defined(__GENODE__)
-+#define JNI_LIB_SUFFIX ".lib.so"
-+#define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX "." VERSION
- #else
- #define JNI_LIB_SUFFIX ".so"
- #define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX "." VERSION
-diff --git a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c
-index cb9afc098..2d5af9fc6 100644
---- a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c
-+++ b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c
-@@ -37,9 +37,14 @@
- #include
- #include "manifest_info.h"
-
--
-+#ifdef __GENODE__
-+#define JVM_DLL "jvm.lib.so"
-+#define JAVA_DLL "java.lib.so"
-+#else
- #define JVM_DLL "libjvm.so"
- #define JAVA_DLL "libjava.so"
-+#endif
-+
- #ifdef AIX
- #define LD_LIBRARY_PATH "LIBPATH"
- #else
diff --git a/repos/ports/src/app/jdk/patches/os_bsd.patch b/repos/ports/src/app/jdk/patches/os_bsd.patch
deleted file mode 100644
index 9b7a5f8975..0000000000
--- a/repos/ports/src/app/jdk/patches/os_bsd.patch
+++ /dev/null
@@ -1,1147 +0,0 @@
-diff --git a/hotspot/src/os/bsd/vm/os_bsd.cpp b/hotspot/src/os/bsd/vm/os_bsd.cpp
-index 9261440..2348f1a 100644
---- a/hotspot/src/os/bsd/vm/os_bsd.cpp
-+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp
-@@ -21,6 +21,26 @@
- * questions.
- *
- */
-+#ifdef ZERO
-+#undef ZERO
-+#define ZERO_ENABLE
-+#endif
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#ifdef ZERO_ENABLE
-+#define ZERO
-+#endif
-+
-+/* libc includes */
-+#include /* 'malloc'/ 'exit' */
-
- // no precompiled headers
- #include "classfile/classLoader.hpp"
-@@ -97,7 +117,6 @@
- # include
- # include
- # include
--# include
- #ifndef __APPLE__
- # include
- #endif
-@@ -106,17 +125,21 @@
- # include
- # include
-
-+
- #if defined(__FreeBSD__) || defined(__NetBSD__)
- #include
- #endif
-
--#ifdef __APPLE__
-- #include // semaphore_* API
-- #include
-- #include
-- #include
-+#if 0
-+#define NOT_IMPL ({ \
-+ PDBG("called not implmemented\n"); \
-+})
-+#else
-+#define NOT_IMPL
- #endif
-
-+extern "C" void backtrace();
-+
- #ifndef MAP_ANONYMOUS
- #define MAP_ANONYMOUS MAP_ANON
- #endif
-@@ -141,6 +164,13 @@ int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL;
- pthread_t os::Bsd::_main_thread;
- int os::Bsd::_page_size = -1;
-
-+int clock_getres(clockid_t, struct timespec *res)
-+{
-+ res->tv_sec = 0;
-+ res->tv_nsec = 1000*1000; /* 1ms */
-+ return 0;
-+}
-+
- static jlong initial_time_count=0;
-
- static int clock_tics_per_sec = 100;
-@@ -547,52 +577,6 @@ bool os::Bsd::is_sig_ignored(int sig) {
- }
- }
-
--void os::Bsd::signal_sets_init() {
-- // Should also have an assertion stating we are still single-threaded.
-- assert(!signal_sets_initialized, "Already initialized");
-- // Fill in signals that are necessarily unblocked for all threads in
-- // the VM. Currently, we unblock the following signals:
-- // SHUTDOWN{1,2,3}_SIGNAL: for shutdown hooks support (unless over-ridden
-- // by -Xrs (=ReduceSignalUsage));
-- // BREAK_SIGNAL which is unblocked only by the VM thread and blocked by all
-- // other threads. The "ReduceSignalUsage" boolean tells us not to alter
-- // the dispositions or masks wrt these signals.
-- // Programs embedding the VM that want to use the above signals for their
-- // own purposes must, at this time, use the "-Xrs" option to prevent
-- // interference with shutdown hooks and BREAK_SIGNAL thread dumping.
-- // (See bug 4345157, and other related bugs).
-- // In reality, though, unblocking these signals is really a nop, since
-- // these signals are not blocked by default.
-- sigemptyset(&unblocked_sigs);
-- sigemptyset(&allowdebug_blocked_sigs);
-- sigaddset(&unblocked_sigs, SIGILL);
-- sigaddset(&unblocked_sigs, SIGSEGV);
-- sigaddset(&unblocked_sigs, SIGBUS);
-- sigaddset(&unblocked_sigs, SIGFPE);
-- sigaddset(&unblocked_sigs, SR_signum);
--
-- if (!ReduceSignalUsage) {
-- if (!os::Bsd::is_sig_ignored(SHUTDOWN1_SIGNAL)) {
-- sigaddset(&unblocked_sigs, SHUTDOWN1_SIGNAL);
-- sigaddset(&allowdebug_blocked_sigs, SHUTDOWN1_SIGNAL);
-- }
-- if (!os::Bsd::is_sig_ignored(SHUTDOWN2_SIGNAL)) {
-- sigaddset(&unblocked_sigs, SHUTDOWN2_SIGNAL);
-- sigaddset(&allowdebug_blocked_sigs, SHUTDOWN2_SIGNAL);
-- }
-- if (!os::Bsd::is_sig_ignored(SHUTDOWN3_SIGNAL)) {
-- sigaddset(&unblocked_sigs, SHUTDOWN3_SIGNAL);
-- sigaddset(&allowdebug_blocked_sigs, SHUTDOWN3_SIGNAL);
-- }
-- }
-- // Fill in signals that are blocked by all but the VM thread.
-- sigemptyset(&vm_sigs);
-- if (!ReduceSignalUsage) {
-- sigaddset(&vm_sigs, BREAK_SIGNAL);
-- }
-- debug_only(signal_sets_initialized = true);
--
--}
-
- // These are signals that are unblocked while a thread is running Java.
- // (For some reason, they get blocked by default.)
-@@ -1180,14 +1144,18 @@ int os::current_process_id() {
-
- // DLL functions
-
--#define JNI_LIB_PREFIX "lib"
-+#define JNI_LIB_PREFIX ""
- #ifdef __APPLE__
- #define JNI_LIB_SUFFIX ".dylib"
- #else
-- #define JNI_LIB_SUFFIX ".so"
-+ #undef JNI_LIB_SUFFIX
-+ #define JNI_LIB_SUFFIX ".lib.so"
- #endif
-
--const char* os::dll_file_extension() { return JNI_LIB_SUFFIX; }
-+const char* os::dll_file_extension()
-+{
-+ return JNI_LIB_SUFFIX;
-+}
-
- // This must be hard coded because it's the system's temporary
- // directory not the java application's temp directory, ala java.io.tmpdir.
-@@ -1375,6 +1343,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
- }
- #else
- void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
-+
- #ifdef STATIC_BUILD
- return os::get_default_process_handle();
- #else
-@@ -1617,6 +1586,7 @@ int os::get_loaded_modules_info(os::LoadedModulesCallbackFunc callback, void *pa
- }
-
- dlclose(handle);
-+ return 1;
- #elif defined(__APPLE__)
- for (uint32_t i = 1; i < _dyld_image_count(); i++) {
- // Value for top_address is returned as 0 since we don't have any information about module size
-@@ -1675,30 +1645,7 @@ void os::pd_print_cpu_info(outputStream* st, char* buf, size_t buflen) {
- }
-
- void os::get_summary_cpu_info(char* buf, size_t buflen) {
-- unsigned int mhz;
-- size_t size = sizeof(mhz);
-- int mib[] = { CTL_HW, HW_CPU_FREQ };
-- if (sysctl(mib, 2, &mhz, &size, NULL, 0) < 0) {
-- mhz = 1; // looks like an error but can be divided by
-- } else {
-- mhz /= 1000000; // reported in millions
-- }
--
-- char model[100];
-- size = sizeof(model);
-- int mib_model[] = { CTL_HW, HW_MODEL };
-- if (sysctl(mib_model, 2, model, &size, NULL, 0) < 0) {
-- strncpy(model, cpu_arch, sizeof(model));
-- }
--
-- char machine[100];
-- size = sizeof(machine);
-- int mib_machine[] = { CTL_HW, HW_MACHINE };
-- if (sysctl(mib_machine, 2, machine, &size, NULL, 0) < 0) {
-- strncpy(machine, "", sizeof(machine));
-- }
--
-- snprintf(buf, buflen, "%s %s %d MHz", model, machine, mhz);
-+ NOT_IMPL;
- }
-
- void os::print_memory_info(outputStream* st) {
-@@ -1888,6 +1835,8 @@ void* os::signal(int signal_number, void* handler) {
- }
-
- void os::signal_raise(int signal_number) {
-+ printf("%s called from", __func__);
-+ backtrace();
- ::raise(signal_number);
- }
-
-@@ -2131,58 +2080,6 @@ static void warn_fail_commit_memory(char* addr, size_t size, bool exec,
- os::errno_name(err), err);
- }
-
--// NOTE: Bsd kernel does not really reserve the pages for us.
--// All it does is to check if there are enough free pages
--// left at the time of mmap(). This could be a potential
--// problem.
--bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
-- int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
--#ifdef __OpenBSD__
-- // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
-- if (::mprotect(addr, size, prot) == 0) {
-- return true;
-- }
--#else
-- uintptr_t res = (uintptr_t) ::mmap(addr, size, prot,
-- MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
-- if (res != (uintptr_t) MAP_FAILED) {
-- return true;
-- }
--#endif
--
-- // Warn about any commit errors we see in non-product builds just
-- // in case mmap() doesn't work as described on the man page.
-- NOT_PRODUCT(warn_fail_commit_memory(addr, size, exec, errno);)
--
-- return false;
--}
--
--bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
-- bool exec) {
-- // alignment_hint is ignored on this OS
-- return pd_commit_memory(addr, size, exec);
--}
--
--void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec,
-- const char* mesg) {
-- assert(mesg != NULL, "mesg must be specified");
-- if (!pd_commit_memory(addr, size, exec)) {
-- // add extra info in product mode for vm_exit_out_of_memory():
-- PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);)
-- vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "%s", mesg);
-- }
--}
--
--void os::pd_commit_memory_or_exit(char* addr, size_t size,
-- size_t alignment_hint, bool exec,
-- const char* mesg) {
-- // alignment_hint is ignored on this OS
-- pd_commit_memory_or_exit(addr, size, exec, mesg);
--}
--
--void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) {
--}
--
- void os::pd_free_memory(char *addr, size_t bytes, size_t alignment_hint) {
- ::madvise(addr, bytes, MADV_DONTNEED);
- }
-@@ -2220,19 +2117,9 @@ char *os::scan_pages(char *start, char* end, page_info* page_expected, page_info
- }
-
-
--bool os::pd_uncommit_memory(char* addr, size_t size) {
--#ifdef __OpenBSD__
-- // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
-- return ::mprotect(addr, size, PROT_NONE) == 0;
--#else
-- uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
-- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0);
-- return res != (uintptr_t) MAP_FAILED;
--#endif
--}
--
- bool os::pd_create_stack_guard_pages(char* addr, size_t size) {
-- return os::commit_memory(addr, size, !ExecMem);
-+ NOT_IMPL;
-+ return true;
- }
-
- // If this is a growable mapping, remove the guard pages entirely by
-@@ -2270,15 +2157,6 @@ static int anon_munmap(char * addr, size_t size) {
- return ::munmap(addr, size) == 0;
- }
-
--char* os::pd_reserve_memory(size_t bytes, char* requested_addr,
-- size_t alignment_hint) {
-- return anon_mmap(requested_addr, bytes, (requested_addr != NULL));
--}
--
--bool os::pd_release_memory(char* addr, size_t size) {
-- return anon_munmap(addr, size);
--}
--
- static bool bsd_mprotect(char* addr, size_t size, int prot) {
- // Bsd wants the mprotect address argument to be page aligned.
- char* bottom = (char*)align_size_down((intptr_t)addr, os::Bsd::page_size());
-@@ -2331,80 +2209,13 @@ void os::large_page_init() {
-
-
- char* os::reserve_memory_special(size_t bytes, size_t alignment, char* req_addr, bool exec) {
-- fatal("This code is not used or maintained.");
--
-- // "exec" is passed in but not used. Creating the shared image for
-- // the code cache doesn't have an SHM_X executable permission to check.
-- assert(UseLargePages && UseSHM, "only for SHM large pages");
--
-- key_t key = IPC_PRIVATE;
-- char *addr;
--
-- bool warn_on_failure = UseLargePages &&
-- (!FLAG_IS_DEFAULT(UseLargePages) ||
-- !FLAG_IS_DEFAULT(LargePageSizeInBytes));
--
-- // Create a large shared memory region to attach to based on size.
-- // Currently, size is the total size of the heap
-- int shmid = shmget(key, bytes, IPC_CREAT|SHM_R|SHM_W);
-- if (shmid == -1) {
-- // Possible reasons for shmget failure:
-- // 1. shmmax is too small for Java heap.
-- // > check shmmax value: cat /proc/sys/kernel/shmmax
-- // > increase shmmax value: echo "0xffffffff" > /proc/sys/kernel/shmmax
-- // 2. not enough large page memory.
-- // > check available large pages: cat /proc/meminfo
-- // > increase amount of large pages:
-- // echo new_value > /proc/sys/vm/nr_hugepages
-- // Note 1: different Bsd may use different name for this property,
-- // e.g. on Redhat AS-3 it is "hugetlb_pool".
-- // Note 2: it's possible there's enough physical memory available but
-- // they are so fragmented after a long run that they can't
-- // coalesce into large pages. Try to reserve large pages when
-- // the system is still "fresh".
-- if (warn_on_failure) {
-- warning("Failed to reserve shared memory (errno = %d).", errno);
-- }
-- return NULL;
-- }
--
-- // attach to the region
-- addr = (char*)shmat(shmid, req_addr, 0);
-- int err = errno;
--
-- // Remove shmid. If shmat() is successful, the actual shared memory segment
-- // will be deleted when it's detached by shmdt() or when the process
-- // terminates. If shmat() is not successful this will remove the shared
-- // segment immediately.
-- shmctl(shmid, IPC_RMID, NULL);
--
-- if ((intptr_t)addr == -1) {
-- if (warn_on_failure) {
-- warning("Failed to attach shared memory (errno = %d).", err);
-- }
-- return NULL;
-- }
--
-- // The memory is committed
-- MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, CALLER_PC);
--
-- return addr;
-+ NOT_IMPL;
-+ return nullptr;
- }
-
- bool os::release_memory_special(char* base, size_t bytes) {
-- if (MemTracker::tracking_level() > NMT_minimal) {
-- Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
-- // detaching the SHM segment will also delete it, see reserve_memory_special()
-- int rslt = shmdt(base);
-- if (rslt == 0) {
-- tkr.record((address)base, bytes);
-- return true;
-- } else {
-- return false;
-- }
-- } else {
-- return shmdt(base) == 0;
-- }
-+ NOT_IMPL;
-+ return false;
- }
-
- size_t os::large_page_size() {
-@@ -2422,82 +2233,6 @@ bool os::can_execute_large_page_memory() {
- return UseHugeTLBFS;
- }
-
--// Reserve memory at an arbitrary address, only if that area is
--// available (and not reserved for something else).
--
--char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) {
-- const int max_tries = 10;
-- char* base[max_tries];
-- size_t size[max_tries];
-- const size_t gap = 0x000000;
--
-- // Assert only that the size is a multiple of the page size, since
-- // that's all that mmap requires, and since that's all we really know
-- // about at this low abstraction level. If we need higher alignment,
-- // we can either pass an alignment to this method or verify alignment
-- // in one of the methods further up the call chain. See bug 5044738.
-- assert(bytes % os::vm_page_size() == 0, "reserving unexpected size block");
--
-- // Repeatedly allocate blocks until the block is allocated at the
-- // right spot.
--
-- // Bsd mmap allows caller to pass an address as hint; give it a try first,
-- // if kernel honors the hint then we can return immediately.
-- char * addr = anon_mmap(requested_addr, bytes, false);
-- if (addr == requested_addr) {
-- return requested_addr;
-- }
--
-- if (addr != NULL) {
-- // mmap() is successful but it fails to reserve at the requested address
-- anon_munmap(addr, bytes);
-- }
--
-- int i;
-- for (i = 0; i < max_tries; ++i) {
-- base[i] = reserve_memory(bytes);
--
-- if (base[i] != NULL) {
-- // Is this the block we wanted?
-- if (base[i] == requested_addr) {
-- size[i] = bytes;
-- break;
-- }
--
-- // Does this overlap the block we wanted? Give back the overlapped
-- // parts and try again.
--
-- size_t top_overlap = requested_addr + (bytes + gap) - base[i];
-- if (top_overlap >= 0 && top_overlap < bytes) {
-- unmap_memory(base[i], top_overlap);
-- base[i] += top_overlap;
-- size[i] = bytes - top_overlap;
-- } else {
-- size_t bottom_overlap = base[i] + bytes - requested_addr;
-- if (bottom_overlap >= 0 && bottom_overlap < bytes) {
-- unmap_memory(requested_addr, bottom_overlap);
-- size[i] = bytes - bottom_overlap;
-- } else {
-- size[i] = bytes;
-- }
-- }
-- }
-- }
--
-- // Give back the unused reserved pieces.
--
-- for (int j = 0; j < i; ++j) {
-- if (base[j] != NULL) {
-- unmap_memory(base[j], size[j]);
-- }
-- }
--
-- if (i < max_tries) {
-- return requested_addr;
-- } else {
-- return NULL;
-- }
--}
-
- size_t os::read(int fd, void *buf, unsigned int nBytes) {
- RESTARTABLE_RETURN_INT(::read(fd, buf, nBytes));
-@@ -2618,53 +2353,13 @@ static int prio_init() {
- }
-
- OSReturn os::set_native_priority(Thread* thread, int newpri) {
-- if (!UseThreadPriorities || ThreadPriorityPolicy == 0) return OS_OK;
--
--#ifdef __OpenBSD__
-- // OpenBSD pthread_setprio starves low priority threads
-- return OS_OK;
--#elif defined(__FreeBSD__)
-- int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri);
--#elif defined(__APPLE__) || defined(__NetBSD__)
-- struct sched_param sp;
-- int policy;
-- pthread_t self = pthread_self();
--
-- if (pthread_getschedparam(self, &policy, &sp) != 0) {
-- return OS_ERR;
-- }
--
-- sp.sched_priority = newpri;
-- if (pthread_setschedparam(self, policy, &sp) != 0) {
-- return OS_ERR;
-- }
--
-+ NOT_IMPL;
- return OS_OK;
--#else
-- int ret = setpriority(PRIO_PROCESS, thread->osthread()->thread_id(), newpri);
-- return (ret == 0) ? OS_OK : OS_ERR;
--#endif
- }
-
- OSReturn os::get_native_priority(const Thread* const thread, int *priority_ptr) {
-- if (!UseThreadPriorities || ThreadPriorityPolicy == 0) {
-- *priority_ptr = java_to_os_priority[NormPriority];
-- return OS_OK;
-- }
--
-- errno = 0;
--#if defined(__OpenBSD__) || defined(__FreeBSD__)
-- *priority_ptr = pthread_getprio(thread->osthread()->pthread_id());
--#elif defined(__APPLE__) || defined(__NetBSD__)
-- int policy;
-- struct sched_param sp;
--
-- pthread_getschedparam(pthread_self(), &policy, &sp);
-- *priority_ptr = sp.sched_priority;
--#else
-- *priority_ptr = getpriority(PRIO_PROCESS, thread->osthread()->thread_id());
--#endif
-- return (*priority_ptr != -1 || errno == 0 ? OS_OK : OS_ERR);
-+ NOT_IMPL;
-+ return OS_OK;
- }
-
- // Hint to the underlying OS that a task switch would not be good.
-@@ -2786,47 +2481,6 @@ static void SR_handler(int sig, siginfo_t* siginfo, ucontext_t* context) {
- }
-
-
--static int SR_initialize() {
-- struct sigaction act;
-- char *s;
-- // Get signal number to use for suspend/resume
-- if ((s = ::getenv("_JAVA_SR_SIGNUM")) != 0) {
-- int sig = ::strtol(s, 0, 10);
-- if (sig > MAX2(SIGSEGV, SIGBUS) && // See 4355769.
-- sig < NSIG) { // Must be legal signal and fit into sigflags[].
-- SR_signum = sig;
-- } else {
-- warning("You set _JAVA_SR_SIGNUM=%d. It must be in range [%d, %d]. Using %d instead.",
-- sig, MAX2(SIGSEGV, SIGBUS)+1, NSIG-1, SR_signum);
-- }
-- }
--
-- assert(SR_signum > SIGSEGV && SR_signum > SIGBUS,
-- "SR_signum must be greater than max(SIGSEGV, SIGBUS), see 4355769");
--
-- sigemptyset(&SR_sigset);
-- sigaddset(&SR_sigset, SR_signum);
--
-- // Set up signal handler for suspend/resume
-- act.sa_flags = SA_RESTART|SA_SIGINFO;
-- act.sa_handler = (void (*)(int)) SR_handler;
--
-- // SR_signum is blocked by default.
-- // 4528190 - We also need to block pthread restart signal (32 on all
-- // supported Bsd platforms). Note that BsdThreads need to block
-- // this signal for all threads to work properly. So we don't have
-- // to use hard-coded signal number when setting up the mask.
-- pthread_sigmask(SIG_BLOCK, NULL, &act.sa_mask);
--
-- if (sigaction(SR_signum, &act, 0) == -1) {
-- return -1;
-- }
--
-- // Save signal flag
-- os::Bsd::set_our_sigflags(SR_signum, act.sa_flags);
-- return 0;
--}
--
- static int sr_notify(OSThread* osthread) {
- int status = pthread_kill(osthread->pthread_id(), SR_signum);
- assert_status(status == 0, status, "pthread_kill");
-@@ -3119,85 +2773,6 @@ void os::Bsd::set_signal_handler(int sig, bool set_installed) {
- assert(oldhand2 == oldhand, "no concurrent signal handler installation");
- }
-
--// install signal handlers for signals that HotSpot needs to
--// handle in order to support Java-level exception handling.
--
--void os::Bsd::install_signal_handlers() {
-- if (!signal_handlers_are_installed) {
-- signal_handlers_are_installed = true;
--
-- // signal-chaining
-- typedef void (*signal_setting_t)();
-- signal_setting_t begin_signal_setting = NULL;
-- signal_setting_t end_signal_setting = NULL;
-- begin_signal_setting = CAST_TO_FN_PTR(signal_setting_t,
-- dlsym(RTLD_DEFAULT, "JVM_begin_signal_setting"));
-- if (begin_signal_setting != NULL) {
-- end_signal_setting = CAST_TO_FN_PTR(signal_setting_t,
-- dlsym(RTLD_DEFAULT, "JVM_end_signal_setting"));
-- get_signal_action = CAST_TO_FN_PTR(get_signal_t,
-- dlsym(RTLD_DEFAULT, "JVM_get_signal_action"));
-- libjsig_is_loaded = true;
-- assert(UseSignalChaining, "should enable signal-chaining");
-- }
-- if (libjsig_is_loaded) {
-- // Tell libjsig jvm is setting signal handlers
-- (*begin_signal_setting)();
-- }
--
-- set_signal_handler(SIGSEGV, true);
-- set_signal_handler(SIGPIPE, true);
-- set_signal_handler(SIGBUS, true);
-- set_signal_handler(SIGILL, true);
-- set_signal_handler(SIGFPE, true);
-- set_signal_handler(SIGXFSZ, true);
--
--#if defined(__APPLE__)
-- // In Mac OS X 10.4, CrashReporter will write a crash log for all 'fatal' signals, including
-- // signals caught and handled by the JVM. To work around this, we reset the mach task
-- // signal handler that's placed on our process by CrashReporter. This disables
-- // CrashReporter-based reporting.
-- //
-- // This work-around is not necessary for 10.5+, as CrashReporter no longer intercedes
-- // on caught fatal signals.
-- //
-- // Additionally, gdb installs both standard BSD signal handlers, and mach exception
-- // handlers. By replacing the existing task exception handler, we disable gdb's mach
-- // exception handling, while leaving the standard BSD signal handlers functional.
-- kern_return_t kr;
-- kr = task_set_exception_ports(mach_task_self(),
-- EXC_MASK_BAD_ACCESS | EXC_MASK_ARITHMETIC,
-- MACH_PORT_NULL,
-- EXCEPTION_STATE_IDENTITY,
-- MACHINE_THREAD_STATE);
--
-- assert(kr == KERN_SUCCESS, "could not set mach task signal handler");
--#endif
--
-- if (libjsig_is_loaded) {
-- // Tell libjsig jvm finishes setting signal handlers
-- (*end_signal_setting)();
-- }
--
-- // We don't activate signal checker if libjsig is in place, we trust ourselves
-- // and if UserSignalHandler is installed all bets are off
-- if (CheckJNICalls) {
-- if (libjsig_is_loaded) {
-- if (PrintJNIResolving) {
-- tty->print_cr("Info: libjsig is activated, all active signal checking is disabled");
-- }
-- check_signals = false;
-- }
-- if (AllowUserSignalHandlers) {
-- if (PrintJNIResolving) {
-- tty->print_cr("Info: AllowUserSignalHandlers is activated, all active signal checking is disabled");
-- }
-- check_signals = false;
-- }
-- }
-- }
--}
--
-
- /////
- // glibc on Bsd platform uses non-documented flag
-@@ -3469,14 +3044,6 @@ jint os::init_2(void) {
- log_info(os)("Memory Serialize Page address: " INTPTR_FORMAT, p2i(mem_serialize_page));
- }
-
-- // initialize suspend/resume support - must do this before signal_sets_init()
-- if (SR_initialize() != 0) {
-- perror("SR_initialize failed");
-- return JNI_ERR;
-- }
--
-- Bsd::signal_sets_init();
-- Bsd::install_signal_handlers();
-
- // Check and sets minimum stack sizes against command line options
- if (Posix::set_minimum_stack_sizes() == JNI_ERR) {
-@@ -3542,16 +3109,18 @@ jint os::init_2(void) {
-
- // Mark the polling page as unreadable
- void os::make_polling_page_unreadable(void) {
-- if (!guard_memory((char*)_polling_page, Bsd::page_size())) {
-- fatal("Could not disable polling page");
-- }
-+ //if (!guard_memory((char*)_polling_page, Bsd::page_size())) {
-+ // fatal("Could not disable polling page");
-+ //}
-+ NOT_IMPL;
- }
-
- // Mark the polling page as readable
- void os::make_polling_page_readable(void) {
-- if (!bsd_mprotect((char *)_polling_page, Bsd::page_size(), PROT_READ)) {
-- fatal("Could not enable polling page");
-- }
-+ //if (!bsd_mprotect((char *)_polling_page, Bsd::page_size(), PROT_READ)) {
-+ // fatal("Could not enable polling page");
-+ //}
-+ NOT_IMPL;
- }
-
- int os::active_processor_count() {
-@@ -3581,6 +3150,9 @@ bool os::bind_to_processor(uint processor_id) {
- }
-
- void os::SuspendedThreadTask::internal_do_task() {
-+ printf("%s called from", __func__);
-+ backtrace();
-+
- if (do_suspend(_thread->osthread())) {
- SuspendedThreadTaskContext context(_thread, _thread->osthread()->ucontext());
- do_task(context);
-@@ -3721,7 +3293,7 @@ static inline struct timespec get_mtime(const char* filename) {
- #ifdef __APPLE__
- return st.st_mtimespec;
- #else
-- return st.st_mtim;
-+ return st.st_mtimespec;
- #endif
- }
-
-@@ -3910,11 +3482,6 @@ char* os::pd_remap_memory(int fd, const char* file_name, size_t file_offset,
- }
-
-
--// Unmap a block of memory.
--bool os::pd_unmap_memory(char* addr, size_t bytes) {
-- return munmap(addr, bytes) == 0;
--}
--
- // current_thread_cpu_time(bool) and thread_cpu_time(Thread*, bool)
- // are used by JVM M&M and JVMTI to get user+sys or user CPU time
- // of a thread.
-@@ -4555,3 +4122,407 @@ bool os::start_debugging(char *buf, int buflen) {
- }
- return yes;
- }
-+
-+/**************************
-+ ** VM region management **
-+ **************************/
-+
-+
-+namespace Genode {
-+ class Vm_area;
-+ class Vm_area_registry;
-+ class Vm_region_map;
-+};
-+
-+class Genode::Vm_region_map
-+{
-+ public:
-+
-+ typedef Region_map_client::Local_addr Local_addr;
-+
-+ private:
-+
-+ enum { VM_SIZE = 384ul * 1024 * 1024 };
-+ Env &_env;
-+ Rm_connection _rm_connection { _env };
-+ Region_map_client _rm { _rm_connection.create(VM_SIZE) };
-+ addr_t const _base { _env.rm().attach(_rm.dataspace()) };
-+ Allocator_avl _range;
-+
-+ public:
-+
-+ Vm_region_map(Env &env, Allocator &md_alloc)
-+ : _env(env), _range(&md_alloc)
-+ {
-+ _range.add_range(_base, VM_SIZE);
-+ }
-+
-+ addr_t alloc_region(size_t size, int align)
-+ {
-+ addr_t addr = 0;
-+ if (_range.alloc_aligned(size, (void **)&addr,
-+ align > 12 ? align : 12).error())
-+ throw -1;
-+
-+ return addr;
-+ }
-+
-+ void free_region(addr_t vaddr) { _range.free((void *)vaddr); }
-+
-+ Local_addr attach_at(Dataspace_capability ds, addr_t local_addr)
-+ {
-+ return retry(
-+ [&] () {
-+ return _rm.attach_at(ds, local_addr - _base);
-+ },
-+ [&] () { _env.upgrade(Parent::Env::pd(), "ram_quota=8K"); });
-+ }
-+
-+ Local_addr attach_executable(Dataspace_capability ds, addr_t local_addr)
-+ {
-+ return retry(
-+ [&] () {
-+ return _rm.attach_executable(ds, local_addr - _base);
-+ },
-+ [&] () { _env.upgrade(Parent::Env::pd(), "ram_quota=8K"); });
-+ }
-+
-+ void detach(Local_addr local_addr) { _rm.detach((addr_t)local_addr - _base); }
-+};
-+
-+class Genode::Vm_area
-+{
-+ private:
-+
-+ struct Vm_area_ds
-+ {
-+ addr_t base;
-+ size_t size;
-+ Ram_dataspace_capability ds;
-+
-+ Vm_area_ds(addr_t base, size_t size, Ram_dataspace_capability ds)
-+ : base(base), size(size), ds(ds) { }
-+
-+ virtual ~Vm_area_ds() { };
-+ };
-+
-+ typedef Registered Vm_handle;
-+
-+ Env &_env;
-+ Heap &_heap;
-+ Vm_region_map &_rm;
-+ size_t const _base;
-+ addr_t const _size;
-+ Registry _ds;
-+
-+ public:
-+
-+ Vm_area(Env &env, Heap &heap, Vm_region_map &rm, addr_t base, size_t size)
-+ : _env(env), _heap(heap), _rm(rm), _base(base), _size(size)
-+ { }
-+
-+ addr_t base() const { return _base; }
-+ size_t size() const { return _size; }
-+
-+ bool inside(addr_t base, size_t size) {
-+ return base >= _base && (base + size) <= (_base + _size); }
-+
-+ bool commit(addr_t base, size_t size, bool executable)
-+ {
-+ if (!inside(base, size))
-+ return false;
-+
-+ Ram_dataspace_capability ds = _env.ram().alloc(size);
-+
-+ try {
-+ if (executable)
-+ _rm.attach_executable(ds, base);
-+ else
-+ _rm.attach_at(ds, base);
-+ } catch (...) {
-+ _env.ram().free(ds);
-+ return false;
-+ }
-+
-+ new (_heap) Vm_handle(_ds, base, size, ds);
-+
-+ return true;
-+ }
-+
-+ virtual ~Vm_area()
-+ {
-+ _ds.for_each([&] (Vm_handle &vm) {
-+
-+ _rm.detach(vm.base);
-+ _env.ram().free(vm.ds);
-+ destroy(_heap, &vm);
-+ });
-+ }
-+};
-+
-+
-+class Genode::Vm_area_registry
-+{
-+ private:
-+
-+ typedef Registered Vm_area_handle;
-+
-+ Env &_env;
-+ Heap _heap { _env.ram(), _env.rm() };
-+ Registry _registry;
-+ Vm_region_map _rm { _env, _heap };
-+
-+ public:
-+
-+ Vm_area_registry(Env &env) : _env(env)
-+ { }
-+
-+ addr_t reserve(size_t size, addr_t base, int align)
-+ {
-+ if (base) {
-+ Genode::error("vm_start set");
-+ while(1);
-+ }
-+ base = _rm.alloc_region(size, align);
-+ Vm_area *vm = new (&_heap) Vm_area_handle(_registry, _env, _heap, _rm, base, size);
-+ return base;
-+ }
-+
-+ bool commit(addr_t base, size_t size, bool executable)
-+ {
-+ bool success = false;
-+
-+ _registry.for_each([&] (Vm_area_handle &vm) {
-+ if (success) return;
-+ success = vm.commit(base, size, executable);
-+ });
-+
-+ return success;
-+ }
-+
-+ bool release(addr_t base, size_t size)
-+ {
-+ bool success = false;
-+
-+ _registry.for_each([&] (Vm_area_handle &vm) {
-+ if (success || !vm.inside(base, size)) return;
-+
-+ if (base != vm.base() || size != vm.size()) {
-+ error(__func__, " sub region release ", " addr: ", Hex(base), " vm addr: ", Hex(vm.base()),
-+ " size: ", Hex(size), " vm size: ", Hex(vm.size()));
-+ while (1);
-+ }
-+
-+ _rm.free_region(vm.base());
-+ destroy(_heap, &vm);
-+ success = true;
-+ });
-+
-+ if (!success) error(__func__, " failed");
-+
-+ return success;
-+ }
-+};
-+
-+static Genode::Constructible vm_reg;
-+
-+char* os::pd_reserve_memory(size_t bytes, char* requested_addr,
-+ size_t alignment_hint)
-+{
-+ try {
-+ Genode::addr_t addr = vm_reg->reserve(bytes, (Genode::addr_t)requested_addr,
-+ alignment_hint ? Genode::log2(alignment_hint) : 12);
-+ return (char *)addr;
-+ } catch (...) {
-+ Genode::error(__PRETTY_FUNCTION__, " exception!");
-+ }
-+ return nullptr;
-+}
-+
-+
-+/*
-+ * Reserve memory at an arbitrary address, only if that area is
-+ * available (and not reserved for something else)
-+ */
-+char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr)
-+{
-+ return pd_reserve_memory(bytes, requested_addr, 0);
-+}
-+
-+
-+bool os::pd_release_memory(char* addr, size_t size) {
-+ return vm_reg->release((Genode::addr_t)addr, size);
-+}
-+
-+
-+bool os::pd_unmap_memory(char* addr, size_t bytes) {
-+ return vm_reg->release((Genode::addr_t)addr, bytes);
-+}
-+
-+
-+bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
-+
-+ if (!addr) {
-+ Genode::error(__PRETTY_FUNCTION__, " addr == 0");
-+ while(1);
-+ }
-+
-+ return vm_reg->commit((Genode::addr_t)addr, size, exec);
-+}
-+
-+
-+bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
-+ bool exec) {
-+ // alignment_hint is ignored on this OS
-+ return pd_commit_memory(addr, size, exec);
-+}
-+
-+
-+void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec,
-+ const char* mesg) {
-+ assert(mesg != NULL, "mesg must be specified");
-+ if (!pd_commit_memory(addr, size, exec)) {
-+ // add extra info in product mode for vm_exit_out_of_memory():
-+ PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);)
-+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "%s", mesg);
-+ }
-+}
-+
-+
-+void os::pd_commit_memory_or_exit(char* addr, size_t size,
-+ size_t alignment_hint, bool exec,
-+ const char* mesg) {
-+ // alignment_hint is ignored on this OS
-+ pd_commit_memory_or_exit(addr, size, exec, mesg);
-+}
-+
-+
-+void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) {
-+ NOT_IMPL;
-+}
-+
-+
-+bool os::pd_uncommit_memory(char* addr, size_t size) {
-+ Genode::error(__PRETTY_FUNCTION__, "addr: ", (void *)addr, " size: ", (void *)size);
-+ while (1);
-+#ifdef __OpenBSD__
-+ // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
-+ return ::mprotect(addr, size, PROT_NONE) == 0;
-+#else
-+ uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
-+ MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0);
-+ return res != (uintptr_t) MAP_FAILED;
-+#endif
-+}
-+
-+
-+/************
-+ ** atomic **
-+ ************/
-+
-+int os::cmpxchg(int oldval, int newval, volatile int *ptr)
-+{
-+ return !Genode::cmpxchg(ptr, oldval, newval);
-+}
-+
-+
-+/******************
-+ ** Startup code **
-+ ******************/
-+
-+extern char **genode_argv;
-+extern int genode_argc;
-+extern char **genode_envp;
-+
-+/* initial environment for the FreeBSD libc implementation */
-+extern char **environ;
-+
-+/* provided by the application */
-+extern "C" int main(int argc, char ** argv, char **envp);
-+
-+
-+static void construct_component(Libc::Env &env)
-+{
-+ using Genode::Xml_node;
-+ using Genode::Xml_attribute;
-+
-+ env.config([&] (Xml_node const &node) {
-+ int argc = 0;
-+ int envc = 0;
-+ char **argv;
-+ char **envp;
-+
-+ /* count the number of arguments and environment variables */
-+ node.for_each_sub_node([&] (Xml_node const &node) {
-+ /* check if the 'value' attribute exists */
-+ if (node.has_type("arg") && node.has_attribute("value"))
-+ ++argc;
-+ else
-+ if (node.has_type("env") && node.has_attribute("key") && node.has_attribute("value"))
-+ ++envc;
-+ });
-+
-+ if (argc == 0 && envc == 0)
-+ return; /* from lambda */
-+
-+ /* arguments and environment are a contiguous array (but don't count on it) */
-+ argv = (char**)malloc((argc + envc + 1) * sizeof(char*));
-+ envp = &argv[argc];
-+
-+ /* read the arguments */
-+ int arg_i = 0;
-+ int env_i = 0;
-+ node.for_each_sub_node([&] (Xml_node const &node) {
-+ /* insert an argument */
-+ if (node.has_type("arg")) try {
-+ Xml_attribute attr = node.attribute("value");
-+
-+ Genode::size_t const arg_len = attr.value_size()+1;
-+ char *arg = argv[arg_i] = (char*)malloc(arg_len);
-+
-+ attr.value(arg, arg_len);
-+ ++arg_i;
-+
-+ } catch (Xml_node::Nonexistent_sub_node) { }
-+
-+ else
-+
-+ /* insert an environment variable */
-+ if (node.has_type("env")) try {
-+ Xml_attribute key_attr = node.attribute("key");
-+ Xml_attribute val_attr = node.attribute("value");
-+
-+ Genode::size_t const pair_len =
-+ key_attr.value_size() +
-+ val_attr.value_size() + 1;
-+ char *env = envp[env_i] = (char*)malloc(pair_len);
-+
-+ Genode::size_t off = 0;
-+ key_attr.value(&env[off], key_attr.value_size()+1);
-+ off = key_attr.value_size();
-+ env[off++] = '=';
-+ val_attr.value(&env[off], val_attr.value_size()+1);
-+ ++env_i;
-+
-+ } catch (Xml_node::Nonexistent_sub_node) { }
-+ });
-+
-+ envp[env_i] = NULL;
-+
-+ /* register command-line arguments at Genode's startup code */
-+ genode_argc = argc;
-+ genode_argv = argv;
-+ genode_envp = environ = envp;
-+ });
-+
-+ exit(main(genode_argc, genode_argv, genode_envp));
-+}
-+
-+
-+void Libc::Component::construct(Libc::Env &env)
-+{
-+ vm_reg.construct(env);
-+
-+ Libc::with_libc([&] () { construct_component(env); });
-+}
-+
diff --git a/repos/ports/src/app/jdk/patches/os_bsd_zero.patch b/repos/ports/src/app/jdk/patches/os_bsd_zero.patch
deleted file mode 100644
index 4016ef35eb..0000000000
--- a/repos/ports/src/app/jdk/patches/os_bsd_zero.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp b/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
-index 15a5b7d..e4d30f7 100644
---- a/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
-+++ b/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
-@@ -63,7 +63,7 @@
- extern sigjmp_buf* get_jmp_buf_for_continuation();
-
- address os::current_stack_pointer() {
-- address dummy = (address) &dummy;
-+ volatile address dummy = (address) &dummy;
- return dummy;
- }
-
diff --git a/repos/ports/src/app/jdk/patches/pollselectorprovider.patch b/repos/ports/src/app/jdk/patches/pollselectorprovider.patch
deleted file mode 100644
index b3afb3492a..0000000000
--- a/repos/ports/src/app/jdk/patches/pollselectorprovider.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Use PollSelectorProvider instead of EPollSelectorProvider
-
-diff --git a/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java b/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java
-index 1278f15..3f23cc4 100644
---- a/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java
-+++ b/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java
-@@ -42,7 +42,7 @@ public class DefaultSelectorProvider {
- * Returns the default SelectorProvider.
- */
- public static SelectorProvider create() {
-- return new sun.nio.ch.EPollSelectorProvider();
-+ return new sun.nio.ch.PollSelectorProvider();
- }
-
- }
-diff --git a/make/CompileJavaModules.gmk b/make/CompileJavaModules.gmk
-index 090434a..507dd10 100644
---- a/make/CompileJavaModules.gmk
-+++ b/make/CompileJavaModules.gmk
-@@ -55,7 +55,7 @@ java.base_EXCLUDES += java/lang/doc-files
- # data files and shouldn't go in the product
- java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
-
--ifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
-+ifneq ($(filter solaris macosx windows,$(OPENJDK_TARGET_OS)), )
- java.base_EXCLUDE_FILES += \
- sun/nio/ch/AbstractPollSelectorImpl.java \
- sun/nio/ch/PollSelectorImpl.java \
diff --git a/repos/ports/src/app/jdk/patches/size.patch b/repos/ports/src/app/jdk/patches/size.patch
deleted file mode 100644
index 8d65c14ef9..0000000000
--- a/repos/ports/src/app/jdk/patches/size.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-commit 7a6a25557a0b21e0d3202f04a4172b3fa5e9a4e9
-Author: Sebastian Sumpf
-Date: Mon Apr 16 11:08:15 2018 +0200
-
- jdk: size_t patch
-
-diff --git a/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp b/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp
-index 0a2a462..7bc5011 100644
---- a/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp
-+++ b/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp
-@@ -99,7 +99,7 @@ size_t G1PageBasedVirtualSpace::uncommitted_size() const {
- return reserved_size() - committed_size();
- }
-
--size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
-+uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
- return (addr - _low_boundary) / _page_size;
- }
-
-diff --git a/hotspot/src/share/vm/prims/whitebox.cpp b/hotspot/src/share/vm/prims/whitebox.cpp
-index 952aa5f..ab3c3b8 100644
---- a/hotspot/src/share/vm/prims/whitebox.cpp
-+++ b/hotspot/src/share/vm/prims/whitebox.cpp
-@@ -1022,7 +1022,7 @@ WB_ENTRY(jobject, WB_GetUint64VMFlag(JNIEnv* env, jobject o, jstring name))
- WB_END
-
- WB_ENTRY(jobject, WB_GetSizeTVMFlag(JNIEnv* env, jobject o, jstring name))
-- uintx result;
-+ size_t result;
- if (GetVMFlag (thread, env, name, &result, &CommandLineFlags::size_tAt)) {
- ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI
- return longBox(thread, env, result);
-diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp
-index 92f18dd..9164cbf 100644
---- a/hotspot/src/share/vm/runtime/arguments.cpp
-+++ b/hotspot/src/share/vm/runtime/arguments.cpp
-@@ -78,7 +78,7 @@ SystemProperty* Arguments::_system_properties = NULL;
- const char* Arguments::_gc_log_filename = NULL;
- bool Arguments::_has_profile = false;
- size_t Arguments::_conservative_max_heap_alignment = 0;
--size_t Arguments::_min_heap_size = 0;
-+uintx Arguments::_min_heap_size = 0;
- Arguments::Mode Arguments::_mode = _mixed;
- bool Arguments::_java_compiler = false;
- bool Arguments::_xdebug_mode = false;
-diff --git a/hotspot/src/share/vm/utilities/globalDefinitions.hpp b/hotspot/src/share/vm/utilities/globalDefinitions.hpp
-index dbb080e..11c3278 100644
---- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp
-+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp
-@@ -284,8 +284,7 @@ inline size_t byte_size_in_exact_unit(size_t s) {
-
- // intx and uintx are the 'extended' int and 'extended' unsigned int types;
- // they are 32bit wide on a 32-bit platform, and 64bit wide on a 64bit platform.
--
--typedef intptr_t intx;
-+typedef intptr_t intx;
- typedef uintptr_t uintx;
-
- const intx min_intx = (intx)1 << (sizeof(intx)*BitsPerByte-1);
-@@ -1106,10 +1105,10 @@ inline intptr_t bitfield(intptr_t x, int start_bit_no, int field_length) {
- // and 64-bit overloaded functions, which does not work, and having
- // explicitly-typed versions of these routines (i.e., MAX2I, MAX2L)
- // will be even more error-prone than macros.
--template inline T MAX2(T a, T b) { return (a > b) ? a : b; }
--template inline T MIN2(T a, T b) { return (a < b) ? a : b; }
-+template inline T MAX2(T a, U b) { return (a > b) ? a : b; }
-+template inline T MIN2(T a, U b) { return (a < b) ? a : b; }
- template inline T MAX3(T a, T b, T c) { return MAX2(MAX2(a, b), c); }
--template inline T MIN3(T a, T b, T c) { return MIN2(MIN2(a, b), c); }
-+template inline T MIN3(T a, U b, V c) { return MIN2(MIN2(a, b), c); }
- template inline T MAX4(T a, T b, T c, T d) { return MAX2(MAX3(a, b, c), d); }
- template inline T MIN4(T a, T b, T c, T d) { return MIN2(MIN3(a, b, c), d); }
-
-diff --git a/hotspot/src/share/vm/utilities/macros.hpp b/hotspot/src/share/vm/utilities/macros.hpp
-index f24e4ff..534cb29 100644
---- a/hotspot/src/share/vm/utilities/macros.hpp
-+++ b/hotspot/src/share/vm/utilities/macros.hpp
-@@ -334,7 +334,6 @@
- #endif
-
- #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
--#define BSD
- #define BSD_ONLY(code) code
- #define NOT_BSD(code)
- #else