mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	Deglobalize System: IRS
This commit is contained in:
		@@ -1061,7 +1061,7 @@ void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system
 | 
			
		||||
    std::make_shared<HidSys>()->InstallAsService(service_manager);
 | 
			
		||||
    std::make_shared<HidTmp>()->InstallAsService(service_manager);
 | 
			
		||||
 | 
			
		||||
    std::make_shared<IRS>()->InstallAsService(service_manager);
 | 
			
		||||
    std::make_shared<IRS>(system)->InstallAsService(service_manager);
 | 
			
		||||
    std::make_shared<IRS_SYS>()->InstallAsService(service_manager);
 | 
			
		||||
 | 
			
		||||
    std::make_shared<XCD_SYS>()->InstallAsService(service_manager);
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
 | 
			
		||||
namespace Service::HID {
 | 
			
		||||
 | 
			
		||||
IRS::IRS() : ServiceFramework{"irs"} {
 | 
			
		||||
IRS::IRS(Core::System& system) : ServiceFramework{"irs"}, system(system) {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    static const FunctionInfo functions[] = {
 | 
			
		||||
        {302, &IRS::ActivateIrsensor, "ActivateIrsensor"},
 | 
			
		||||
@@ -37,7 +37,7 @@ IRS::IRS() : ServiceFramework{"irs"} {
 | 
			
		||||
 | 
			
		||||
    RegisterHandlers(functions);
 | 
			
		||||
 | 
			
		||||
    auto& kernel = Core::System::GetInstance().Kernel();
 | 
			
		||||
    auto& kernel = system.Kernel();
 | 
			
		||||
    shared_mem = Kernel::SharedMemory::Create(
 | 
			
		||||
        kernel, nullptr, 0x8000, Kernel::MemoryPermission::ReadWrite,
 | 
			
		||||
        Kernel::MemoryPermission::Read, 0, Kernel::MemoryRegion::BASE, "IRS:SharedMemory");
 | 
			
		||||
@@ -98,7 +98,7 @@ void IRS::GetImageTransferProcessorState(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 5};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
    rb.PushRaw<u64>(Core::System::GetInstance().CoreTiming().GetTicks());
 | 
			
		||||
    rb.PushRaw<u64>(system.CoreTiming().GetTicks());
 | 
			
		||||
    rb.PushRaw<u32>(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ namespace Service::HID {
 | 
			
		||||
 | 
			
		||||
class IRS final : public ServiceFramework<IRS> {
 | 
			
		||||
public:
 | 
			
		||||
    explicit IRS();
 | 
			
		||||
    explicit IRS(Core::System& system);
 | 
			
		||||
    ~IRS() override;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
@@ -39,6 +39,7 @@ private:
 | 
			
		||||
    void ActivateIrsensorWithFunctionLevel(Kernel::HLERequestContext& ctx);
 | 
			
		||||
    Kernel::SharedPtr<Kernel::SharedMemory> shared_mem;
 | 
			
		||||
    const u32 device_handle{0xABCD};
 | 
			
		||||
    Core::System& system;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class IRS_SYS final : public ServiceFramework<IRS_SYS> {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user