Date: Thu, 16 Mar 2023 11:53:29 -0700 From: Mark Millard <marklmi@yahoo.com> To: Andrew Turner <andrew@fubar.geek.nz> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: git: 3473f2832284 - main - Switch the arm64 VM_MEMATTR_DEVICE to nGnRE Message-ID: <FE7710C9-99B4-48FC-A7DB-614FE6D56EAB@yahoo.com> In-Reply-To: <402C0A31-BAE8-4A2C-87DB-C52813D62F5F@fubar.geek.nz> References: <202303161646.32GGkB3A022273@gitrepo.freebsd.org> <402C0A31-BAE8-4A2C-87DB-C52813D62F5F@fubar.geek.nz>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 16, 2023, at 09:53, Andrew Turner <andrew@fubar.geek.nz> wrote: > I=E2=80=99ve pushed a change to relax the default device memory type = on arm64. This is now equivalent to the device memory type used on arm. >=20 > Because of this I expect most devices to just work, however if you are = seeing strange issues you can set kern.force_nonposted=3D1 in = loader.conf to revert to the previous memory type globally, or = hint.<device>.<unit>.force_nonposted=3D1 to disable it for a specific = device. For example to disable it for xhci0 you would use = hint.xhci.0.force_nonposted=3D1. >=20 > If you do find this fixes an issue please report it so we can fix the = driver. A probably unfortunate issue relative to some types of testing is that drm-515-kmod and drm-510-kmod fail to build for aarch64 (arm64). (drm-510-kmod might not be reasonable for aarch64 for alll I know.) The current problem for drm-515-kmod is lack of in_interrupt via lack of sufficient #include <linux/preempt.h> use (that provides the macro definition involved): error: call to undeclared function 'in_interrupt' (I'm guessing that amd64 works only via some amd64 specific header polution that aarch64 does not get.) My vague understanding of issues that exist in Linux land may suggest that Cortex-A72's may have additional issues shown via video card use. An example is the video-related activity for the HoneyComb to avoid the issues. > Andrew >=20 >> Begin forwarded message: >>=20 >> From: Andrew Turner <andrew@FreeBSD.org> >> Subject: git: 3473f2832284 - main - Switch the arm64 = VM_MEMATTR_DEVICE to nGnRE >> Date: 16 March 2023 at 16:46:11 GMT >> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, = dev-commits-src-main@FreeBSD.org >>=20 >> The branch main has been updated by andrew: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D3473f283228401ba585044ac6dea8c8e= b27237a5 >>=20 >> commit 3473f283228401ba585044ac6dea8c8eb27237a5 >> Author: Andrew Turner <andrew@FreeBSD.org> >> AuthorDate: 2023-03-16 15:36:06 +0000 >> Commit: Andrew Turner <andrew@FreeBSD.org> >> CommitDate: 2023-03-16 16:45:42 +0000 >>=20 >> Switch the arm64 VM_MEMATTR_DEVICE to nGnRE >>=20 >> Move device memory to a weaker type. The new device memory type = allows >> the system to acknowledge a write to a device before the write has >> completed. This is inline with VM_MEMATTR_DEVICE on armv6/armv7. >>=20 >> Sponsored by: Arm Ltd >> Differential Revision: https://reviews.freebsd.org/D38945 >> --- >> sys/arm64/include/vm.h | 6 +----- >> 1 file changed, 1 insertion(+), 5 deletions(-) >>=20 >> diff --git a/sys/arm64/include/vm.h b/sys/arm64/include/vm.h >> index e479aab52e26..a8c1ea97b513 100644 >> --- a/sys/arm64/include/vm.h >> +++ b/sys/arm64/include/vm.h >> @@ -36,11 +36,7 @@ >> #define VM_MEMATTR_WRITE_THROUGH 3 >> #define VM_MEMATTR_DEVICE_nGnRE 4 >>=20 >> -/* >> - * VM_MEMATTR_DEVICE can be changed to VM_MEMATTR_DEVICE_nGnRE when >> - * the PCI drivers use VM_MEMATTR_DEVICE_NP for their config space. >> - */ >> -#define VM_MEMATTR_DEVICE VM_MEMATTR_DEVICE_nGnRnE >> +#define VM_MEMATTR_DEVICE VM_MEMATTR_DEVICE_nGnRE >> #define VM_MEMATTR_DEVICE_NP VM_MEMATTR_DEVICE_nGnRnE >>=20 >> #ifdef _KERNEL >>=20 >=20 =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE7710C9-99B4-48FC-A7DB-614FE6D56EAB>