diff options
Diffstat (limited to 'sensors/1.0/default/service.cpp')
-rw-r--r-- | sensors/1.0/default/service.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sensors/1.0/default/service.cpp b/sensors/1.0/default/service.cpp index 65f6d816a1..c413d1a0e0 100644 --- a/sensors/1.0/default/service.cpp +++ b/sensors/1.0/default/service.cpp @@ -19,10 +19,30 @@ #include <android/hardware/sensors/1.0/ISensors.h> #include <hidl/LegacySupport.h> +#ifdef ARCH_ARM_32 +#include <hwbinder/ProcessState.h> +#include <cutils/properties.h> +#endif + using android::hardware::sensors::V1_0::ISensors; using android::hardware::defaultPassthroughServiceImplementation; +#ifdef ARCH_ARM_32 +//default h/w binder memsize for sensors is 8 KB +#define DEFAULT_SENSORS_HW_BINDER_MEM_SIZE_KB 8 +size_t getHWBinderMmapSize() { + int32_t value = DEFAULT_SENSORS_HW_BINDER_MEM_SIZE_KB; + + value = property_get_int32("persist.vendor.sensor.hw.binder.size", value); + ALOGD("Init hw binder with mem size = %d", value); + return 1024 * value; +} +#endif + int main() { +#ifdef ARCH_ARM_32 + android::hardware::ProcessState::initWithMmapSize((size_t)getHWBinderMmapSize()); +#endif /* Sensors framework service needs at least two threads. * One thread blocks on a "poll" * The second thread is needed for all other HAL methods. |