--- src/nvidia/os-interface.h 2019-11-01 07:06:17.000000000 -0400 +++ src/nvidia/os-interface.h 2020-04-11 15:19:14.343233000 -0400 @@ -143,5 +143,4 @@ NV_STATUS NV_API_CALL os_inject_vgx_msi (NvU16, NvU64, NvU32); NvBool NV_API_CALL os_is_grid_supported (void); -void NV_API_CALL os_get_screen_info (NvU64 *, NvU16 *, NvU16 *, NvU16 *, NvU16 *); void NV_API_CALL os_bug_check (NvU32, const char *); NV_STATUS NV_API_CALL os_lock_user_pages (void *, NvU64, void **); --- src/nvidia/nvidia_os.c 2019-11-01 07:06:17.000000000 -0400 +++ src/nvidia/nvidia_os.c 2020-04-11 15:18:24.327304000 -0400 @@ -15,9 +15,6 @@ #include "nv-retpoline.h" -#include -#include #include #include -#include // This bootloader metadata interface was added to metadata.h in FreeBSD 10.1 @@ -761,71 +758,4 @@ { return TRUE; -} - -void NV_API_CALL os_get_screen_info( - NvU64 *pPhysicalAddress, - NvU16 *pFbWidth, - NvU16 *pFbHeight, - NvU16 *pFbDepth, - NvU16 *pFbPitch -) -{ -#if NV_HAVE_EFI_FB - /* - * Look up EFI framebuffer information passed to the FreeBSD kernel by the - * bootloader. - * - * Adapted from a suggestion by Conrad Meyer . - */ - caddr_t kmdp = preload_search_by_type("elf kernel") ?: - preload_search_by_type("elf64 kernel"); - - if (kmdp != NULL) - { - const struct efi_fb *efifb = - (const struct efi_fb *)preload_search_info(kmdp, MODINFO_METADATA | - MODINFOMD_EFI_FB); - if (efifb != NULL) - { - int depth = fls(efifb->fb_mask_red | efifb->fb_mask_green | - efifb->fb_mask_blue | efifb->fb_mask_reserved); - int bpp = roundup2(depth, NBBY); - - *pPhysicalAddress = efifb->fb_addr; - *pFbWidth = efifb->fb_width; - *pFbHeight = efifb->fb_height; - *pFbDepth = depth; - /* fb_stride is in pixels. Convert to bytes */ - *pFbPitch = efifb->fb_stride * (bpp / NBBY); - return; - } - } -#endif - { - const sc_softc_t *sc = sc_get_softc(0, SC_KERNEL_CONSOLE); - - if (sc) - { - const video_adapter_t *adp = sc->adp; - - if (adp) - { - const struct video_info *vi = &adp->va_info; - - if (vi && (vi->vi_flags & V_INFO_LINEAR)) - { - *pPhysicalAddress = vi->vi_buffer; - *pFbWidth = vi->vi_width; - *pFbHeight = vi->vi_height; - *pFbDepth = vi->vi_depth; - *pFbPitch = adp->va_line_width; - return; - } - } - } - } - - *pPhysicalAddress = 0; - *pFbWidth = *pFbHeight = *pFbDepth = *pFbPitch = 0; }