mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
powerpc64: fix loader regression
Afterb4cb3fe0e3, loader started crashing on PowerPC64, with a Program Exception (700) error. The problem was that archsw was used before being initialized, with the new mount feature. This change fixes the issue by initializing archsw earlier, before setting currdev, that triggers the mount. Reviewed by: tsoome MFC after: 1 month X-MFC-With:b4cb3fe0e3Sponsored by: Instituto de Pesquisas Eldorado (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D32027
This commit is contained in:
parent
bd84094a51
commit
680ca73945
1 changed files with 11 additions and 11 deletions
|
|
@ -137,6 +137,17 @@ main(int (*openfirm)(void *))
|
|||
*/
|
||||
cons_probe();
|
||||
|
||||
archsw.arch_getdev = ofw_getdev;
|
||||
archsw.arch_copyin = ofw_copyin;
|
||||
archsw.arch_copyout = ofw_copyout;
|
||||
archsw.arch_readin = ofw_readin;
|
||||
#ifdef CAS
|
||||
setenv("cas", "1", 0);
|
||||
archsw.arch_autoload = ppc64_autoload;
|
||||
#else
|
||||
archsw.arch_autoload = ofw_autoload;
|
||||
#endif
|
||||
|
||||
/* Set up currdev variable to have hooks in place. */
|
||||
env_setenv("currdev", EV_VOLATILE, "", ofw_setcurrdev, env_nounset);
|
||||
|
||||
|
|
@ -183,17 +194,6 @@ main(int (*openfirm)(void *))
|
|||
if (!(mfmsr() & PSL_DR))
|
||||
setenv("usefdt", "1", 1);
|
||||
|
||||
archsw.arch_getdev = ofw_getdev;
|
||||
archsw.arch_copyin = ofw_copyin;
|
||||
archsw.arch_copyout = ofw_copyout;
|
||||
archsw.arch_readin = ofw_readin;
|
||||
#ifdef CAS
|
||||
setenv("cas", "1", 0);
|
||||
archsw.arch_autoload = ppc64_autoload;
|
||||
#else
|
||||
archsw.arch_autoload = ofw_autoload;
|
||||
#endif
|
||||
|
||||
interact(); /* doesn't return */
|
||||
|
||||
OF_exit();
|
||||
|
|
|
|||
Loading…
Reference in a new issue