Ich versuche, ein neues Gerät in der qemu hinzuzufügen.Kann nicht schreiben in Iomem-Region in qemu mit Gdb
Verwenden Sie in der entsprechenden CPU-Datei sysbus_mmio_map, um die Basisadresse festzulegen.
sysbus_mmio_map(SYS_BUS_DEVICE(&s->brif), 0, BASE_ADDRESS);
In der neu geschaffenen Gerätedatei,
memory_region_init_io(&s->iomem, obj, &ops, s, "brif", SIZE);
sysbus_init_mmio((SYS_BUS_DEVICE(obj), &s->iomem);
Die ops hat die entsprechenden Lese- und Schreib Handler.
Mein Lese-Handler wird aufgerufen, wenn ich mit gdb auf den EA-Speicherbereich zugreife, aber mein Schreib-Handler wird nicht aufgerufen, wenn ich mit gdb in den EA-Speicherbereich schreibe.
Was fehlt mir?
Update: Ich bekomme die Schreibhandler, wenn ich in den E/A-Speicherbereich aus dem Code innerhalb des Gastes schreiben, ist das Problem nur, wenn ich versuche, von der Gdb zuzugreifen.