Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Oct 2022 16:29:38 GMT
From:      Leandro Lupori <luporl@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 9c1f54589173 - stable/13 - powerpc64le: fix boot when using QEMU PowerNV
Message-ID:  <202210041629.294GTcdb049818@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by luporl:

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

commit 9c1f54589173dc7616a866b08be68fce889cc1b1
Author:     Leandro Lupori <luporl@FreeBSD.org>
AuthorDate: 2021-11-25 19:41:46 +0000
Commit:     Leandro Lupori <luporl@FreeBSD.org>
CommitDate: 2022-10-04 16:24:14 +0000

    powerpc64le: fix boot when using QEMU PowerNV
    
    When using QEMU PowerNV with latest op-build release (v2.7), its
    kexec transfers control to FreeBSD kernel in BE mode, causing an
    instant exception on LE kernels. Make kboot able to detect and
    swap endian to fix this.
    
    Reviewed by:            imp
    Sponsored by:           Instituto de Pesquisas Eldorado (eldorado.org.br)
    Differential Revision:  https://reviews.freebsd.org/D33104
    
    (cherry picked from commit e141b62d208867fc5bdb5803d05f5496260722ac)
---
 sys/powerpc/aim/locore64.S | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/powerpc/aim/locore64.S b/sys/powerpc/aim/locore64.S
index f0a183c4b331..3eb6e546399c 100644
--- a/sys/powerpc/aim/locore64.S
+++ b/sys/powerpc/aim/locore64.S
@@ -82,6 +82,9 @@ TOC_ENTRY(trapstk)
  */
 	.section ".text.kboot", "x", @progbits
 kbootentry:
+#ifdef __LITTLE_ENDIAN__
+	RETURN_TO_NATIVE_ENDIAN
+#endif
 	b __start
 . = kbootentry + 0x40	/* Magic address used in platform layer */
 	.global smp_spin_sem



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