psw breakpoint

This commit is contained in:
folkert van heusden 2024-04-16 20:10:02 +02:00
parent 1b4300b357
commit e35f9eb8d5
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1
2 changed files with 9 additions and 1 deletions

View file

@ -30,6 +30,8 @@ std::string breakpoint_register::get_name(hwreg_t reg) const
return "mmr2";
case hr_mmr3:
return "mmr3";
case hr_psw:
return "psw";
}
return "???";
@ -57,6 +59,9 @@ std::optional<std::string> breakpoint_register::is_triggered() const
case hr_mmr3:
v = b->getMMR3();
break;
case hr_psw:
v = c->getPSW();
break;
}
}
@ -101,6 +106,9 @@ std::pair<breakpoint_register *, std::optional<std::string> > breakpoint_registe
return { new breakpoint_register(b, hr_mmr0 + which, values), { } };
}
else if (key.substr(0, 3) == "PSW" or key.substr(0, 3) == "psw") {
return { new breakpoint_register(b, hr_psw, values), { } };
}
return { nullptr, { } };
}

View file

@ -13,7 +13,7 @@ private:
int register_nr { -1 };
std::set<uint16_t> values;
enum hwreg_t { hr_mmr0 = 100, hr_mmr1, hr_mmr2, hr_mmr3 };
enum hwreg_t { hr_mmr0 = 100, hr_mmr1, hr_mmr2, hr_mmr3, hr_psw = 200 };
std::string get_name(hwreg_t reg) const;