Play-/Source/iop/Iop_Intrman.h

33 lines
804 B
C
Raw Permalink Normal View History

2015-10-10 20:22:32 -04:00
#pragma once
#include "Iop_Module.h"
class CIopBios;
namespace Iop
{
class CIntrman : public CModule
{
public:
2018-04-30 21:01:23 +01:00
CIntrman(CIopBios&, uint8*);
2019-06-11 12:42:58 -04:00
virtual ~CIntrman() = default;
2018-04-30 21:01:23 +01:00
std::string GetId() const override;
std::string GetFunctionName(unsigned int) const override;
void Invoke(CMIPS&, unsigned int) override;
private:
2018-04-30 21:01:23 +01:00
uint32 RegisterIntrHandler(uint32, uint32, uint32, uint32);
uint32 ReleaseIntrHandler(uint32);
uint32 EnableIntrLine(CMIPS&, uint32);
uint32 DisableIntrLine(CMIPS&, uint32, uint32);
uint32 EnableInterrupts(CMIPS&);
uint32 DisableInterrupts(CMIPS&);
uint32 SuspendInterrupts(CMIPS&, uint32);
uint32 ResumeInterrupts(CMIPS&, uint32);
uint32 QueryIntrContext(CMIPS&);
CIopBios& m_bios;
2023-05-02 08:56:25 -04:00
uint8* m_ram = nullptr;
};
}