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
157
157
set (BULK_CRC_ARCH_SOURCE_FIlE "${SRC} /util/bulk_crc32_x86.c" )
158
158
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" )
159
159
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" )
160
162
else ()
161
163
message ("No HW CRC acceleration for ${CMAKE_SYSTEM_PROCESSOR} , falling back to SW" )
162
164
endif ()
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