[Y2R] Add transfer event

This commit is contained in:
wheremyfoodat 2023-04-10 21:55:14 +03:00
parent 5a8416f87e
commit 82b986bbc0
3 changed files with 22 additions and 2 deletions

View file

@ -1,23 +1,30 @@
#pragma once
#include <optional>
#include "helpers.hpp"
#include "kernel_types.hpp"
#include "logger.hpp"
#include "memory.hpp"
// Circular dependencies go br
class Kernel;
class Y2RService {
Handle handle = KernelHandles::Y2R;
Memory& mem;
Kernel& kernel;
MAKE_LOG_FUNCTION(log, y2rLogger)
std::optional<Handle> transferEndEvent;
bool transferEndInterruptEnabled;
// Service commands
void driverInitialize(u32 messagePointer);
void pingProcess(u32 messagePointer);
void setTransferEndInterrupt(u32 messagePointer);
void getTransferEndEvent(u32 messagePointer);
public:
Y2RService(Memory& mem) : mem(mem) {}
Y2RService(Memory& mem, Kernel& kernel) : mem(mem), kernel(kernel) {}
void reset();
void handleSyncRequest(u32 messagePointer);
};