Loading cmds/atrace/atrace.rc +5 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,11 @@ on late-init chmod 0666 /sys/kernel/tracing/events/i2c/smbus_reply/enable chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/enable chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/enable chmod 0666 /sys/kernel/debug/tracing/events/sync/enable chmod 0666 /sys/kernel/tracing/events/sync/enable chmod 0666 /sys/kernel/debug/tracing/events/fence/enable chmod 0666 /sys/kernel/tracing/events/fence/enable # disk chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_enter/enable Loading cmds/atrace/atrace_userdebug.rc +0 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,6 @@ # Access control to these files is now entirely in selinux policy. on post-fs chmod 0666 /sys/kernel/tracing/events/sync/enable chmod 0666 /sys/kernel/debug/tracing/events/sync/enable chmod 0666 /sys/kernel/tracing/events/workqueue/enable chmod 0666 /sys/kernel/debug/tracing/events/workqueue/enable chmod 0666 /sys/kernel/tracing/events/regulator/enable Loading cmds/dumpstate/dumpstate.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1504,6 +1504,7 @@ static void DumpstateRadioCommon() { // This method collects dumpsys for telephony debugging only static void DumpstateTelephonyOnly() { DurationReporter duration_reporter("DUMPSTATE"); const CommandOptions DUMPSYS_COMPONENTS_OPTIONS = CommandOptions::WithTimeout(60).Build(); DumpstateRadioCommon(); Loading @@ -1528,6 +1529,13 @@ static void DumpstateTelephonyOnly() { RunDumpsys("TELEPHONY SERVICES", {"activity", "service", "TelephonyDebugService"}); printf("========================================================\n"); printf("== Running Application Services (non-platform)\n"); printf("========================================================\n"); RunDumpsys("APP SERVICES NON-PLATFORM", {"activity", "service", "all-non-platform"}, DUMPSYS_COMPONENTS_OPTIONS); printf("========================================================\n"); printf("== dumpstate: done (id %d)\n", ds.id_); printf("========================================================\n"); Loading opengl/libs/EGL/getProcAddress.cpp +20 −22 Original line number Diff line number Diff line Loading @@ -80,46 +80,44 @@ namespace android { #elif defined(__i386__) #define API_ENTRY(_api) __attribute__((noinline,optimize("omit-frame-pointer"))) _api #define API_ENTRY(_api) __attribute__((naked)) _api #define CALL_GL_EXTENSION_API(_api) \ register void** fn; \ __asm__ volatile( \ "mov %%gs:0, %[fn]\n" \ "mov %P[tls](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "cmovne %P[api](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "mov %%gs:0, %%eax\n" \ "mov %P[tls](%%eax), %%eax\n" \ "test %%eax, %%eax\n" \ "cmovne %P[api](%%eax), %%eax\n" \ "test %%eax, %%eax\n" \ "je 1f\n" \ "jmp *%[fn]\n" \ "1:\n" \ : [fn] "=r" (fn) \ "jmp *%%eax\n" \ "1: ret\n" \ : \ : [tls] "i" (TLS_SLOT_OPENGL_API*sizeof(void*)), \ [api] "i" (__builtin_offsetof(gl_hooks_t, \ ext.extensions[_api])) \ : "cc" \ : "eax", "cc" \ ); #elif defined(__x86_64__) #define API_ENTRY(_api) __attribute__((noinline,optimize("omit-frame-pointer"))) _api #define API_ENTRY(_api) __attribute__((naked)) _api #define CALL_GL_EXTENSION_API(_api) \ register void** fn; \ __asm__ volatile( \ "mov %%fs:0, %[fn]\n" \ "mov %P[tls](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "cmovne %P[api](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "mov %%fs:0, %%rax\n" \ "mov %P[tls](%%rax), %%rax\n" \ "test %%rax, %%rax\n" \ "cmovne %P[api](%%rax), %%rax\n" \ "test %%rax, %%rax\n" \ "je 1f\n" \ "jmp *%[fn]\n" \ "1:\n" \ : [fn] "=r" (fn) \ "jmp *%%rax\n" \ "1: ret\n" \ : \ : [tls] "i" (TLS_SLOT_OPENGL_API*sizeof(void*)), \ [api] "i" (__builtin_offsetof(gl_hooks_t, \ ext.extensions[_api])) \ : "cc" \ : "rax", "cc" \ ); #elif defined(__mips64) Loading services/surfaceflinger/DisplayHardware/HWC2.cpp +27 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ #include <android/configuration.h> #include <algorithm> #include <inttypes.h> #include <algorithm> #include <iterator> #include <set> using android::Fence; Loading Loading @@ -338,6 +339,31 @@ Error Display::getActiveConfig( return Error::None; } Error Display::getActiveConfigIndex(int* outIndex) const { ALOGV("[%" PRIu64 "] getActiveConfigIndex", mId); hwc2_config_t configId = 0; auto intError = mComposer.getActiveConfig(mId, &configId); auto error = static_cast<Error>(intError); if (error != Error::None) { ALOGE("Unable to get active config for mId:[%" PRIu64 "]", mId); *outIndex = -1; return error; } auto pos = mConfigs.find(configId); if (pos != mConfigs.end()) { *outIndex = std::distance(mConfigs.begin(), pos); } else { ALOGE("[%" PRIu64 "] getActiveConfig returned unknown config %u", mId, configId); // Return no error, but the caller needs to check for a negative index // to detect this case *outIndex = -1; } return Error::None; } Error Display::getChangedCompositionTypes( std::unordered_map<Layer*, Composition>* outTypes) { Loading Loading
cmds/atrace/atrace.rc +5 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,11 @@ on late-init chmod 0666 /sys/kernel/tracing/events/i2c/smbus_reply/enable chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/enable chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/enable chmod 0666 /sys/kernel/debug/tracing/events/sync/enable chmod 0666 /sys/kernel/tracing/events/sync/enable chmod 0666 /sys/kernel/debug/tracing/events/fence/enable chmod 0666 /sys/kernel/tracing/events/fence/enable # disk chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_enter/enable Loading
cmds/atrace/atrace_userdebug.rc +0 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,6 @@ # Access control to these files is now entirely in selinux policy. on post-fs chmod 0666 /sys/kernel/tracing/events/sync/enable chmod 0666 /sys/kernel/debug/tracing/events/sync/enable chmod 0666 /sys/kernel/tracing/events/workqueue/enable chmod 0666 /sys/kernel/debug/tracing/events/workqueue/enable chmod 0666 /sys/kernel/tracing/events/regulator/enable Loading
cmds/dumpstate/dumpstate.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1504,6 +1504,7 @@ static void DumpstateRadioCommon() { // This method collects dumpsys for telephony debugging only static void DumpstateTelephonyOnly() { DurationReporter duration_reporter("DUMPSTATE"); const CommandOptions DUMPSYS_COMPONENTS_OPTIONS = CommandOptions::WithTimeout(60).Build(); DumpstateRadioCommon(); Loading @@ -1528,6 +1529,13 @@ static void DumpstateTelephonyOnly() { RunDumpsys("TELEPHONY SERVICES", {"activity", "service", "TelephonyDebugService"}); printf("========================================================\n"); printf("== Running Application Services (non-platform)\n"); printf("========================================================\n"); RunDumpsys("APP SERVICES NON-PLATFORM", {"activity", "service", "all-non-platform"}, DUMPSYS_COMPONENTS_OPTIONS); printf("========================================================\n"); printf("== dumpstate: done (id %d)\n", ds.id_); printf("========================================================\n"); Loading
opengl/libs/EGL/getProcAddress.cpp +20 −22 Original line number Diff line number Diff line Loading @@ -80,46 +80,44 @@ namespace android { #elif defined(__i386__) #define API_ENTRY(_api) __attribute__((noinline,optimize("omit-frame-pointer"))) _api #define API_ENTRY(_api) __attribute__((naked)) _api #define CALL_GL_EXTENSION_API(_api) \ register void** fn; \ __asm__ volatile( \ "mov %%gs:0, %[fn]\n" \ "mov %P[tls](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "cmovne %P[api](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "mov %%gs:0, %%eax\n" \ "mov %P[tls](%%eax), %%eax\n" \ "test %%eax, %%eax\n" \ "cmovne %P[api](%%eax), %%eax\n" \ "test %%eax, %%eax\n" \ "je 1f\n" \ "jmp *%[fn]\n" \ "1:\n" \ : [fn] "=r" (fn) \ "jmp *%%eax\n" \ "1: ret\n" \ : \ : [tls] "i" (TLS_SLOT_OPENGL_API*sizeof(void*)), \ [api] "i" (__builtin_offsetof(gl_hooks_t, \ ext.extensions[_api])) \ : "cc" \ : "eax", "cc" \ ); #elif defined(__x86_64__) #define API_ENTRY(_api) __attribute__((noinline,optimize("omit-frame-pointer"))) _api #define API_ENTRY(_api) __attribute__((naked)) _api #define CALL_GL_EXTENSION_API(_api) \ register void** fn; \ __asm__ volatile( \ "mov %%fs:0, %[fn]\n" \ "mov %P[tls](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "cmovne %P[api](%[fn]), %[fn]\n" \ "test %[fn], %[fn]\n" \ "mov %%fs:0, %%rax\n" \ "mov %P[tls](%%rax), %%rax\n" \ "test %%rax, %%rax\n" \ "cmovne %P[api](%%rax), %%rax\n" \ "test %%rax, %%rax\n" \ "je 1f\n" \ "jmp *%[fn]\n" \ "1:\n" \ : [fn] "=r" (fn) \ "jmp *%%rax\n" \ "1: ret\n" \ : \ : [tls] "i" (TLS_SLOT_OPENGL_API*sizeof(void*)), \ [api] "i" (__builtin_offsetof(gl_hooks_t, \ ext.extensions[_api])) \ : "cc" \ : "rax", "cc" \ ); #elif defined(__mips64) Loading
services/surfaceflinger/DisplayHardware/HWC2.cpp +27 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ #include <android/configuration.h> #include <algorithm> #include <inttypes.h> #include <algorithm> #include <iterator> #include <set> using android::Fence; Loading Loading @@ -338,6 +339,31 @@ Error Display::getActiveConfig( return Error::None; } Error Display::getActiveConfigIndex(int* outIndex) const { ALOGV("[%" PRIu64 "] getActiveConfigIndex", mId); hwc2_config_t configId = 0; auto intError = mComposer.getActiveConfig(mId, &configId); auto error = static_cast<Error>(intError); if (error != Error::None) { ALOGE("Unable to get active config for mId:[%" PRIu64 "]", mId); *outIndex = -1; return error; } auto pos = mConfigs.find(configId); if (pos != mConfigs.end()) { *outIndex = std::distance(mConfigs.begin(), pos); } else { ALOGE("[%" PRIu64 "] getActiveConfig returned unknown config %u", mId, configId); // Return no error, but the caller needs to check for a negative index // to detect this case *outIndex = -1; } return Error::None; } Error Display::getChangedCompositionTypes( std::unordered_map<Layer*, Composition>* outTypes) { Loading