Dokumentation zum QEMU mit MPC5200B-Emulation

Die meiste Dokumentation zum QEMU ist ausgerichtet für die Benutzung als Emulator bzw. Virtualisierungslösung. Interne Doku findet sich wenig. Darum dokumentiere ich hier meine Erkenntisse über den internrn Aufbau des QEMU.

Schwerpunkt ist hier der MPC5200B mit PowerPC 603e Kern.

Interrupt-System

QEMU bietet die Möglichkeit, einen Interrupt-Controller einzuhängen. Dazu benutzt man die Funktion

 qemu_irq *qemu_allocate_irqs(qemu_irq_handler handler, void *opaque, int n) 

Parameter:
handler Callback-Funktion beim Auftreten eines Interrupts
opaque User-Daten die der Callback-Funktion mitgegeben werden (Zeiger auf Verwaltungsdaten des INT-Controllers)
n Anzahl von Interrupts

Die Funktion
 void qemu_set_irq(qemu_irq irq, int level) 
ruft dann den Handler mit der angegebenen Interrupt-Nummer und -Level auf.

Im Verzeichnis target-ppc findet man in der Datei translate_init.c die Initialisierung des internen PowerPC interrupt-Controller.

Weblinks

-- JoergWeinhardt - 25 Jan 2010
Topic revision: r3 - 15 Jul 2013, JoergWeinhardt
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback