Snap for 9168953 from 19236e907903bcb226c8f72e81e9819252430abb to udc-release

Change-Id: I6e64a9b85b59d849cca26a48d39b08c610b8142f
This commit is contained in:
Android Build Coastguard Worker 2022-10-13 01:03:02 +00:00
commit e6a564273b
5 changed files with 88 additions and 0 deletions

16
aoc/Android.bp Normal file
View File

@ -0,0 +1,16 @@
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
cc_binary {
name: "dump_aoc",
srcs: ["dump_aoc.cpp"],
cflags: [
"-Wall",
"-Wextra",
"-Werror",
],
shared_libs: ["libbase"],
vendor: true,
relative_install_path: "dump",
}

3
aoc/aoc.mk Normal file
View File

@ -0,0 +1,3 @@
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/aoc/sepolicy
PRODUCT_PACKAGES += dump_aoc

61
aoc/dump_aoc.cpp Normal file
View File

@ -0,0 +1,61 @@
/*
* 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 <stdio.h>
#include <string>
#include <android-base/file.h>
#include <fstream>
#include <iostream>
// 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;
}
// Dump Aoc.
int main() {
setbuf(stdout, NULL);
dumpFileContent("AoC Service Status", "/sys/devices/platform/19000000.aoc/services");
dumpFileContent("AoC Restarts", "/sys/devices/platform/19000000.aoc/restart_count");
dumpFileContent("AoC Coredumps", "/sys/devices/platform/19000000.aoc/coredump_count");
dumpFileContent("AoC ring buf wake", "/sys/devices/platform/19000000.aoc/control/ring_buffer_wakeup");
dumpFileContent("AoC host ipc wake", "/sys/devices/platform/19000000.aoc/control/host_ipc_wakeup");
dumpFileContent("AoC usf wake", "/sys/devices/platform/19000000.aoc/control/usf_wakeup");
dumpFileContent("AoC audio wake", "/sys/devices/platform/19000000.aoc/control/audio_wakeup");
dumpFileContent("AoC logging wake", "/sys/devices/platform/19000000.aoc/control/logging_wakeup");
dumpFileContent("AoC hotword wake", "/sys/devices/platform/19000000.aoc/control/hotword_wakeup");
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");
return 0;
}

7
aoc/sepolicy/dump_aoc.te Normal file
View File

@ -0,0 +1,7 @@
pixel_bugreport(dump_aoc)
allow dump_aoc sysfs_aoc:dir search;
allow dump_aoc sysfs_aoc_dumpstate:file r_file_perms;
allow dump_aoc aoc_device:chr_file rw_file_perms;
allow dump_aoc vendor_shell_exec:file execute_no_trans;
allow dump_aoc vendor_toolbox_exec:file execute_no_trans;

View File

@ -0,0 +1 @@
/vendor/bin/dump/dump_aoc u:object_r:dump_aoc_exec:s0