#include <string.h>
#include "sh2.h"
+#include "../debug.h"
#include "compiler.h"
#define I 0xf0
+SH2 *sh2; // active sh2
+
int sh2_init(SH2 *sh2, int is_slave)
{
int ret = 0;
memset(sh2, 0, sizeof(*sh2));
sh2->is_slave = is_slave;
+ pdb_register_cpu(sh2, PDBCT_SH2, is_slave ? "ssh2" : "msh2");
#ifdef DRC_SH2
ret = sh2_drc_init(sh2);
#endif
void sh2_do_irq(SH2 *sh2, int level, int vector)
{
- sh2->irq_callback(sh2->is_slave, level);
-
sh2->r[15] -= 4;
p32x_sh2_write32(sh2->r[15], sh2->sr, sh2); /* push SR onto stack */
sh2->r[15] -= 4;