+ xen-devel, Roman,

On Fri, 22 Jan 2021, Jukka Kaartinen wrote:
> Hi Stefano,
> I'm Jukka Kaartinen a SW developer working on enabling hypervisors on mobile 
> platforms. One of our HW that we use on development is
> Raspberry Pi 4B. I wonder if you could help me a bit :).
> 
> I'm trying to enable the GPU with Xen + Raspberry Pi for dom0. 
> https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=232323#p1797605
> 
> I got so far that GPU drivers are loaded (v3d & vc4) without errors. But now 
> Xen returns error when X is starting:
> (XEN) traps.c:1986:d0v1 HSR=0x93880045 pc=0x00007f97b14e70 gva=0x7f7f817000 
> gpa=0x0000401315d000
>  I tried to debug what causes this and looks like find_mmio_handler cannot 
> find handler.
> (See more here: 
> https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=232323&start=25#p1801691
>  )
> 
> Any ideas why the handler is not found?


Hi Jukka,

I am glad to hear that you are interested in Xen on RaspberryPi :-)  I
haven't tried the GPU yet, I have been using the serial only.
Roman, did you ever get the GPU working?


The error is a data abort error: Linux is trying to access an address
which is not mapped to dom0. The address seems to be 0x401315d000. It is
a pretty high address; I looked in device tree but couldn't spot it.

>From the HSR (the syndrom register) it looks like it is a translation
fault at EL1 on stage1. As if the Linux address mapping was wrong.
Anyone has any ideas how this could happen? Maybe a reserved-memory
misconfiguration?



> p.s.
> While testing I found issue with Xen master branch and your patch: xen/rpi4: 
> implement watchdog-based reset
> 
> Looks like black listing the bcm2835-pm
> @@ -37,12 +41,69 @@ static const struct dt_device_match rpi4_blacklist_dev[] 
> __initconst =
>       * The aux peripheral also shares a page with the aux UART.
>       */
>      DT_MATCH_COMPATIBLE("brcm,bcm2835-aux"),
> +    /* Special device used for rebooting */
> +    DT_MATCH_COMPATIBLE("brcm,bcm2835-pm"),
> 
> will prevent v3d driver to locate phandle. I think it will use the same 
> resource:
>   pm: watchdog@7e100000 {
>       compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
> #power-domain-cells = <1>;
> #reset-cells = <1>;
> reg = <0x7e100000 0x114>,
>      <0x7e00a000 0x24>,
>      <0x7ec11000 0x20>;
> clocks = <&clocks BCM2835_CLOCK_V3D>,
> <&clocks BCM2835_CLOCK_PERI_IMAGE>,
> <&clocks BCM2835_CLOCK_H264>,
> <&clocks BCM2835_CLOCK_ISP>;
> clock-names = "v3d", "peri_image", "h264", "isp";
> system-power-controller;
> 
> };

Yeah, I imagine it could be possible. Can you post the error message you
are seeing from the v3d driver?

Reply via email to