File tree Expand file tree Collapse file tree 2 files changed +37
-0
lines changed
hadoop-common-project/hadoop-common/src
main/native/src/org/apache/hadoop/util Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -157,6 +157,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x
157157 set (BULK_CRC_ARCH_SOURCE_FIlE "${SRC} /util/bulk_crc32_x86.c" )
158158elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" )
159159 set (BULK_CRC_ARCH_SOURCE_FIlE "${SRC} /util/bulk_crc32_aarch64.c" )
160+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv32" )
161+ set (BULK_CRC_ARCH_SOURCE_FIlE "${SRC} /util/bulk_crc32_riscv.c" )
160162else ()
161163 message ("No HW CRC acceleration for ${CMAKE_SYSTEM_PROCESSOR} , falling back to SW" )
162164endif ()
Original file line number Diff line number Diff line change 1+ /*
2+ * Licensed to the Apache Software Foundation (ASF) under one
3+ * or more contributor license agreements. See the NOTICE file
4+ * distributed with this work for additional information
5+ * regarding copyright ownership. The ASF licenses this file
6+ * to you under the Apache License, Version 2.0 (the
7+ * "License"); you may not use this file except in compliance
8+ * with the License. You may obtain a copy of the License at
9+ *
10+ * http://www.apache.org/licenses/LICENSE-2.0
11+ *
12+ * Unless required by applicable law or agreed to in writing, software
13+ * distributed under the License is distributed on an "AS IS" BASIS,
14+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+ * See the License for the specific language governing permissions and
16+ * limitations under the License.
17+ */
18+
19+ /**
20+ * RISC-V CRC32 hardware acceleration (placeholder)
21+ *
22+ * Phase 1: provide a RISC-V-specific compilation unit that currently makes
23+ * no runtime changes and falls back to the generic software path in
24+ * bulk_crc32.c. Future work will add Zbc-based acceleration and runtime
25+ * dispatch.
26+ */
27+
28+ #include "bulk_crc32.h"
29+
30+ /* Constructor hook reserved for future HW capability detection and
31+ * function-pointer dispatch. Intentionally a no-op for the initial phase. */
32+ void __attribute__((constructor )) init_riscv_crc_support (void )
33+ {
34+ /* No-op: keep using the default software implementations. */
35+ }
You can’t perform that action at this time.
0 commit comments