[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question about xen and Rasp 4B

+ 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

> 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?



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.