From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adNt7-0003oN-95 for qemu-devel@nongnu.org; Tue, 08 Mar 2016 15:05:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adNt2-0004G1-DQ for qemu-devel@nongnu.org; Tue, 08 Mar 2016 15:05:49 -0500 From: Andrew Baumann Date: Tue, 8 Mar 2016 12:05:21 -0800 Message-ID: <1457467526-8840-1-git-send-email-Andrew.Baumann@microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v3 0/5] Raspberry Pi framebuffer, DMA and Windows support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , =?UTF-8?q?Gr=C3=A9gory=20ESTRADE?= , Stefan Weil , Peter Crosthwaite , Andrew Baumann , qemu-arm@nongnu.org, Paolo Bonzini This patch series adds support for the AUX (second UART), framebuffer and DMA controller on Raspberry Pi 2, and enables booting Windows on this device. As with the previous series, it is heavily based on the original (out of tree) work of Gregory Estrade, Stefan Weil and others to support Raspberry Pi 1. After this series, it is possible to boot Windows by following the instructions at https://github.com/0xabu/qemu/wiki. You also boot Raspbian to the GUI using a command such as: qemu-system-arm -M raspi2 -kernel raspbian-boot/kernel7.img -sd 2015-09-24-raspbian-jessie.img -append "rw earlyprintk loglevel=3D8 console=3DttyAMA0 dwc_otg.lpm_enable=3D0 root=3D/dev/mmcblk0p2 rootwait" -dtb raspbian-boot/bcm2709-rpi-2-b.dtb -serial stdio I plan to add USB, and remaining timers / system devices in future patch series, along with support for pi1 (bcm2835). In the meantime, the complete code is available at https://github.com/0xabu/qemu v2: * added DMA controller * revised per PMM's review feedback * rebased on top of the patch for fixing ldl_phys/stl_phys in raspi devices, presently in target-arm.next v3: * tweaked instantiation of uart1 char device * identified Gregory as primary author of framebuffer and DMA emulation Cheers, Andrew Andrew Baumann (2): bcm2835_peripherals: enable sdhci pending-insert quirk for raspberry pi bcm2835_aux: add emulation of BCM2835 AUX (aka UART1) block Gr=C3=A9gory ESTRADE (3): bcm2835_fb: add framebuffer device for Raspberry Pi bcm2835_property: implement framebuffer control/configuration properties bcm2835_dma: add emulation of Raspberry Pi DMA controller hw/arm/bcm2835_peripherals.c | 103 ++++++++- hw/arm/bcm2836.c | 2 + hw/arm/raspi.c | 12 +- hw/char/Makefile.objs | 1 + hw/char/bcm2835_aux.c | 316 ++++++++++++++++++++++++++ hw/display/Makefile.objs | 1 + hw/display/bcm2835_fb.c | 424 +++++++++++++++++++++++++++++++= ++++ hw/dma/Makefile.objs | 1 + hw/dma/bcm2835_dma.c | 408 +++++++++++++++++++++++++++++++= ++ hw/misc/bcm2835_property.c | 139 +++++++++++- include/hw/arm/bcm2835_peripherals.h | 6 + include/hw/char/bcm2835_aux.h | 33 +++ include/hw/display/bcm2835_fb.h | 47 ++++ include/hw/dma/bcm2835_dma.h | 47 ++++ include/hw/misc/bcm2835_property.h | 5 +- 15 files changed, 1532 insertions(+), 13 deletions(-) create mode 100644 hw/char/bcm2835_aux.c create mode 100644 hw/display/bcm2835_fb.c create mode 100644 hw/dma/bcm2835_dma.c create mode 100644 include/hw/char/bcm2835_aux.h create mode 100644 include/hw/display/bcm2835_fb.h create mode 100644 include/hw/dma/bcm2835_dma.h --=20 2.7.0