1// Copyright (C) 2023 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16package { 17 default_applicable_licenses: ["Android-Apache-2.0"], 18} 19 20cc_library_headers { 21 name: "libberberis_interpreter_riscv64_headers", 22 defaults: ["berberis_defaults"], 23 host_supported: true, 24 export_include_dirs: ["include"], 25} 26 27cc_library_static { 28 name: "libberberis_interpreter_riscv64", 29 defaults: ["berberis_defaults_64"], 30 host_supported: true, 31 cflags: ["-DBERBERIS_RISCV64_INTERPRETER_SEPARATE_INSTANTIATION_OF_VECTOR_OPERATIONS"], 32 header_libs: [ 33 "libberberis_base_headers", 34 "libberberis_decoder_riscv64_headers", 35 "libberberis_guest_state_riscv64_headers", 36 "libberberis_interpreter_riscv64_headers", 37 "libberberis_intrinsics_riscv64_headers", 38 "libberberis_kernel_api_headers", 39 "libberberis_runtime_primitives_headers", 40 ], 41 export_header_lib_headers: ["libberberis_interpreter_riscv64_headers"], 42 arch: { 43 x86_64: { 44 cflags: ["-mssse3"], 45 srcs: ["riscv64/faulty_memory_accesses_x86_64.cc"], 46 }, 47 }, 48 srcs: [ 49 "riscv64/interpreter-main.cc", 50 "riscv64/interpreter-VLoadIndexedArgs.cc", 51 "riscv64/interpreter-VLoadStrideArgs.cc", 52 "riscv64/interpreter-VLoadUnitStrideArgs.cc", 53 "riscv64/interpreter-VOpFVfArgs.cc", 54 "riscv64/interpreter-VOpFVvArgs.cc", 55 "riscv64/interpreter-VOpIViArgs.cc", 56 "riscv64/interpreter-VOpIVvArgs.cc", 57 "riscv64/interpreter-VOpIVxArgs.cc", 58 "riscv64/interpreter-VOpMVvArgs.cc", 59 "riscv64/interpreter-VOpMVxArgs.cc", 60 "riscv64/interpreter-VStoreIndexedArgs.cc", 61 "riscv64/interpreter-VStoreStrideArgs.cc", 62 "riscv64/interpreter-VStoreUnitStrideArgs.cc", 63 ], 64} 65 66cc_test_library { 67 name: "libberberis_interpreter_riscv64_unit_tests", 68 defaults: ["berberis_test_library_defaults_64"], 69 srcs: [ 70 "riscv64/faulty_memory_accesses_test.cc", 71 "riscv64/interpreter_test.cc", 72 ], 73 header_libs: [ 74 "berberis_test_utils_headers", 75 "libberberis_base_headers", 76 "libberberis_guest_state_riscv64_headers", 77 "libberberis_guest_os_primitives_headers", 78 "libberberis_interpreter_riscv64_headers", 79 "libberberis_intrinsics_riscv64_headers", 80 "libberberis_kernel_api_headers", 81 ], 82} 83