diff --git a/universal7885-common/configs/vintf/manifest.xml b/universal7885-common/configs/vintf/manifest.xml index a4fbe63..d4166f7 100644 --- a/universal7885-common/configs/vintf/manifest.xml +++ b/universal7885-common/configs/vintf/manifest.xml @@ -241,4 +241,22 @@ imsd2 + + vendor.samsung_slsi.hardware.configstore + hwbinder + 1.0 + + IExynosHWCConfigs + default + + + + vendor.samsung_slsi.hardware.ExynosHWCServiceTW + hwbinder + 1.0 + + IExynosHWCServiceTW + default + + diff --git a/universal7885-common/libshims/hwcomposer/Android.bp b/universal7885-common/libshims/hwcomposer/Android.bp deleted file mode 100644 index 824a0f1..0000000 --- a/universal7885-common/libshims/hwcomposer/Android.bp +++ /dev/null @@ -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], -} diff --git a/universal7885-common/libshims/hwcomposer/hwcomposer_shim.cpp b/universal7885-common/libshims/hwcomposer/hwcomposer_shim.cpp deleted file mode 100644 index c707ab9..0000000 --- a/universal7885-common/libshims/hwcomposer/hwcomposer_shim.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include -extern "C" void _Z27exynos_acceptDisplayChangesP12hwc2_devicem(hwc2_device*, unsigned long) {} diff --git a/universal7885-common/sepolicy/vendor/hal_vendor_configstore_default.te b/universal7885-common/sepolicy/vendor/hal_vendor_configstore_default.te new file mode 100644 index 0000000..cb75640 --- /dev/null +++ b/universal7885-common/sepolicy/vendor/hal_vendor_configstore_default.te @@ -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; diff --git a/universal7885-common/sepolicy/vendor/hal_vendor_hwcservice_default.te b/universal7885-common/sepolicy/vendor/hal_vendor_hwcservice_default.te new file mode 100644 index 0000000..24ecb3d --- /dev/null +++ b/universal7885-common/sepolicy/vendor/hal_vendor_hwcservice_default.te @@ -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; diff --git a/universal7885-common/sepolicy/vendor/hwservice.te b/universal7885-common/sepolicy/vendor/hwservice.te index dfaa12e..78081c2 100644 --- a/universal7885-common/sepolicy/vendor/hwservice.te +++ b/universal7885-common/sepolicy/vendor/hwservice.te @@ -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; diff --git a/universal7885-common/sepolicy/vendor/hwservice_contexts b/universal7885-common/sepolicy/vendor/hwservice_contexts index c73f104..999e520 100644 --- a/universal7885-common/sepolicy/vendor/hwservice_contexts +++ b/universal7885-common/sepolicy/vendor/hwservice_contexts @@ -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