using com::android::trusty::device_tree::DeviceTree; using com::android::trusty::device_tree::IDeviceTree;
int main(void) {
TLOGI("Mapping in device tree blob\n"); constvoid* dtb = NULL;
size_t dtb_size = 0; int rc = vmm_obj_map_ro("com.android.trusty.kernel.device_tree.blob", &dtb,
&dtb_size); if (rc != NO_ERROR) {
TLOGE("vmm_obj_map failed to map in device tree blob (%d)\n", rc); return EXIT_FAILURE;
} if (!dtb || !dtb_size) {
TLOGE("Failed to map device tree blob into dt server process\n"); return EXIT_FAILURE;
}
TLOGI("Mapped device tree blob (%zu bytes) into dt server process at %p\n",
dtb_size, dtb);
TLOGI("Starting service\n");
tipc_hset* hset = tipc_hset_create(); if (IS_ERR(hset)) {
TLOGE("Failed to create handle set (%d)\n", PTR_ERR(hset)); return EXIT_FAILURE;
}
/* message size should be large enough to cover any message sent by tests */
constexpr size_t max_msg_size = 256; auto srv = android::RpcServerTrusty::make(
hset, IDeviceTree::PORT().c_str(),
std::make_shared<const android::RpcServerTrusty::PortAcl>(port_acl),
max_msg_size, DEVICE_TREE_BINDER_TIPC_QUEUE_LEN); if (srv == nullptr) { return EXIT_FAILURE;
}
android::sp<DeviceTree> test_srv = android::sp<DeviceTree>::make( static_cast<unsignedchar*>(const_cast<void*>(dtb)), dtb_size); if (!test_srv) {
TLOGE("Failed to create DeviceTree server\n"); return EXIT_FAILURE;
}
srv->setRootObject(test_srv);
return tipc_run_event_loop(hset);
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-26)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.