The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=add99c9c4bae2769cba14a88b83377ec9c04cad9

commit add99c9c4bae2769cba14a88b83377ec9c04cad9
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2024-02-14 22:07:33 +0000
Commit:     John Baldwin <j...@freebsd.org>
CommitDate: 2024-02-14 22:07:33 +0000

    physmem ram: Don't reserve excluded regions
    
    These regions can conflict with I/O resources and prevent allocation
    of those regions by other drivers.  It may make sense to reserve them
    after the boot-time probe of devices has concluded (or after an
    initial pass to reserve firmware-assigned resources before "wildcard"
    resources are allocated), but that would require additional changes.
    
    Reviewed by:    imp
    Differential Revision:  https://reviews.freebsd.org/D43893
---
 sys/kern/subr_physmem.c | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c
index 79fedf58d66d..fda47d4ef697 100644
--- a/sys/kern/subr_physmem.c
+++ b/sys/kern/subr_physmem.c
@@ -582,7 +582,6 @@ ram_attach(device_t dev)
 {
        vm_paddr_t avail_list[PHYS_AVAIL_COUNT];
        rman_res_t start, end;
-       struct region *hwp;
        int rid, i;
 
        rid = 0;
@@ -608,30 +607,6 @@ ram_attach(device_t dev)
                rid++;
        }
 
-       /* Now, reserve the excluded memory regions. */
-       for (i = 0, hwp = exregions; i < excnt; i++, hwp++) {
-               start = hwp->addr;
-               end = hwp->addr + hwp->size;
-
-               if (bootverbose)
-                       device_printf(dev,
-                           "reserving excluded region: %jx-%jx\n",
-                           (uintmax_t)start, (uintmax_t)(end - 1));
-
-               /*
-                * Best-effort attempt to reserve the range. This may fail, as
-                * sometimes the excluded ranges provided by the device tree
-                * will cover or overlap some I/O range.
-                */
-               if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end,
-                   end - start, 0) == NULL) {
-                       if (bootverbose)
-                               device_printf(dev, "failed to reserve 
region\n");
-                       continue;
-               }
-               rid++;
-       }
-
        return (0);
 }
 

Reply via email to