Panic booting qemu-system-sparc64 with bochs_drm

Gerd Hoffmann kraxel at redhat.com
Tue Jul 7 17:38:04 UTC 2020


> Thanks Gerd - I've just tested the diff below with memcpy_toio() and that works too:
> 
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index 5609e164805f..4d05b0ab1592 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -399,7 +399,7 @@ static void drm_fb_helper_dirty_blit_real(struct drm_fb_helper
> *fb_helper,
>         unsigned int y;
> 
>         for (y = clip->y1; y < clip->y2; y++) {
> -               memcpy(dst, src, len);
> +               memcpy_toio(dst, src, len);
>                 src += fb->pitches[0];
>                 dst += fb->pitches[0];
>         }
> 
> Presumably there is some existing mechanism that ensures SPARC will always choose a
> shadow framebuffer?

bochs-drm always runs with a shadow framebuffer (that allows to swap
the real framebuffer into and out of vram as needed).  With other
drivers this is in the hands of the driver.  It might not be needed,
virtio-gpu for example uses normal ram as framebuffer storage.

take care,
  Gerd



More information about the dri-devel mailing list