[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
misconfiguration?
I had issues with loading the driver in the first place. Apparently swiotlb is used, maybe it can cause this. I also tried to enable CMA. config.txt: dtoverlay=vc4-fkms-v3d,cma=320M@0x0-0x40000000 gpu_mem=128
That memory is very high. Success full address is for example this: 0xff841f00 (XEN) GICv2 initialization: (XEN) gic_dist_addr=00000000ff841000 (XEN) gic_cpu_addr=00000000ff842000 (XEN) gic_hyp_addr=00000000ff844000 (XEN) gic_vcpu_addr=00000000ff846000 (XEN) gic_maintenance_irq=25
> 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? This is the error: [ 0.069682] OF: /v3dbus/v3d@7ec04000: could not find phandle [ 0.074828] OF: /v3dbus/v3d@7ec04000: could not find phandle v3d driver is not loaded.
--
|