2016-05-12 24 views
1

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.

Antwort

0

Ich glaube es ist nur ein Fehler. Se diese bugreport (mit einem Patch enthalten).