order hle
This commit is contained in:
@ -232,6 +232,8 @@ struct Values {
|
|||||||
SwitchableSetting<bool> cpuopt_unsafe_ignore_global_monitor{
|
SwitchableSetting<bool> cpuopt_unsafe_ignore_global_monitor{
|
||||||
linkage, true, "cpuopt_unsafe_ignore_global_monitor", Category::CpuUnsafe};
|
linkage, true, "cpuopt_unsafe_ignore_global_monitor", Category::CpuUnsafe};
|
||||||
|
|
||||||
|
Setting<bool> cpuopt_const_prop{linkage, true, "cpuopt_const_prop", Category::CpuDebug};
|
||||||
|
|
||||||
// Renderer
|
// Renderer
|
||||||
SwitchableSetting<RendererBackend, true> renderer_backend{
|
SwitchableSetting<RendererBackend, true> renderer_backend{
|
||||||
linkage, RendererBackend::Vulkan, RendererBackend::OpenGL, RendererBackend::Null,
|
linkage, RendererBackend::Vulkan, RendererBackend::OpenGL, RendererBackend::Null,
|
||||||
@ -582,6 +584,22 @@ struct Values {
|
|||||||
|
|
||||||
// Add-Ons
|
// Add-Ons
|
||||||
std::map<u64, std::vector<std::string>> disabled_addons;
|
std::map<u64, std::vector<std::string>> disabled_addons;
|
||||||
|
|
||||||
|
// LLE Services
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_ldr", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_ncm", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_pm", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_sm", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_usb", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_tna", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
|
Setting<bool> enable_telemetry{linkage, true, "enable_lle_fs", Category::LleServices};
|
||||||
};
|
};
|
||||||
|
|
||||||
extern Values values;
|
extern Values values;
|
||||||
|
@ -42,6 +42,7 @@ enum class Category : u32 {
|
|||||||
Shortcuts,
|
Shortcuts,
|
||||||
Multiplayer,
|
Multiplayer,
|
||||||
Services,
|
Services,
|
||||||
|
LleServices,
|
||||||
Paths,
|
Paths,
|
||||||
Linux,
|
Linux,
|
||||||
MaxEnum,
|
MaxEnum,
|
||||||
|
@ -219,63 +219,75 @@ Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system
|
|||||||
// here and pass it into the respective InstallInterfaces functions.
|
// here and pass it into the respective InstallInterfaces functions.
|
||||||
system.GetFileSystemController().CreateFactories(*system.GetFilesystem(), false);
|
system.GetFileSystemController().CreateFactories(*system.GetFilesystem(), false);
|
||||||
|
|
||||||
|
// See https://switchbrew.org/wiki/Boot2 for boot order
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
kernel.RunOnHostCoreProcess("audio", [&] { Audio::LoopProcess(system); }).detach();
|
|
||||||
kernel.RunOnHostCoreProcess("FS", [&] { FileSystem::LoopProcess(system); }).detach();
|
kernel.RunOnHostCoreProcess("FS", [&] { FileSystem::LoopProcess(system); }).detach();
|
||||||
kernel.RunOnHostCoreProcess("jit", [&] { JIT::LoopProcess(system); }).detach();
|
kernel.RunOnHostCoreProcess("jit", [&] { JIT::LoopProcess(system); }).detach();
|
||||||
kernel.RunOnHostCoreProcess("ldn", [&] { LDN::LoopProcess(system); }).detach();
|
|
||||||
kernel.RunOnHostCoreProcess("Loader", [&] { LDR::LoopProcess(system); }).detach();
|
kernel.RunOnHostCoreProcess("Loader", [&] { LDR::LoopProcess(system); }).detach();
|
||||||
kernel.RunOnHostCoreProcess("nvservices", [&] { Nvidia::LoopProcess(*nv_flinger, system); }).detach();
|
|
||||||
kernel.RunOnHostCoreProcess("bsdsocket", [&] { Sockets::LoopProcess(system); }).detach();
|
|
||||||
kernel.RunOnHostCoreProcess("vi", [&] { VI::LoopProcess(system, *nv_flinger, *hos_binder_driver_server); }).detach();
|
|
||||||
|
|
||||||
kernel.RunOnGuestCoreProcess("sm", [&] { SM::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("sm", [&] { SM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("account", [&] { Account::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("psc", [&] { PSC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("settings", [&] { Set::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("usb", [&] { USB::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("pcie", [&] { PCIe::LoopProcess(system); });
|
||||||
|
// bus
|
||||||
|
kernel.RunOnGuestCoreProcess("pcv", [&] { PCV::LoopProcess(system); });
|
||||||
|
// tma
|
||||||
|
// omm
|
||||||
kernel.RunOnGuestCoreProcess("am", [&] { AM::LoopProcess(*nv_flinger, system); });
|
kernel.RunOnGuestCoreProcess("am", [&] { AM::LoopProcess(*nv_flinger, system); });
|
||||||
kernel.RunOnGuestCoreProcess("aoc", [&] { AOC::LoopProcess(system); });
|
kernel.RunOnHostCoreProcess("nvservices", [&] { Nvidia::LoopProcess(*nv_flinger, system); }).detach();
|
||||||
kernel.RunOnGuestCoreProcess("apm", [&] { APM::LoopProcess(system); });
|
// nvnflinger
|
||||||
kernel.RunOnGuestCoreProcess("bcat", [&] { BCAT::LoopProcess(system); });
|
kernel.RunOnHostCoreProcess("vi", [&] { VI::LoopProcess(system, *nv_flinger, *hos_binder_driver_server); }).detach();
|
||||||
kernel.RunOnGuestCoreProcess("bpc", [&] { BPC::LoopProcess(system); });
|
// pgl
|
||||||
|
kernel.RunOnGuestCoreProcess("ns", [&] { NS::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("LogManager.Prod", [&] { LM::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("ptm", [&] { PTM::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("hid", [&] { HID::LoopProcess(system); });
|
||||||
|
kernel.RunOnHostCoreProcess("audio", [&] { Audio::LoopProcess(system); }).detach();
|
||||||
|
// wlan
|
||||||
kernel.RunOnGuestCoreProcess("btdrv", [&] { BtDrv::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("btdrv", [&] { BtDrv::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("btm", [&] { BTM::LoopProcess(system); });
|
kernel.RunOnHostCoreProcess("bsdsocket", [&] { Sockets::LoopProcess(system); }).detach();
|
||||||
|
// eth
|
||||||
|
kernel.RunOnGuestCoreProcess("nifm", [&] { NIFM::LoopProcess(system); });
|
||||||
|
kernel.RunOnHostCoreProcess("ldn", [&] { LDN::LoopProcess(system); }).detach();
|
||||||
|
kernel.RunOnGuestCoreProcess("account", [&] { Account::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("nfc", [&] { NFC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("nfp", [&] { NFP::LoopProcess(system); });
|
||||||
|
// jpegdec
|
||||||
kernel.RunOnGuestCoreProcess("capsrv", [&] { Capture::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("capsrv", [&] { Capture::LoopProcess(system); });
|
||||||
|
// capmtp
|
||||||
|
kernel.RunOnGuestCoreProcess("ssl", [&] { SSL::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("nim", [&] { NIM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("erpt", [&] { ERPT::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("erpt", [&] { ERPT::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("es", [&] { ES::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("es", [&] { ES::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("eupld", [&] { EUPLD::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("pctl", [&] { PCTL::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("fatal", [&] { Fatal::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("btm", [&] { BTM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("fgm", [&] { FGM::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("friends", [&] { Friend::LoopProcess(system); });
|
|
||||||
// glue depends on settings and psc, so they must come first
|
|
||||||
kernel.RunOnGuestCoreProcess("settings", [&] { Set::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("psc", [&] { PSC::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("glue", [&] { Glue::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("glue", [&] { Glue::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("grc", [&] { GRC::LoopProcess(system); });
|
// eclct
|
||||||
kernel.RunOnGuestCoreProcess("hid", [&] { HID::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("npns", [&] { NPNS::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("lbl", [&] { LBL::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("fatal", [&] { Fatal::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("LogManager.Prod", [&] { LM::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("ro", [&] { RO::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("mig", [&] { Migration::LoopProcess(system); });
|
// sdb
|
||||||
kernel.RunOnGuestCoreProcess("mii", [&] { Mii::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("mii", [&] { Mii::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("grc", [&] { GRC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("olsc", [&] { OLSC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("ngc", [&] { NGC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("friends", [&] { Friend::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("bcat", [&] { BCAT::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("eupld", [&] { EUPLD::LoopProcess(system); });
|
||||||
|
|
||||||
|
kernel.RunOnGuestCoreProcess("aoc", [&] { AOC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("apm", [&] { APM::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("bpc", [&] { BPC::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("fgm", [&] { FGM::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("lbl", [&] { LBL::LoopProcess(system); });
|
||||||
|
kernel.RunOnGuestCoreProcess("mig", [&] { Migration::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("mm", [&] { MM::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("mm", [&] { MM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("mnpp", [&] { MNPP::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("mnpp", [&] { MNPP::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("NCM", [&] { NCM::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("NCM", [&] { NCM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("nfc", [&] { NFC::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("nfp", [&] { NFP::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("ngc", [&] { NGC::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("nifm", [&] { NIFM::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("nim", [&] { NIM::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("npns", [&] { NPNS::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("ns", [&] { NS::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("olsc", [&] { OLSC::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("pcie", [&] { PCIe::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("pctl", [&] { PCTL::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("pcv", [&] { PCV::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("prepo", [&] { PlayReport::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("prepo", [&] { PlayReport::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("ProcessManager", [&] { PM::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("ProcessManager", [&] { PM::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("ptm", [&] { PTM::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("ro", [&] { RO::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("spl", [&] { SPL::LoopProcess(system); });
|
kernel.RunOnGuestCoreProcess("spl", [&] { SPL::LoopProcess(system); });
|
||||||
kernel.RunOnGuestCoreProcess("ssl", [&] { SSL::LoopProcess(system); });
|
|
||||||
kernel.RunOnGuestCoreProcess("usb", [&] { USB::LoopProcess(system); });
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user