Use typed pointer for MI interfaces of VR4300

This commit is contained in:
Pavel I. Kryukov 2019-12-09 22:31:06 +03:00
parent 05eedd91b5
commit 29d6d12339
2 changed files with 4 additions and 6 deletions

View file

@ -88,8 +88,7 @@ void signal_rcp_interrupt(struct vr4300 *vr4300, enum rcp_interrupt_mask mask) {
}
// Reads a word from the MI MMIO register space.
int read_mi_regs(void *opaque, uint32_t address, uint32_t *word) {
struct vr4300 *vr4300 = (struct vr4300 *) opaque;
int read_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t *word) {
uint32_t offset = address - MI_REGS_BASE_ADDRESS;
enum mi_register reg = (offset >> 2);
@ -99,8 +98,7 @@ int read_mi_regs(void *opaque, uint32_t address, uint32_t *word) {
}
// Writes a word to the MI MMIO register space.
int write_mi_regs(void *opaque, uint32_t address, uint32_t word, uint32_t dqm) {
struct vr4300 *vr4300 = (struct vr4300 *) opaque;
int write_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t word, uint32_t dqm) {
uint32_t offset = address - MI_REGS_BASE_ADDRESS;
enum mi_register reg = (offset >> 2);
uint32_t result;

View file

@ -39,8 +39,8 @@ cen64_cold void vr4300_cycle_extra(struct vr4300 *vr4300, struct vr4300_stats *s
uint64_t vr4300_get_register(struct vr4300 *vr4300, size_t i);
uint64_t vr4300_get_pc(struct vr4300 *vr4300);
int read_mi_regs(void *opaque, uint32_t address, uint32_t *word);
int write_mi_regs(void *opaque, uint32_t address, uint32_t word, uint32_t dqm);
int read_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t *word);
int write_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t word, uint32_t dqm);
void clear_rcp_interrupt(struct vr4300 *vr4300, enum rcp_interrupt_mask mask);
void signal_rcp_interrupt(struct vr4300 *vr4300, enum rcp_interrupt_mask mask);