diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 9 | ||||
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 6 | ||||
| -rw-r--r-- | src/core/hle/service/acc/acc.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/am/applet_ae.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/aoc/aoc_u.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/apm/apm.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/bcat/module.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/btdrv/btdrv.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/btm/btm.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/friend/friend.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/glue/arp.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/ldr/ldr.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/lm/lm.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/nvdrv/nvdrv.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/pm/pm.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/prepo/prepo.cpp | 1 | 
16 files changed, 23 insertions, 7 deletions
| diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 1c354037d..d57776ce9 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h @@ -12,7 +12,6 @@  #include <utility>  #include "common/assert.h"  #include "common/common_types.h" -#include "core/core.h"  #include "core/hle/ipc.h"  #include "core/hle/kernel/client_port.h"  #include "core/hle/kernel/client_session.h" @@ -73,14 +72,12 @@ public:          AlwaysMoveHandles = 1,      }; -    explicit ResponseBuilder(u32* command_buffer) : RequestHelperBase(command_buffer) {} -      explicit ResponseBuilder(Kernel::HLERequestContext& context, u32 normal_params_size,                               u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0,                               Flags flags = Flags::None) -          : RequestHelperBase(context), normal_params_size(normal_params_size), -          num_handles_to_copy(num_handles_to_copy), num_objects_to_move(num_objects_to_move) { +          num_handles_to_copy(num_handles_to_copy), +          num_objects_to_move(num_objects_to_move), kernel{context.kernel} {          memset(cmdbuf, 0, sizeof(u32) * IPC::COMMAND_BUFFER_LENGTH); @@ -140,7 +137,6 @@ public:          if (context->Session()->IsDomain()) {              context->AddDomainObject(std::move(iface));          } else { -            auto& kernel = Core::System::GetInstance().Kernel();              auto [client, server] = Kernel::Session::Create(kernel, iface->GetServiceName());              context->AddMoveObject(std::move(client));              iface->ClientConnected(std::move(server)); @@ -214,6 +210,7 @@ private:      u32 num_handles_to_copy{};      u32 num_objects_to_move{}; ///< Domain objects or move handles, context dependent      std::ptrdiff_t datapayload_index{}; +    Kernel::KernelCore& kernel;  };  /// Push /// diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index f3277b766..c31a65476 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -24,6 +24,10 @@ namespace Core::Memory {  class Memory;  } +namespace IPC { +class ResponseBuilder; +} +  namespace Service {  class ServiceFrameworkBase;  } @@ -287,6 +291,8 @@ public:      }  private: +    friend class IPC::ResponseBuilder; +      void ParseCommandBuffer(const HandleTable& handle_table, u32_le* src_cmdbuf, bool incoming);      std::array<u32, IPC::COMMAND_BUFFER_LENGTH> cmd_buf; diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 2850dd805..ded52ea0b 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -11,6 +11,7 @@  #include "common/string_util.h"  #include "common/swap.h"  #include "core/constants.h" +#include "core/core.h"  #include "core/core_timing.h"  #include "core/file_sys/control_metadata.h"  #include "core/file_sys/patch_manager.h" diff --git a/src/core/hle/service/am/applet_ae.cpp b/src/core/hle/service/am/applet_ae.cpp index 9df286d17..be23ca747 100644 --- a/src/core/hle/service/am/applet_ae.cpp +++ b/src/core/hle/service/am/applet_ae.cpp @@ -3,8 +3,8 @@  // Refer to the license.txt file included.  #include "common/logging/log.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h" -#include "core/hle/kernel/process.h"  #include "core/hle/service/am/am.h"  #include "core/hle/service/am/applet_ae.h"  #include "core/hle/service/nvflinger/nvflinger.h" diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp index 8e79f707b..e58b2c518 100644 --- a/src/core/hle/service/aoc/aoc_u.cpp +++ b/src/core/hle/service/aoc/aoc_u.cpp @@ -6,6 +6,7 @@  #include <numeric>  #include <vector>  #include "common/logging/log.h" +#include "core/core.h"  #include "core/file_sys/content_archive.h"  #include "core/file_sys/control_metadata.h"  #include "core/file_sys/nca_metadata.h" diff --git a/src/core/hle/service/apm/apm.cpp b/src/core/hle/service/apm/apm.cpp index 85bbf5988..e2d8f0027 100644 --- a/src/core/hle/service/apm/apm.cpp +++ b/src/core/hle/service/apm/apm.cpp @@ -2,6 +2,7 @@  // Licensed under GPLv2 or any later version  // Refer to the license.txt file included. +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/service/apm/apm.h"  #include "core/hle/service/apm/interface.h" diff --git a/src/core/hle/service/bcat/module.cpp b/src/core/hle/service/bcat/module.cpp index db0e06ca1..68deb0600 100644 --- a/src/core/hle/service/bcat/module.cpp +++ b/src/core/hle/service/bcat/module.cpp @@ -8,6 +8,7 @@  #include "common/hex_util.h"  #include "common/logging/log.h"  #include "common/string_util.h" +#include "core/core.h"  #include "core/file_sys/vfs.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/process.h" diff --git a/src/core/hle/service/btdrv/btdrv.cpp b/src/core/hle/service/btdrv/btdrv.cpp index f311afa2f..d4f0dd1ab 100644 --- a/src/core/hle/service/btdrv/btdrv.cpp +++ b/src/core/hle/service/btdrv/btdrv.cpp @@ -3,6 +3,7 @@  // Refer to the license.txt file included.  #include "common/logging/log.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/hle_ipc.h"  #include "core/hle/kernel/kernel.h" diff --git a/src/core/hle/service/btm/btm.cpp b/src/core/hle/service/btm/btm.cpp index 0d251c6d0..c8f8ddbd5 100644 --- a/src/core/hle/service/btm/btm.cpp +++ b/src/core/hle/service/btm/btm.cpp @@ -5,6 +5,7 @@  #include <memory>  #include "common/logging/log.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/hle_ipc.h"  #include "core/hle/kernel/kernel.h" diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp index b7adaffc7..ebb323da2 100644 --- a/src/core/hle/service/friend/friend.cpp +++ b/src/core/hle/service/friend/friend.cpp @@ -5,6 +5,7 @@  #include <queue>  #include "common/logging/log.h"  #include "common/uuid.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/readable_event.h"  #include "core/hle/kernel/writable_event.h" diff --git a/src/core/hle/service/glue/arp.cpp b/src/core/hle/service/glue/arp.cpp index b591ce31b..c6252ff89 100644 --- a/src/core/hle/service/glue/arp.cpp +++ b/src/core/hle/service/glue/arp.cpp @@ -5,6 +5,7 @@  #include <memory>  #include "common/logging/log.h" +#include "core/core.h"  #include "core/file_sys/control_metadata.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/hle_ipc.h" diff --git a/src/core/hle/service/ldr/ldr.cpp b/src/core/hle/service/ldr/ldr.cpp index eeaca44b6..65c209725 100644 --- a/src/core/hle/service/ldr/ldr.cpp +++ b/src/core/hle/service/ldr/ldr.cpp @@ -9,6 +9,7 @@  #include "common/alignment.h"  #include "common/hex_util.h"  #include "common/scope_exit.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/errors.h"  #include "core/hle/kernel/memory/page_table.h" diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp index dec96b771..49a42a9c9 100644 --- a/src/core/hle/service/lm/lm.cpp +++ b/src/core/hle/service/lm/lm.cpp @@ -7,6 +7,7 @@  #include "common/logging/log.h"  #include "common/scope_exit.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/service/lm/lm.h"  #include "core/hle/service/lm/manager.h" diff --git a/src/core/hle/service/nvdrv/nvdrv.cpp b/src/core/hle/service/nvdrv/nvdrv.cpp index a46755cdc..046a1f28c 100644 --- a/src/core/hle/service/nvdrv/nvdrv.cpp +++ b/src/core/hle/service/nvdrv/nvdrv.cpp @@ -5,6 +5,7 @@  #include <utility>  #include <fmt/format.h> +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/readable_event.h"  #include "core/hle/kernel/writable_event.h" diff --git a/src/core/hle/service/pm/pm.cpp b/src/core/hle/service/pm/pm.cpp index f43122ad2..a771a51b4 100644 --- a/src/core/hle/service/pm/pm.cpp +++ b/src/core/hle/service/pm/pm.cpp @@ -2,6 +2,7 @@  // Licensed under GPLv2 or any later version  // Refer to the license.txt file included. +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/kernel.h"  #include "core/hle/kernel/process.h" diff --git a/src/core/hle/service/prepo/prepo.cpp b/src/core/hle/service/prepo/prepo.cpp index cde3312da..b9ef86b72 100644 --- a/src/core/hle/service/prepo/prepo.cpp +++ b/src/core/hle/service/prepo/prepo.cpp @@ -4,6 +4,7 @@  #include "common/hex_util.h"  #include "common/logging/log.h" +#include "core/core.h"  #include "core/hle/ipc_helpers.h"  #include "core/hle/kernel/process.h"  #include "core/hle/service/acc/profile_manager.h" | 
