commit | 7c1c234c12e4dec3e95888ab21bf31b7fdcd5784 | [log] [tgz] |
---|---|---|
author | Lev Rumyantsev <levarum@google.com> | Fri Jul 26 20:19:38 2024 -0700 |
committer | Lev Rumyantsev <levarum@google.com> | Mon Jul 29 16:33:23 2024 -0700 |
tree | 06a22cfb07996f7d7096d965450bc2ca1d4da907 | |
parent | 441fcf10368104de2e5f743cfe8c6e52fb34304d [diff] |
base: Implement MapsSnapshot For use in profiling. Flag: EXEMPT NDK Test: added test, tree-hugger Bug: 355753084 Change-Id: I32783af7d60561c92c7a24579c2cd5e60167c788
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