Skip to content

Commit f13bdf9

Browse files
committed
Cast mi_regs callbacks
1 parent 7186fbe commit f13bdf9

File tree

3 files changed

+5
-7
lines changed

3 files changed

+5
-7
lines changed

bus/controller.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ int bus_init(struct bus_controller *bus, int dd_present) {
4444
static const struct bus_controller_mapping mappings[NUM_MAPPINGS] = {
4545
{read_ai_regs, write_ai_regs, AI_REGS_BASE_ADDRESS, AI_REGS_ADDRESS_LEN},
4646
{read_dp_regs, write_dp_regs, DP_REGS_BASE_ADDRESS, DP_REGS_ADDRESS_LEN},
47-
{read_mi_regs, write_mi_regs, MI_REGS_BASE_ADDRESS, MI_REGS_ADDRESS_LEN},
47+
{(memory_rd_function)read_mi_regs, (memory_wr_function)write_mi_regs, MI_REGS_BASE_ADDRESS, MI_REGS_ADDRESS_LEN},
4848
{read_pi_regs, write_pi_regs, PI_REGS_BASE_ADDRESS, PI_REGS_ADDRESS_LEN},
4949
{read_ri_regs, write_ri_regs, RI_REGS_BASE_ADDRESS, RI_REGS_ADDRESS_LEN},
5050
{read_si_regs, write_si_regs, SI_REGS_BASE_ADDRESS, SI_REGS_ADDRESS_LEN},

vr4300/interface.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ void signal_rcp_interrupt(struct vr4300 *vr4300, enum rcp_interrupt_mask mask) {
8989
}
9090

9191
// Reads a word from the MI MMIO register space.
92-
int read_mi_regs(void *opaque, uint32_t address, uint32_t *word) {
93-
struct vr4300 *vr4300 = (struct vr4300*)opaque;
92+
int read_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t *word) {
9493
uint32_t offset = address - MI_REGS_BASE_ADDRESS;
9594
enum mi_register reg = (offset >> 2);
9695

@@ -100,8 +99,7 @@ int read_mi_regs(void *opaque, uint32_t address, uint32_t *word) {
10099
}
101100

102101
// Writes a word to the MI MMIO register space.
103-
int write_mi_regs(void *opaque, uint32_t address, uint32_t word, uint32_t dqm) {
104-
struct vr4300 *vr4300 = (struct vr4300*)opaque;
102+
int write_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t word, uint32_t dqm) {
105103
uint32_t offset = address - MI_REGS_BASE_ADDRESS;
106104
enum mi_register reg = (offset >> 2);
107105
uint32_t result;

vr4300/interface.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ uint64_t vr4300_get_pc(struct vr4300 *vr4300);
5050

5151
bool vr4300_read_word_vaddr(struct vr4300 *vr4300, uint64_t vaddr, uint32_t* result);
5252

53-
int read_mi_regs(void *opaque, uint32_t address, uint32_t *word);
54-
int write_mi_regs(void *opaque, uint32_t address, uint32_t word, uint32_t dqm);
53+
int read_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t *word);
54+
int write_mi_regs(struct vr4300 *vr4300, uint32_t address, uint32_t word, uint32_t dqm);
5555

5656
void clear_rcp_interrupt(struct vr4300 *vr4300, enum rcp_interrupt_mask mask);
5757
void signal_rcp_interrupt(struct vr4300 *vr4300, enum rcp_interrupt_mask mask);

0 commit comments

Comments
 (0)