summary refs log tree commit diff stats
path: root/hw/misc
diff options
context:
space:
mode:
authorEnrik Berkhan <Enrik.Berkhan@inka.de>2022-08-12 16:35:19 +0200
committerRichard Henderson <richard.henderson@linaro.org>2022-09-14 11:19:39 +0100
commit3b9a030e846dd42a53f9f5bdcdd0228bb898e01b (patch)
tree9c1f5b4082883651aa2a497380d1694921d2a3bb /hw/misc
parent3b16766b5ae7f61079e3ae674e140219c4cdbe85 (diff)
downloadfocaccia-qemu-3b9a030e846dd42a53f9f5bdcdd0228bb898e01b.tar.gz
focaccia-qemu-3b9a030e846dd42a53f9f5bdcdd0228bb898e01b.zip
hw/arm/bcm2835_property: Add support for RPI_FIRMWARE_FRAMEBUFFER_GET_NUM_DISPLAYS
In more recent Raspbian OS Linux kernels, the fb driver gives up
immediately if RPI_FIRMWARE_FRAMEBUFFER_GET_NUM_DISPLAYS fails or no
displays are reported.

This change simply always reports one display. It makes bcm2835_fb work
again with these more recent kernels.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Enrik Berkhan <Enrik.Berkhan@inka.de>
Message-Id: <20220812143519.59134-1-Enrik.Berkhan@inka.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'hw/misc')
-rw-r--r--hw/misc/bcm2835_property.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c
index e94e951057..890ae7bae5 100644
--- a/hw/misc/bcm2835_property.c
+++ b/hw/misc/bcm2835_property.c
@@ -270,6 +270,10 @@ static void bcm2835_property_mbox_push(BCM2835PropertyState *s, uint32_t value)
             stl_le_phys(&s->dma_as, value + 12, 0);
             resplen = 4;
             break;
+        case 0x00040013: /* Get number of displays */
+            stl_le_phys(&s->dma_as, value + 12, 1);
+            resplen = 4;
+            break;
 
         case 0x00060001: /* Get DMA channels */
             /* channels 2-5 */