From c005d7df74ff3191308d3fd2174d9e7d55acf870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=97=B1=20PixelyIon?= Date: Thu, 14 Nov 2019 01:39:31 +0530 Subject: [PATCH] Framebuffer and NativeActivity What was added: * Framebuffer * NativeActivity * NV Services * IOCTL Handler * NV Devices: * * /dev/nvmap - 0xC0080101, 0xC0080103, 0xC0200104, 0xC0180105, 0xC00C0109, 0xC008010E * * /dev/nvhost-as-gpu * * /dev/nvhost-channel - 0x40044801, 0xC0104809, 0xC010480B, 0xC018480C, 0x4004480D, 0xC020481A, 0x40084714 * * /dev/nvhost-ctrl * * /dev/nvhost-ctrl-gpu - 0x80044701, 0x80284702, 0xC0184706, 0xC0B04705, 0x80084714 * SVCs: * * SetMemoryAttribute * * CreateTransferMemory * * ResetSignal * * GetSystemTick * Addition of Compact Logger What was fixed: * SVCs: * * SetHeapSize * * SetMemoryAttribute * * QueryMemory * A release build would not set CMAKE_BUILD_TYPE to "RELEASE" * The logger code was simplified --- .idea/codeStyles/Project.xml | 4 + .idea/scopes/SkylineJava.xml | 3 + README.md | 2 +- app/CMakeLists.txt | 42 +++- app/build.gradle | 12 +- app/src/main/AndroidManifest.xml | 23 +- app/src/main/cpp/main.cpp | 128 +++++++--- app/src/main/cpp/skyline/common.cpp | 53 ++-- app/src/main/cpp/skyline/common.h | 104 ++++++-- app/src/main/cpp/skyline/gpu.cpp | 163 +++++++++++++ app/src/main/cpp/skyline/gpu.h | 112 +++++++++ .../main/cpp/skyline/gpu/devices/nvdevice.h | 227 ++++++++++++++++++ .../cpp/skyline/gpu/devices/nvhost_as_gpu.cpp | 5 + .../cpp/skyline/gpu/devices/nvhost_as_gpu.h | 13 + .../skyline/gpu/devices/nvhost_channel.cpp | 42 ++++ .../cpp/skyline/gpu/devices/nvhost_channel.h | 57 +++++ .../cpp/skyline/gpu/devices/nvhost_ctrl.cpp | 5 + .../cpp/skyline/gpu/devices/nvhost_ctrl.h | 13 + .../skyline/gpu/devices/nvhost_ctrl_gpu.cpp | 138 +++++++++++ .../cpp/skyline/gpu/devices/nvhost_ctrl_gpu.h | 38 +++ .../main/cpp/skyline/gpu/devices/nvmap.cpp | 140 +++++++++++ app/src/main/cpp/skyline/gpu/devices/nvmap.h | 71 ++++++ app/src/main/cpp/skyline/gpu/display.cpp | 138 +++++++++++ app/src/main/cpp/skyline/gpu/display.h | 218 +++++++++++++++++ app/src/main/cpp/skyline/gpu/parcel.cpp | 50 ++++ app/src/main/cpp/skyline/gpu/parcel.h | 112 +++++++++ app/src/main/cpp/skyline/kernel/ipc.cpp | 70 ++++-- app/src/main/cpp/skyline/kernel/ipc.h | 5 +- .../skyline/kernel/services/am/appletOE.cpp | 125 ---------- .../skyline/kernel/services/fatal/fatal.cpp | 13 - app/src/main/cpp/skyline/kernel/svc.cpp | 180 +++++++++++--- app/src/main/cpp/skyline/kernel/svc.h | 37 ++- .../main/cpp/skyline/kernel/types/KEvent.h | 6 +- .../skyline/kernel/types/KPrivateMemory.cpp | 30 ++- .../cpp/skyline/kernel/types/KPrivateMemory.h | 16 +- .../cpp/skyline/kernel/types/KProcess.cpp | 42 ++-- .../main/cpp/skyline/kernel/types/KProcess.h | 75 +++--- .../main/cpp/skyline/kernel/types/KSession.h | 4 +- .../skyline/kernel/types/KSharedMemory.cpp | 26 +- .../cpp/skyline/kernel/types/KSharedMemory.h | 13 +- .../cpp/skyline/kernel/types/KSyncObject.cpp | 7 +- .../cpp/skyline/kernel/types/KSyncObject.h | 19 +- .../main/cpp/skyline/kernel/types/KThread.cpp | 18 +- .../main/cpp/skyline/kernel/types/KThread.h | 16 +- .../skyline/kernel/types/KTransferMemory.cpp | 7 +- .../skyline/kernel/types/KTransferMemory.h | 2 +- app/src/main/cpp/skyline/loader/loader.h | 26 +- app/src/main/cpp/skyline/loader/nro.cpp | 53 ++-- app/src/main/cpp/skyline/loader/nro.h | 36 +-- app/src/main/cpp/skyline/memory.h | 20 +- app/src/main/cpp/skyline/nce.cpp | 94 +++++--- app/src/main/cpp/skyline/nce.h | 15 +- app/src/main/cpp/skyline/os.cpp | 17 +- app/src/main/cpp/skyline/os.h | 5 +- .../main/cpp/skyline/services/am/applet.cpp | 80 ++++++ app/src/main/cpp/skyline/services/am/applet.h | 101 ++++++++ .../skyline/services/am/appletController.cpp | 102 ++++++++ .../am/appletController.h} | 129 ++++------ .../skyline/{kernel => }/services/apm/apm.cpp | 14 +- .../skyline/{kernel => }/services/apm/apm.h | 8 +- .../{kernel => }/services/base_service.h | 49 +++- .../main/cpp/skyline/services/fatal/fatal.cpp | 13 + .../{kernel => }/services/fatal/fatal.h | 6 +- .../skyline/{kernel => }/services/fs/fs.cpp | 8 +- .../cpp/skyline/{kernel => }/services/fs/fs.h | 10 +- .../skyline/{kernel => }/services/hid/hid.cpp | 28 ++- .../skyline/{kernel => }/services/hid/hid.h | 20 +- .../main/cpp/skyline/services/nvdrv/nvdrv.cpp | 53 ++++ .../main/cpp/skyline/services/nvdrv/nvdrv.h | 46 ++++ .../skyline/services/nvnflinger/dispdrv.cpp | 89 +++++++ .../cpp/skyline/services/nvnflinger/dispdrv.h | 63 +++++ .../{kernel => }/services/serviceman.cpp | 70 ++++-- .../{kernel => }/services/serviceman.h | 5 +- .../skyline/{kernel => }/services/set/sys.cpp | 4 +- .../skyline/{kernel => }/services/set/sys.h | 24 +- .../skyline/{kernel => }/services/sm/sm.cpp | 10 +- .../cpp/skyline/{kernel => }/services/sm/sm.h | 6 +- .../{kernel => }/services/time/time.cpp | 18 +- .../{kernel => }/services/time/timesrv.h | 18 +- app/src/main/cpp/skyline/services/vi/vi_m.cpp | 155 ++++++++++++ app/src/main/cpp/skyline/services/vi/vi_m.h | 142 +++++++++++ .../main/java/emu/skyline/GameAdapter.java | 44 ++-- .../main/java/emu/skyline/HeaderAdapter.java | 78 +++--- .../main/java/emu/skyline/LogActivity.java | 115 +++------ app/src/main/java/emu/skyline/LogAdapter.java | 63 ++--- .../main/java/emu/skyline/MainActivity.java | 64 ++--- app/src/main/java/emu/skyline/NroLoader.java | 36 +-- .../java/emu/skyline/SettingsActivity.java | 8 +- app/src/main/res/drawable/logo_skyline.xml | 122 +++++++--- app/src/main/res/layout/log_item.xml | 1 + app/src/main/res/layout/log_item_compact.xml | 17 ++ app/src/main/res/layout/main_activity.xml | 5 +- app/src/main/res/layout/section_item.xml | 1 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/xml/backup_descriptor.xml | 4 +- app/src/main/res/xml/preferences.xml | 12 +- 96 files changed, 3783 insertions(+), 951 deletions(-) create mode 100644 .idea/scopes/SkylineJava.xml create mode 100644 app/src/main/cpp/skyline/gpu.cpp create mode 100644 app/src/main/cpp/skyline/gpu.h create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvdevice.h create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_as_gpu.cpp create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_as_gpu.h create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_channel.cpp create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_channel.h create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_ctrl.cpp create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_ctrl.h create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_ctrl_gpu.cpp create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvhost_ctrl_gpu.h create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvmap.cpp create mode 100644 app/src/main/cpp/skyline/gpu/devices/nvmap.h create mode 100644 app/src/main/cpp/skyline/gpu/display.cpp create mode 100644 app/src/main/cpp/skyline/gpu/display.h create mode 100644 app/src/main/cpp/skyline/gpu/parcel.cpp create mode 100644 app/src/main/cpp/skyline/gpu/parcel.h delete mode 100644 app/src/main/cpp/skyline/kernel/services/am/appletOE.cpp delete mode 100644 app/src/main/cpp/skyline/kernel/services/fatal/fatal.cpp create mode 100644 app/src/main/cpp/skyline/services/am/applet.cpp create mode 100644 app/src/main/cpp/skyline/services/am/applet.h create mode 100644 app/src/main/cpp/skyline/services/am/appletController.cpp rename app/src/main/cpp/skyline/{kernel/services/am/appletOE.h => services/am/appletController.h} (52%) rename app/src/main/cpp/skyline/{kernel => }/services/apm/apm.cpp (59%) rename app/src/main/cpp/skyline/{kernel => }/services/apm/apm.h (87%) rename app/src/main/cpp/skyline/{kernel => }/services/base_service.h (69%) create mode 100644 app/src/main/cpp/skyline/services/fatal/fatal.cpp rename app/src/main/cpp/skyline/{kernel => }/services/fatal/fatal.h (75%) rename app/src/main/cpp/skyline/{kernel => }/services/fs/fs.cpp (74%) rename app/src/main/cpp/skyline/{kernel => }/services/fs/fs.h (87%) rename app/src/main/cpp/skyline/{kernel => }/services/hid/hid.cpp (71%) rename app/src/main/cpp/skyline/{kernel => }/services/hid/hid.h (91%) create mode 100644 app/src/main/cpp/skyline/services/nvdrv/nvdrv.cpp create mode 100644 app/src/main/cpp/skyline/services/nvdrv/nvdrv.h create mode 100644 app/src/main/cpp/skyline/services/nvnflinger/dispdrv.cpp create mode 100644 app/src/main/cpp/skyline/services/nvnflinger/dispdrv.h rename app/src/main/cpp/skyline/{kernel => }/services/serviceman.cpp (74%) rename app/src/main/cpp/skyline/{kernel => }/services/serviceman.h (93%) rename app/src/main/cpp/skyline/{kernel => }/services/set/sys.cpp (53%) rename app/src/main/cpp/skyline/{kernel => }/services/set/sys.h (57%) rename app/src/main/cpp/skyline/{kernel => }/services/sm/sm.cpp (67%) rename app/src/main/cpp/skyline/{kernel => }/services/sm/sm.h (84%) rename app/src/main/cpp/skyline/{kernel => }/services/time/time.cpp (84%) rename app/src/main/cpp/skyline/{kernel => }/services/time/timesrv.h (90%) create mode 100644 app/src/main/cpp/skyline/services/vi/vi_m.cpp create mode 100644 app/src/main/cpp/skyline/services/vi/vi_m.h create mode 100644 app/src/main/res/layout/log_item_compact.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index bb3ada16..a21dfa7e 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -3,6 +3,9 @@