From 9f82a9a2444a232e746992fa89084b928255cb63 Mon Sep 17 00:00:00 2001 From: FearlessTobi Date: Wed, 20 May 2020 21:28:16 +0200 Subject: crypto: Make KeyManager a singleton class Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list. With this change, it is only loaded once. On my system, this decreased game list loading times by a factor of 20. --- src/core/hle/service/es/es.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/es') diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index f8e9df4b1..ad6841a64 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -263,7 +263,7 @@ private: rb.Push(write_size); } - Core::Crypto::KeyManager keys; + Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); }; void InstallInterfaces(SM::ServiceManager& service_manager) { -- cgit v1.2.3 From 3828aa4927d604804f09bd2b8a307f3e50a8c986 Mon Sep 17 00:00:00 2001 From: VolcaEM <63682805+VolcaEM@users.noreply.github.com> Date: Sat, 27 Jun 2020 02:17:51 +0200 Subject: es: Update function table This was based on Switchbrew page: https://switchbrew.org/wiki/ETicket_services --- src/core/hle/service/es/es.cpp | 43 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/es') diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index f8e9df4b1..593772ee2 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -27,8 +27,8 @@ public: {8, &ETicket::GetTitleKey, "GetTitleKey"}, {9, &ETicket::CountCommonTicket, "CountCommonTicket"}, {10, &ETicket::CountPersonalizedTicket, "CountPersonalizedTicket"}, - {11, &ETicket::ListCommonTicket, "ListCommonTicket"}, - {12, &ETicket::ListPersonalizedTicket, "ListPersonalizedTicket"}, + {11, &ETicket::ListCommonTicket, "ListCommonTicketRightsIds"}, + {12, &ETicket::ListPersonalizedTicket, "ListPersonalizedTicketRightsIds"}, {13, nullptr, "ListMissingPersonalizedTicket"}, {14, &ETicket::GetCommonTicketSize, "GetCommonTicketSize"}, {15, &ETicket::GetPersonalizedTicketSize, "GetPersonalizedTicketSize"}, @@ -55,7 +55,46 @@ public: {36, nullptr, "DeleteAllInactiveELicenseRequiredPersonalizedTicket"}, {37, nullptr, "OwnTicket2"}, {38, nullptr, "OwnTicket3"}, + {501, nullptr, "Unknown"}, + {502, nullptr, "Unknown2"}, {503, nullptr, "GetTitleKey"}, + {504, nullptr, "Unknown3"}, + {508, nullptr, "Unknown4"}, + {509, nullptr, "Unknown5"}, + {510, nullptr, "Unknown6"}, + {511, nullptr, "Unknown7"}, + {1001, nullptr, "Unknown8"}, + {1002, nullptr, "Unknown9"}, + {1003, nullptr, "Unknown10"}, + {1004, nullptr, "Unknown11"}, + {1005, nullptr, "Unknown12"}, + {1006, nullptr, "Unknown13"}, + {1007, nullptr, "Unknown14"}, + {1009, nullptr, "Unknown15"}, + {1010, nullptr, "Unknown16"}, + {1011, nullptr, "Unknown17"}, + {1012, nullptr, "Unknown18"}, + {1013, nullptr, "Unknown19"}, + {1014, nullptr, "Unknown20"}, + {1015, nullptr, "Unknown21"}, + {1016, nullptr, "Unknown22"}, + {1017, nullptr, "Unknown23"}, + {1018, nullptr, "Unknown24"}, + {1019, nullptr, "Unknown25"}, + {1020, nullptr, "Unknown26"}, + {1021, nullptr, "Unknown27"}, + {1501, nullptr, "Unknown28"}, + {1502, nullptr, "Unknown29"}, + {1503, nullptr, "Unknown30"}, + {1504, nullptr, "Unknown31"}, + {1505, nullptr, "Unknown32"}, + {2000, nullptr, "Unknown33"}, + {2001, nullptr, "Unknown34"}, + {2100, nullptr, "Unknown35"}, + {2501, nullptr, "Unknown36"}, + {2502, nullptr, "Unknown37"}, + {3001, nullptr, "Unknown38"}, + {3002, nullptr, "Unknown39"}, }; // clang-format on RegisterHandlers(functions); -- cgit v1.2.3 From bc51a9365ba20303452792429a4ae611938f8d9c Mon Sep 17 00:00:00 2001 From: VolcaEM <63682805+VolcaEM@users.noreply.github.com> Date: Sat, 27 Jun 2020 02:43:22 +0200 Subject: Update function names --- src/core/hle/service/es/es.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/core/hle/service/es') diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index 593772ee2..884c818da 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -27,8 +27,8 @@ public: {8, &ETicket::GetTitleKey, "GetTitleKey"}, {9, &ETicket::CountCommonTicket, "CountCommonTicket"}, {10, &ETicket::CountPersonalizedTicket, "CountPersonalizedTicket"}, - {11, &ETicket::ListCommonTicket, "ListCommonTicketRightsIds"}, - {12, &ETicket::ListPersonalizedTicket, "ListPersonalizedTicketRightsIds"}, + {11, &ETicket::ListCommonTicketRightsIds, "ListCommonTicketRightsIds"}, + {12, &ETicket::ListPersonalizedTicketRightsIds, "ListPersonalizedTicketRightsIds"}, {13, nullptr, "ListMissingPersonalizedTicket"}, {14, &ETicket::GetCommonTicketSize, "GetCommonTicketSize"}, {15, &ETicket::GetPersonalizedTicketSize, "GetPersonalizedTicketSize"}, @@ -186,7 +186,7 @@ private: rb.Push(count); } - void ListCommonTicket(Kernel::HLERequestContext& ctx) { + void ListCommonTicketRightsIds(Kernel::HLERequestContext& ctx) { u32 out_entries; if (keys.GetCommonTickets().empty()) out_entries = 0; @@ -209,7 +209,7 @@ private: rb.Push(out_entries); } - void ListPersonalizedTicket(Kernel::HLERequestContext& ctx) { + void ListPersonalizedTicketRightsIds(Kernel::HLERequestContext& ctx) { u32 out_entries; if (keys.GetPersonalizedTickets().empty()) out_entries = 0; -- cgit v1.2.3 From 2d82b7f1a1eb43e3f0c9a1695a8ada3db2728462 Mon Sep 17 00:00:00 2001 From: VolcaEM <63682805+VolcaEM@users.noreply.github.com> Date: Sat, 27 Jun 2020 02:48:29 +0200 Subject: Use better names for "Unknown"s --- src/core/hle/service/es/es.cpp | 78 +++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 39 deletions(-) (limited to 'src/core/hle/service/es') diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index 884c818da..9365f27e1 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -55,46 +55,46 @@ public: {36, nullptr, "DeleteAllInactiveELicenseRequiredPersonalizedTicket"}, {37, nullptr, "OwnTicket2"}, {38, nullptr, "OwnTicket3"}, - {501, nullptr, "Unknown"}, - {502, nullptr, "Unknown2"}, + {501, nullptr, "Unknown501"}, + {502, nullptr, "Unknown502"}, {503, nullptr, "GetTitleKey"}, - {504, nullptr, "Unknown3"}, - {508, nullptr, "Unknown4"}, - {509, nullptr, "Unknown5"}, - {510, nullptr, "Unknown6"}, - {511, nullptr, "Unknown7"}, - {1001, nullptr, "Unknown8"}, - {1002, nullptr, "Unknown9"}, - {1003, nullptr, "Unknown10"}, - {1004, nullptr, "Unknown11"}, - {1005, nullptr, "Unknown12"}, - {1006, nullptr, "Unknown13"}, - {1007, nullptr, "Unknown14"}, - {1009, nullptr, "Unknown15"}, - {1010, nullptr, "Unknown16"}, - {1011, nullptr, "Unknown17"}, - {1012, nullptr, "Unknown18"}, - {1013, nullptr, "Unknown19"}, - {1014, nullptr, "Unknown20"}, - {1015, nullptr, "Unknown21"}, - {1016, nullptr, "Unknown22"}, - {1017, nullptr, "Unknown23"}, - {1018, nullptr, "Unknown24"}, - {1019, nullptr, "Unknown25"}, - {1020, nullptr, "Unknown26"}, - {1021, nullptr, "Unknown27"}, - {1501, nullptr, "Unknown28"}, - {1502, nullptr, "Unknown29"}, - {1503, nullptr, "Unknown30"}, - {1504, nullptr, "Unknown31"}, - {1505, nullptr, "Unknown32"}, - {2000, nullptr, "Unknown33"}, - {2001, nullptr, "Unknown34"}, - {2100, nullptr, "Unknown35"}, - {2501, nullptr, "Unknown36"}, - {2502, nullptr, "Unknown37"}, - {3001, nullptr, "Unknown38"}, - {3002, nullptr, "Unknown39"}, + {504, nullptr, "Unknown504"}, + {508, nullptr, "Unknown508"}, + {509, nullptr, "Unknown509"}, + {510, nullptr, "Unknown510"}, + {511, nullptr, "Unknown511"}, + {1001, nullptr, "Unknown1001"}, + {1002, nullptr, "Unknown1001"}, + {1003, nullptr, "Unknown1003"}, + {1004, nullptr, "Unknown1004"}, + {1005, nullptr, "Unknown1005"}, + {1006, nullptr, "Unknown1006"}, + {1007, nullptr, "Unknown1007"}, + {1009, nullptr, "Unknown1009"}, + {1010, nullptr, "Unknown1010"}, + {1011, nullptr, "Unknown1011"}, + {1012, nullptr, "Unknown1012"}, + {1013, nullptr, "Unknown1013"}, + {1014, nullptr, "Unknown1014"}, + {1015, nullptr, "Unknown1015"}, + {1016, nullptr, "Unknown1016"}, + {1017, nullptr, "Unknown1017"}, + {1018, nullptr, "Unknown1018"}, + {1019, nullptr, "Unknown1019"}, + {1020, nullptr, "Unknown1020"}, + {1021, nullptr, "Unknown1021"}, + {1501, nullptr, "Unknown1501"}, + {1502, nullptr, "Unknown1502"}, + {1503, nullptr, "Unknown1503"}, + {1504, nullptr, "Unknown1504"}, + {1505, nullptr, "Unknown1505"}, + {2000, nullptr, "Unknown2000"}, + {2001, nullptr, "Unknown2001"}, + {2100, nullptr, "Unknown2100"}, + {2501, nullptr, "Unknown2501"}, + {2502, nullptr, "Unknown2502"}, + {3001, nullptr, "Unknown3001"}, + {3002, nullptr, "Unknown3002"}, }; // clang-format on RegisterHandlers(functions); -- cgit v1.2.3 From fb13f053bb6ef304bc7656b521727c87eff697f1 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 1 Jul 2020 00:28:49 -0400 Subject: key_manager: Correct casing of instance() Our codebase uppercases member function names. --- src/core/hle/service/es/es.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/es') diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index da6b74a22..a41c73c48 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -302,7 +302,7 @@ private: rb.Push(write_size); } - Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::instance(); + Core::Crypto::KeyManager& keys = Core::Crypto::KeyManager::Instance(); }; void InstallInterfaces(SM::ServiceManager& service_manager) { -- cgit v1.2.3