diff --git a/aoc/Android.bp b/aoc/Android.bp index 736f968..7af2424 100644 --- a/aoc/Android.bp +++ b/aoc/Android.bp @@ -10,7 +10,10 @@ cc_binary { "-Wextra", "-Werror", ], - shared_libs: ["libbase"], + shared_libs: [ + "libbase", + "libdump", + ], vendor: true, relative_install_path: "dump", } diff --git a/aoc/dump_aoc.cpp b/aoc/dump_aoc.cpp index a3e0088..97da3b5 100644 --- a/aoc/dump_aoc.cpp +++ b/aoc/dump_aoc.cpp @@ -14,28 +14,7 @@ * limitations under the License. */ #include -#include -#include -#include -#include - -// Format title and content output. -void dumpFileContent(const char* title, const char* file_path) { - std::string content; - printf("------ %s (%s) ------\n", title, file_path); - if (android::base::ReadFileToString(file_path, &content)) { - printf("%s\n", content.c_str()); - } else { - printf("Unable to read %s\n", file_path); - } - return; -} - -void command(const char* title, const char* cmd){ - printf("------ %s (%s) ------\n", title, cmd); - system(cmd); - return; -} +#include // Dump Aoc. int main() { @@ -52,10 +31,10 @@ int main() { dumpFileContent("AoC memory exception wake", "/sys/devices/platform/19000000.aoc/control/memory_exception"); dumpFileContent("AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_a32"); dumpFileContent("AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_ff1"); - command("clean AoC buffer","echo ' ' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); - command("AoC Heap Stats (A32)", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); - command("AoC Heap Stats (F1)", "echo 'dbg heap -c 2' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); - command("AoC Heap Stats (HF0)", "echo 'dbg heap -c 3' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); - command("AoC Heap Stats (HF1)", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); + runCommand("clean AoC buffer","echo ' ' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); + runCommand("AoC Heap Stats (A32)", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); + runCommand("AoC Heap Stats (F1)", "echo 'dbg heap -c 2' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); + runCommand("AoC Heap Stats (HF0)", "echo 'dbg heap -c 3' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); + runCommand("AoC Heap Stats (HF1)", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"); return 0; } diff --git a/insmod/Android.bp b/insmod/Android.bp index 2573894..3b956e7 100644 --- a/insmod/Android.bp +++ b/insmod/Android.bp @@ -14,3 +14,23 @@ prebuilt_etc { src: "init.common.cfg", vendor: true, } + +cc_library { + name: "libdump", + srcs: ["pixel_dump.cpp"], + vendor_available: true, + vendor_ramdisk_available: true, + shared_libs: [ + "libbase", + "liblog", + ], + cflags: [ + "-Wall", + "-Werror", + ], + + export_include_dirs: [ + "include", + ], +} + diff --git a/insmod/include/dump/pixel_dump.h b/insmod/include/dump/pixel_dump.h new file mode 100644 index 0000000..1d661be --- /dev/null +++ b/insmod/include/dump/pixel_dump.h @@ -0,0 +1,7 @@ +#ifndef DEVICE_GOOGLE_GS_COMMON_INSMOD_INCLUDE_DUMP_PIXEL_DUMP_H_ +#define DEVICE_GOOGLE_GS_COMMON_INSMOD_INCLUDE_DUMP_PIXEL_DUMP_H_ + +void dumpFileContent(const char* title, const char* file_path); +void runCommand(const char* title, const char* cmd); + +#endif // DEVICE_GOOGLE_GS_COMMON_INSMOD_INCLUDE_DUMP_PIXEL_DUMP_H_ diff --git a/insmod/pixel_dump.cpp b/insmod/pixel_dump.cpp new file mode 100644 index 0000000..5926dfc --- /dev/null +++ b/insmod/pixel_dump.cpp @@ -0,0 +1,37 @@ +/* + * Copyright 2022 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. + */ +#include +#include +#include + +// Format title and content output. +void dumpFileContent(const char* title, const char* file_path) { + std::string content; + printf("------ %s (%s) ------\n", title, file_path); + if (android::base::ReadFileToString(file_path, &content)) { + printf("%s\n", content.c_str()); + } else { + printf("Unable to read %s\n", file_path); + } + return; +} + +// Format title and command output. +void runCommand(const char* title, const char* cmd) { + printf("------ %s (%s)------\n", title, cmd); + system(cmd); + return; +} diff --git a/soc/Android.bp b/soc/Android.bp index 8cb3e65..fdef92c 100644 --- a/soc/Android.bp +++ b/soc/Android.bp @@ -10,7 +10,10 @@ cc_binary { "-Wextra", "-Werror", ], - shared_libs: ["libbase"], + shared_libs: [ + "libbase", + "libdump", + ], vendor: true, relative_install_path: "dump", } diff --git a/soc/dump_soc.cpp b/soc/dump_soc.cpp index cf7fcd9..bc08689 100644 --- a/soc/dump_soc.cpp +++ b/soc/dump_soc.cpp @@ -13,21 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include -#include -#include - -// Format title and content output. -void dumpFileContent(const char* title, const char* file_path) { - std::string content; - printf("------ %s (%s) ------\n", title, file_path); - if (android::base::ReadFileToString(file_path, &content)) { - printf("%s\n", content.c_str()); - } else { - printf("Unable to read %s\n", file_path); - } - return; -} +#include // Dump chip ID. int main() {