Date: Sat, 8 Sep 2018 21:52:45 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r338538 - head/sys/arm64/arm64 Message-ID: <201809082152.w88LqjdB027197@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Sat Sep 8 21:52:44 2018 New Revision: 338538 URL: https://svnweb.freebsd.org/changeset/base/338538 Log: Exclude the EFI framebuffer from phys_avail[] on arm64. On the ThunderX the region occupied by the framebuffer is included in the EFI map, so explicitly add it to the set of regions that aren't managed by the physical memory allocator. PR: 231064 Reviewed by: andrew Approved by: re (gjb) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17073 Modified: head/sys/arm64/arm64/machdep.c Modified: head/sys/arm64/arm64/machdep.c ============================================================================== --- head/sys/arm64/arm64/machdep.c Sat Sep 8 21:51:47 2018 (r338537) +++ head/sys/arm64/arm64/machdep.c Sat Sep 8 21:52:44 2018 (r338538) @@ -982,6 +982,7 @@ cache_setup(void) void initarm(struct arm64_bootparams *abp) { + struct efi_fb *efifb; struct efi_map_header *efihdr; struct pcpu *pcpup; char *env; @@ -1030,6 +1031,13 @@ initarm(struct arm64_bootparams *abp) arm_physmem_exclude_regions(mem_regions, mem_regions_sz, EXFLAG_NODUMP | EXFLAG_NOALLOC); #endif + + /* Exclude the EFI framebuffer from our view of physical memory. */ + efifb = (struct efi_fb *)preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_EFI_FB); + if (efifb != NULL) + arm_physmem_exclude_region(efifb->fb_addr, efifb->fb_size, + EXFLAG_NOALLOC); /* Set the pcpu data, this is needed by pmap_bootstrap */ pcpup = &__pcpu[0];
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809082152.w88LqjdB027197>