dumpstate: add logbuffer support for display
Add logbuffer support for display driver to dump DSI cmd Bug: 291441544 Test: adb root; adb shell dumpsys android.hardware.dumpstate.IDumpstateDevice/default dump_display_logbuffer Change-Id: I0c40fa9836851caa5b02528888153bd82e3a9d75 Signed-off-by: Ken Lin <lyenting@google.com>
This commit is contained in:
parent
37493030cc
commit
71767237de
19
display_logbuffer/Android.bp
Normal file
19
display_logbuffer/Android.bp
Normal file
@ -0,0 +1,19 @@
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "dump_display_logbuffer",
|
||||
srcs: ["dump_display_logbuffer.cpp"],
|
||||
init_rc: ["init.display_logbuffer.rc"],
|
||||
cflags: [
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Werror",
|
||||
],
|
||||
shared_libs: [
|
||||
"libdump",
|
||||
],
|
||||
vendor: true,
|
||||
relative_install_path: "dump",
|
||||
}
|
3
display_logbuffer/dump.mk
Normal file
3
display_logbuffer/dump.mk
Normal file
@ -0,0 +1,3 @@
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/display_logbuffer/sepolicy
|
||||
|
||||
PRODUCT_PACKAGES += dump_display_logbuffer
|
32
display_logbuffer/dump_display_logbuffer.cpp
Normal file
32
display_logbuffer/dump_display_logbuffer.cpp
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* 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 <dump/pixel_dump.h>
|
||||
#include <unistd.h>
|
||||
|
||||
const char* logbuffer_paths[][2] = {
|
||||
{"DSIM0", "/dev/logbuffer_dsim0"},
|
||||
{"DSIM1", "/dev/logbuffer_dsim1"},
|
||||
};
|
||||
|
||||
int main() {
|
||||
for (auto &logbuffer_path : logbuffer_paths) {
|
||||
if(!access(logbuffer_path[1], R_OK)) {
|
||||
dumpFileContent(logbuffer_path[0], logbuffer_path[1]);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
3
display_logbuffer/init.display_logbuffer.rc
Normal file
3
display_logbuffer/init.display_logbuffer.rc
Normal file
@ -0,0 +1,3 @@
|
||||
on property:ro.build.type=userdebug
|
||||
chown system system /dev/logbuffer_dsim0
|
||||
chown system system /dev/logbuffer_dsim1
|
1
display_logbuffer/sepolicy/device.te
Normal file
1
display_logbuffer/sepolicy/device.te
Normal file
@ -0,0 +1 @@
|
||||
type display_log_device, dev_type;
|
3
display_logbuffer/sepolicy/dump_display_logbuffer.te
Normal file
3
display_logbuffer/sepolicy/dump_display_logbuffer.te
Normal file
@ -0,0 +1,3 @@
|
||||
pixel_bugreport(dump_display_logbuffer)
|
||||
|
||||
allow dump_display_logbuffer display_log_device:chr_file r_file_perms;
|
4
display_logbuffer/sepolicy/file_contexts
Normal file
4
display_logbuffer/sepolicy/file_contexts
Normal file
@ -0,0 +1,4 @@
|
||||
/vendor/bin/dump/dump_display_logbuffer u:object_r:dump_display_logbuffer_exec:s0
|
||||
|
||||
/dev/logbuffer_dsim0 u:object_r:display_log_device:s0
|
||||
/dev/logbuffer_dsim1 u:object_r:display_log_device:s0
|
Loading…
x
Reference in New Issue
Block a user