commit | 351289d7141fb0765cff199d0cc0bc7d79285caf | [log] [tgz] |
---|---|---|
author | Victor Khimenko <khim@google.com> | Wed Jul 17 13:13:43 2024 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Wed Jul 17 13:13:43 2024 +0000 |
tree | c973441143f18a5f622dd3fff3066a70f07ee1f2 | |
parent | 6c8ba835783f0ac4c64bf4fa6da7e5a120e1398c [diff] | |
parent | 9b2700fa1991b0caed7b7d5823a06da08961413d [diff] |
Merge "Don't use std::bit_cast in the immediates test." into main am: 9b2700fa19 Original change: https://android-review.googlesource.com/c/platform/frameworks/libs/binary_translation/+/3177820 Change-Id: Iea8aaa9692a6a26d64c6d191ca93e8a47b5096c2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Dynamic binary translator to run Android apps with riscv64 native code on x86_64 devices or emulators.
Supported extensions include Zb* (bit manipulation) and most of Zv (vector). Some less commonly used vector instructions are not yet implemented, but Android CTS and some Android apps run with the current set of implemented instructions.
Note: Googlers, read go/berberis and go/berberis-start first.
From your Android root checkout, run:
source build/envsetup.sh lunch sdk_phone64_x86_64_riscv64-trunk_staging-eng m berberis_all
For development, we recommend building all existing targets before uploading changes, since they are currently not always synchronized with berberis_all
:
mmm frameworks/libs/binary_translation
out/host/linux-x86/bin/berberis_program_runner_riscv64 \ out/target/product/emu64xr/testcases/berberis_hello_world_static.native_bridge/x86_64/berberis_hello_world_static
On success Hello!
will be printed.
m berberis_all berberis_run_host_tests
or
out/host/linux-x86/nativetest64/berberis_host_tests/berberis_host_tests
m emulator -memory 4096 -writable-system -partition-size 65536 -qemu -cpu host &
Note: Requires a running device or emulator with Berberis support.
adb root adb sync data
adb shell /data/nativetest64/berberis_guest_loader_riscv64_tests/berberis_guest_loader_riscv64_tests
adb shell /data/nativetest64/berberis_ndk_program_tests/berberis_ndk_program_tests
Note: Requires a running device or emulator with Berberis support.
m TARGET_PRODUCT=aosp_riscv64 bionic-unit-tests
adb push out/target/product/generic_riscv64/data/nativetest64/bionic-loader-test-libs /data/local/tmp adb push out/target/product/generic_riscv64/data/nativetest64/bionic-unit-tests /data/local/tmp
adb shell /system/bin/berberis_program_runner_riscv64 /data/local/tmp/bionic-unit-tests/bionic-unit-tests --no_isolate