universal7885: Add samsung configstore HAL entry

This commit is contained in:
roynatech2544 2021-11-22 13:29:47 +09:00
commit 2ba9a6ccbf
No known key found for this signature in database
GPG key ID: 9675C32163D88D30
7 changed files with 53 additions and 29 deletions

View file

@ -241,4 +241,22 @@
<instance>imsd2</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung_slsi.hardware.configstore</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IExynosHWCConfigs</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.samsung_slsi.hardware.ExynosHWCServiceTW</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IExynosHWCServiceTW</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View file

@ -1,27 +0,0 @@
// board_platform must match TARGET_BOARD_PLATFORM
board_platform = "universal7884B"
cmd_and = " && "
hwc = "hwcomposer." + board_platform
hwcomposer = "$(productOut)/vendor/lib64/hw/" + hwc + ".so"
original_symbol = "_Z27exynos_acceptDisplayChangesP11hwc2_devicem"
custom_symbol = "_Z27exynos_acceptDisplayChangesP12hwc2_devicem"
cc_library_shared {
name: "libhwcomposer_shim",
srcs: [
"hwcomposer_shim.cpp"
],
required: ["libhwccomposer-patch"],
vendor: true,
}
7884B_build_command {
name: "libhwccomposer-patch",
cmd: "mkdir -p $(productOut)/vendor/lib64/hw" + cmd_and +
"sed -i s/" + original_symbol + "/" + custom_symbol + "/g " + hwcomposer + cmd_and +
"patchelf --add-needed libhwcomposer_shim.so" + hwcomposer,
required: [hwcomposer],
}

View file

@ -1,2 +0,0 @@
#include <hwcomposer2.h>
extern "C" void _Z27exynos_acceptDisplayChangesP12hwc2_devicem(hwc2_device*, unsigned long) {}

View file

@ -0,0 +1,13 @@
# hal_vendor_configstore_default.te
type hal_vendor_configstore_default, domain;
type hal_vendor_configstore_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_vendor_configstore_default)
add_hwservice(hal_vendor_configstore_default, hal_vendor_configstore_hwservice)
hwbinder_use(hal_vendor_configstore_default)
get_prop(hal_vendor_configstore_default, hwservicemanager_prop)
# /acct/tasks
allow hal_vendor_configstore_default cgroup:file getattr;

View file

@ -0,0 +1,17 @@
# hal_vendor_hwcservice_default.te
type hal_vendor_hwcservice_default, domain;
hal_client_domain(hal_vendor_hwcservice_default, hal_graphics_composer)
type hal_vendor_hwcservice_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_vendor_hwcservice_default)
vndbinder_use(hal_vendor_hwcservice_default)
allow hal_vendor_hwcservice_default vendor_surfaceflinger_vndservice:service_manager { add find };
add_hwservice(hal_vendor_hwcservice_default, hal_vendor_surfaceflinger_hwservice)
hwbinder_use(hal_vendor_hwcservice_default)
get_prop(hal_vendor_hwcservice_default, hwservicemanager_prop)
# /acct/tasks
allow hal_vendor_configstore_default cgroup:file getattr;

View file

@ -3,3 +3,5 @@ type hal_battery_hwservice, hwservice_manager_type;
type hal_flashlight_hwservice, hwservice_manager_type;
type hal_gpu_hwservice, hwservice_manager_type;
type hal_selinux_hwservice, hwservice_manager_type;
type hal_vendor_configstore_hwservice, hwservice_manager_type;
type hal_vendor_surfaceflinger_hwservice, hwservice_manager_type;

View file

@ -9,3 +9,6 @@ vendor.eureka.hardware.battery::IBattery u:object_r:hal_battery_hwservice:s0
vendor.eureka.hardware.flashlight::IFlashlight u:object_r:hal_flashlight_hwservice:s0
vendor.eureka.hardware.gpu::IGpu u:object_r:hal_gpu_hwservice:s0
vendor.eureka.security.selinux::ISELinux u:object_r:hal_selinux_hwservice:s0
vendor.samsung_slsi.hardware.ExynosHWCServiceTW::IExynosHWCServiceTW u:object_r:hal_vendor_surfaceflinger_hwservice:s0
vendor.samsung_slsi.hardware.configstore::IExynosHWCConfigs u:object_r:hal_vendor_configstore_hwservice:s0