diff --git a/device-common.mk b/device-common.mk index 5549901..6a80543 100644 --- a/device-common.mk +++ b/device-common.mk @@ -60,9 +60,5 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_FULL_TREBLE_OVERRIDE := true -# Dumpstate HAL -PRODUCT_PACKAGES += \ - android.hardware.dumpstate@1.0-service.muskie - PRODUCT_COPY_FILES += \ device/google/muskie/nfc/libnfc-nxp.muskie.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nxp.conf diff --git a/dumpstate/Android.mk b/dumpstate/Android.mk deleted file mode 100644 index 184731c..0000000 --- a/dumpstate/Android.mk +++ /dev/null @@ -1,41 +0,0 @@ -# -# Copyright 2016 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.dumpstate@1.0-service.muskie -LOCAL_INIT_RC := android.hardware.dumpstate@1.0-service.muskie.rc -LOCAL_MODULE_RELATIVE_PATH := hw - -LOCAL_SRC_FILES := \ - DumpstateDevice.cpp \ - service.cpp - -LOCAL_SHARED_LIBRARIES := \ - android.hardware.dumpstate@1.0 \ - libbase \ - libcutils \ - libdumpstateutil \ - libhidlbase \ - libhidltransport \ - libhwbinder \ - liblog \ - libutils - -LOCAL_MODULE_TAGS := optional -LOCAL_PROPRIETARY_MODULE := true - -include $(BUILD_EXECUTABLE) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp deleted file mode 100755 index 9a6fe72..0000000 --- a/dumpstate/DumpstateDevice.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "dumpstate" - -#include "DumpstateDevice.h" - -#include -#include -#include -#include -#include -#include - -#include "DumpstateUtil.h" - -#define MODEM_LOG_PREFIX_PROPERTY "ro.radio.log_prefix" -#define MODEM_LOG_LOC_PROPERTY "ro.radio.log_loc" -#define MODEM_LOGGING_SWITCH "persist.radio.smlog_switch" - -using android::os::dumpstate::CommandOptions; -using android::os::dumpstate::DumpFileToFd; -using android::os::dumpstate::PropertiesHelper; -using android::os::dumpstate::RunCommandToFd; - -namespace android { -namespace hardware { -namespace dumpstate { -namespace V1_0 { -namespace implementation { - -namespace { - -static void getModemLogs(int fd) -{ - bool modemLogsEnabled = 0; - std::string modemLogDir = android::base::GetProperty(MODEM_LOG_LOC_PROPERTY, ""); - if (modemLogDir.empty()) { - ALOGD("No modem log place is set\n"); - return; - } - /* Check if smlog_dump tool exist */ - if (!PropertiesHelper::IsUserBuild() && !access("/vendor/bin/smlog_dump", X_OK)) { - modemLogsEnabled = android::base::GetBoolProperty(MODEM_LOGGING_SWITCH, false); - - /* Execute SMLOG DUMP if SMLOG is enabled */ - if (modemLogsEnabled) { - CommandOptions options = CommandOptions::WithTimeout(120).Build(); - std::string modemLogAllDir = modemLogDir + "/modem_log"; - std::vector rilAndNetmgrLogs - { - "/data/misc/radio/ril_log", - "/data/misc/radio/ril_log_old", - "/data/misc/netmgr/netmgr_log", - "/data/misc/netmgr/netmgr_log_old" - }; - std::string modemLogMkDirCmd= "/system/bin/mkdir " + modemLogAllDir; - RunCommandToFd(fd, "MKDIR MODEM LOG", { "/system/bin/sh", "-c", modemLogMkDirCmd.c_str()}, options); - RunCommandToFd(fd, "SMLOG DUMP", { "smlog_dump", "-d", "-o", modemLogAllDir.c_str() }, options); - for (std::string logFile : rilAndNetmgrLogs) - { - std::string copyCmd= "/system/bin/cp " + logFile + " " + modemLogAllDir; - RunCommandToFd(fd, "MV MODEM LOG", { "/system/bin/sh", "-c", copyCmd.c_str()}, options); - } - std::string filePrefix = android::base::GetProperty(MODEM_LOG_PREFIX_PROPERTY, ""); - if (!filePrefix.empty()) { - std::string modemLogCombined = modemLogDir + "/" + filePrefix + "all.tar"; - std::string modemLogTarCmd= "/system/bin/tar cvf " + modemLogCombined + " -C " + modemLogAllDir + " ."; - RunCommandToFd(fd, "TAR LOG", { "/system/bin/sh", "-c", modemLogTarCmd.c_str()}, options); - std::string modemLogPermCmd= "/system/bin/chmod a+rw " + modemLogCombined; - RunCommandToFd(fd, "CHG PERM", { "/system/bin/sh", "-c", modemLogPermCmd.c_str()}, options); - std::string modemLogClearCmd= "/system/bin/rm -r " + modemLogAllDir; - RunCommandToFd(fd, "RM MODEM DIR", { "/system/bin/sh", "-c", modemLogClearCmd.c_str()}, options); - } - } - } -} - -} // unnamed namespace - - -// Methods from ::android::hardware::dumpstate::V1_0::IDumpstateDevice follow. -Return DumpstateDevice::dumpstateBoard(const hidl_handle& handle) { - if (handle->numFds < 1) { - ALOGE("no FDs\n"); - return Void(); - } - - int fd = handle->data[0]; - if (fd < 0) { - ALOGE("invalid FD: %d\n", handle->data[0]); - return Void(); - } - - getModemLogs(fd); - DumpFileToFd(fd, "CPU present", "/sys/devices/system/cpu/present"); - DumpFileToFd(fd, "CPU online", "/sys/devices/system/cpu/online"); - DumpFileToFd(fd, "INTERRUPTS", "/proc/interrupts"); - DumpFileToFd(fd, "RPM Stats", "/d/rpm_stats"); - DumpFileToFd(fd, "Power Management Stats", "/d/rpm_master_stats"); - DumpFileToFd(fd, "SMD Log", "/d/ipc_logging/smd/log"); - RunCommandToFd(fd, "ION HEAPS", {"/system/bin/sh", "-c", "for d in $(ls -d /d/ion/*); do for f in $(ls $d); do echo --- $d/$f; cat $d/$f; done; done"}); - DumpFileToFd(fd, "dmabuf info", "/d/dma_buf/bufinfo"); - RunCommandToFd(fd, "Temperatures", {"/system/bin/sh", "-c", "for f in `ls /sys/class/thermal` ; do type=`cat /sys/class/thermal/$f/type` ; temp=`cat /sys/class/thermal/$f/temp` ; echo \"$type: $temp\" ; done"}); - DumpFileToFd(fd, "cpu0-1 time-in-state", "/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state"); - RunCommandToFd(fd, "cpu0-1 cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu0/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"}); - DumpFileToFd(fd, "cpu2-3 time-in-state", "/sys/devices/system/cpu/cpu2/cpufreq/stats/time_in_state"); - RunCommandToFd(fd, "cpu2-3 cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu2/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"}); - DumpFileToFd(fd, "MDP xlogs", "/d/mdp/xlog/dump"); - - /* Check if qsee_logger tool exists */ - if (!access("/system/bin/qsee_logger", X_OK)) { - RunCommandToFd(fd, "FP LOGS", {"qsee_logger", "-d"}); - } - - return Void(); -}; - -} // namespace implementation -} // namespace V1_0 -} // namespace dumpstate -} // namespace hardware -} // namespace android diff --git a/dumpstate/DumpstateDevice.h b/dumpstate/DumpstateDevice.h deleted file mode 100644 index 9237b3b..0000000 --- a/dumpstate/DumpstateDevice.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef ANDROID_HARDWARE_DUMPSTATE_V1_0_DUMPSTATEDEVICE_H -#define ANDROID_HARDWARE_DUMPSTATE_V1_0_DUMPSTATEDEVICE_H - -#include -#include -#include - -namespace android { -namespace hardware { -namespace dumpstate { -namespace V1_0 { -namespace implementation { - -using ::android::hardware::dumpstate::V1_0::IDumpstateDevice; -using ::android::hardware::hidl_array; -using ::android::hardware::hidl_handle; -using ::android::hardware::hidl_string; -using ::android::hardware::hidl_vec; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::sp; - -struct DumpstateDevice : public IDumpstateDevice { - // Methods from ::android::hardware::dumpstate::V1_0::IDumpstateDevice follow. - Return dumpstateBoard(const hidl_handle& h) override; -}; - -} // namespace implementation -} // namespace V1_0 -} // namespace dumpstate -} // namespace hardware -} // namespace android - -#endif // ANDROID_HARDWARE_DUMPSTATE_V1_0_DUMPSTATEDEVICE_H diff --git a/dumpstate/android.hardware.dumpstate@1.0-service.muskie.rc b/dumpstate/android.hardware.dumpstate@1.0-service.muskie.rc deleted file mode 100644 index 05b6db5..0000000 --- a/dumpstate/android.hardware.dumpstate@1.0-service.muskie.rc +++ /dev/null @@ -1,4 +0,0 @@ -service dumpstate-1-0 /vendor/bin/hw/android.hardware.dumpstate@1.0-service.muskie - class hal - user system - group system diff --git a/dumpstate/service.cpp b/dumpstate/service.cpp deleted file mode 100644 index b6be48b..0000000 --- a/dumpstate/service.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#define LOG_TAG "android.hardware.dumpstate@1.0-service.muskie" - -#include -#include - -#include "DumpstateDevice.h" - -using ::android::hardware::configureRpcThreadpool; -using ::android::hardware::dumpstate::V1_0::IDumpstateDevice; -using ::android::hardware::dumpstate::V1_0::implementation::DumpstateDevice; -using ::android::hardware::joinRpcThreadpool; -using ::android::sp; - - -int main(int /* argc */, char* /* argv */ []) { - sp dumpstate = new DumpstateDevice; - configureRpcThreadpool(1, true); - dumpstate->registerAsService(); - joinRpcThreadpool(); -}