Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Platform specific fix for ARM MP startup issue
From: Rory Bolt <rory.bolt%gmail.com@localhost>
Subject: Platform specific fix for ARM MP startup issue
Date: Thu, 21 Oct 2021 15:16:49 -0700
> As I noted earlier, I am concerned about putting a platform specific
> fix in the mainline code for this issue. I have tested this ARM
> platform specific alternate solution successfully.
Thanx!boot fine on Apple m1.
patch
https://github.com/ebijun/NetBSD/blob/master/apple-m1/patches/src_sys_arch_arm_pic_pic.c.diff
and Apple m1 boot dmesg.
https://github.com/ebijun/NetBSD/blob/master/dmesg/aarch64/Apple_Mac_mini_M1_2020
/netbsd I use:
https://cdn.netbsd.org/pub/NetBSD/misc/jun/aarch64/apple-m1/netbsd.9.99.92-2
> This patch eliminates the need to change the location of "cold = 0;"
> in sys/kern/init_main.c, so there is no chance of affecting other
> platforms.
>
> Please consider adding this to the development branch...
>
> The only file affected is src/sys/arch/arm/pic/pic.c:
>
> netbsd$ cvs diff pic.c
> Index: pic.c
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/arm/pic/pic.c,v
> retrieving revision 1.72
> diff -r1.72 pic.c
> 722a723,725
>> struct lwp *l = curlwp;
>> /* During init, we can still be on idle thread AFTER cold set to 0 */
>> int idle = (l->l_stat == LSIDL);
> 793c796
> < if (cold || !is->is_mpsafe) {
> ---
>> if (cold || idle || !is->is_mpsafe) {
> netbsd$
>
> Enjoy!
> -Rory
Home |
Main Index |
Thread Index |
Old Index