Date: Thu, 15 May 2025 13:07:47 GMT From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: ac1943f97c01 - releng/14.3 - powerpc: Always use BE tag in nexus_map_resource Message-ID: <202505151307.54FD7lnq008977@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch releng/14.3 has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=ac1943f97c01b0ef049a9bfd81cf2b4a05d0a9d9 commit ac1943f97c01b0ef049a9bfd81cf2b4a05d0a9d9 Author: Justin Hibbits <jhibbits@FreeBSD.org> AuthorDate: 2025-05-13 01:35:14 +0000 Commit: Justin Hibbits <jhibbits@FreeBSD.org> CommitDate: 2025-05-15 13:06:51 +0000 powerpc: Always use BE tag in nexus_map_resource 7b5a5e4e replaced nexus_activate_resource() with the bus generic equivalent, which uses bus_map_resource(). However, though not intended to have a functional change, nexus_map_resource() uses the bus tag of the build (BE vs LE), while nexus_activate_resource() always explicitly set a big-endian tag, leading to failures on powerpc64le now. Using BE unless otherwise explicitly specified with the RF_LITTLEENDIAN fixes LE on bare metal, and doesn't hurt in a VM, which nexus_map_resource() was added for. Reported by: pkubaj Tested by: pkubaj Fixes: 7b5a5e4e("powerpc nexus: Use bus_generic_rman_*") MFC after: 1 day Approved by: re(cperciva) (cherry picked from commit c4921a0faaf1683f39347dd066000d929c39c8b9) (cherry picked from commit 45d585ab7f222ca36988c406df528128a17f9884) --- sys/powerpc/powerpc/nexus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index 826e75daa374..b40bb26fd395 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -289,7 +289,7 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, if ((rman_get_flags(r) & RF_LITTLEENDIAN) != 0) map->r_bustag = &bs_le_tag; else - map->r_bustag = nexus_get_bus_tag(NULL, NULL); + map->r_bustag = &bs_be_tag; map->r_size = length; map->r_bushandle = (bus_space_handle_t)map->r_vaddr; break;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505151307.54FD7lnq008977>