Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Mar 2023 16:27:43 GMT
From:      Mitchell Horne <mhorne@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 3462c371c256 - main - arm64/gicv3: correct the size of the distributor resource
Message-ID:  <202303311627.32VGRhXj030650@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mhorne:

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

commit 3462c371c2562a8144f4245f9967df99874e505f
Author:     Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2023-03-31 15:32:39 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2023-03-31 16:26:22 +0000

    arm64/gicv3: correct the size of the distributor resource
    
    Use the GICD_SIZE macro (0x10000), which is half the size of the current
    fixed-sized mapping (128 * 1024 == 0x20000).
    
    In ARM64 Hyper-V instances, it seems the Distributor's registers are
    located immediately preceding a range of physical memory in the bus
    address space. Thus, when ram0 is attaching and attempts to reserve
    SYS_RES_MEMORY resources corresponding to its physmem ranges, it fails,
    because the first 0x10000 bytes of this range are already owned by gic0.
    
    PR:             270415
    Reported by:    whu
    Tested by:      whu
    Differential Revision:  https://reviews.freebsd.org/D39260
---
 sys/arm64/arm64/gic_v3_acpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c
index 090c61429441..9c4e02c15706 100644
--- a/sys/arm64/arm64/gic_v3_acpi.c
+++ b/sys/arm64/arm64/gic_v3_acpi.c
@@ -215,7 +215,7 @@ gic_v3_acpi_identify(driver_t *driver, device_t parent)
 
 	/* Add the MADT data */
 	BUS_SET_RESOURCE(parent, dev, SYS_RES_MEMORY, 0,
-	    madt_data.dist->BaseAddress, 128 * 1024);
+	    madt_data.dist->BaseAddress, GICD_SIZE);
 
 	madt_data.dev = dev;
 	madt_data.rdist_use_gicc = false;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202303311627.32VGRhXj030650>