Summary: | Kernel GICv3 ITS driver: potentially unsupported 32-bit read of 64-bit register GICR_TYPER | ||
---|---|---|---|
Product: | Base System | Reporter: | Olivier Delande <olivier.delande> |
Component: | arm | Assignee: | Andrew Turner <Andrew> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | Andrew, antranigv, emaste, olivier.delande |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | arm64 | ||
OS: | Any |
Description
Olivier Delande
2021-09-02 15:48:48 UTC
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=1896a0094317c80d46beff5ad42b68215513c996 commit 1896a0094317c80d46beff5ad42b68215513c996 Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2021-09-15 09:13:41 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2021-09-15 09:13:41 +0000 Use a 64 bit read to access GICR_TYPER The GICv3 ITS only needs to implement 32 bit access to the GICR_TYPER when the CPU implements AArch32. As this may not always be the case use a 64 bit read when checking if the ITS is enabled on the CPU. PR: 258217 Reported by: Olivier Delande <olivier.delande@provenrun.com> Sponsored by: The FreeBSD Foundation sys/arm64/arm64/gicv3_its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Hey there! I've been able to boot FreeBSD 13.0-RELEASE arm64.aarch64 in UTM on M1 MBP, however FreeBSD 14.0-CURRENT does not boot. I get a kernel panic. Unfortunately I was not able to copy the console, so here's a screenshoot: https://antranigv.am/misc/freebsd-arm.jpg I feel like this issue is connected to this bug, let me know if my hunch is correct :) Thank you. A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=00c276a2502488f4198dcec4bf1a6d22159e2b62 commit 00c276a2502488f4198dcec4bf1a6d22159e2b62 Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2021-09-15 09:13:41 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2021-10-11 10:50:42 +0000 Use a 64 bit read to access GICR_TYPER The GICv3 ITS only needs to implement 32 bit access to the GICR_TYPER when the CPU implements AArch32. As this may not always be the case use a 64 bit read when checking if the ITS is enabled on the CPU. PR: 258217 Reported by: Olivier Delande <olivier.delande@provenrun.com> Sponsored by: The FreeBSD Foundation (cherry picked from commit 1896a0094317c80d46beff5ad42b68215513c996) sys/arm64/arm64/gicv3_its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) |