[PATCH 08/11] fbdev/hyperv: use pci aperture helpers

Dexuan Cui decui at microsoft.com
Tue Jan 17 18:42:51 UTC 2023


> From: Daniel Vetter <daniel.vetter at ffwll.ch>
> Sent: Wednesday, January 11, 2023 7:41 AM
> [...]
> diff --git a/drivers/video/fbdev/hyperv_fb.c
> b/drivers/video/fbdev/hyperv_fb.c
> @@ -1076,9 +1076,7 @@ static int hvfb_getmem(struct hv_device *hdev,
> struct fb_info *info)
>         info->screen_size = dio_fb_size;
> 
>  getmem_done:
> -
> aperture_remove_conflicting_devices(info->apertures->ranges[0].base,
> -
> info->apertures->ranges[0].size,
> -                                           false,
> KBUILD_MODNAME);
> +       aperture_remove_conflicting_pci_devices(pdev,
> KBUILD_MODNAME);

NACK. I think the patch breaks Gen-2 VMs, because 'pdev' is NULL in a
Gen-2 VM.

A VM running on Hyper-V can be Gen-1 or Gen-2: see
https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

A Gen-2 VM doesn't have the legacy PCI Bus, and doesn't have a legacy
PCI VGA adapter device, so the 'pdev' is NULL here.

> 
>         if (gen2vm) {
>                 /* framebuffer is reallocated, clear screen_info to avoid
> misuse from kexec */





More information about the dri-devel mailing list