Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: aarch64 support added



2018-04-01 7:38 GMT+03:00 Ryo Shimizu <ryo%nerv.org@localhost>:
>
> Hi! all,
>
> I have committed about adding initial support for aarch64.

Thank you very much for this. I have been dreaming about running
NetBSD for one of my Pine64+ boards and even considered porting the
pmap support from FreeBSD to NetBSD just because NetBSD cross builds
from a non-NetBSD host.

> booting log on RaspberryPI3:
>
>         boot NetBSD/evbarm (aarch64)
>         Drop to EL1...OK
>         Creating VA=PA tables
>         Creating KSEG tables
>         Creating KVA=PA tables
>         Creating devmap tables
>         MMU Enable...OK
>         VSTART          = ffffffc000001ff4
>         FDT<3ab46000> devmap cpufunc bootstrap consinit ok
>         uboot: args 0x3ab46000, 0, 0, 0
>
>         NetBSD/evbarm (fdt) booting ...
>         FDT /memory [0] @ 0x0 size 0x3b000000
[...]

>         rpi3# uname -ap
>         NetBSD rpi3 8.99.14 NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018  ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64 evbarm aarch64
>         rpi3#
>
> Now, multiuser mode works stably on fdt based boards (RPI3,SUNXI,TEGRA).
> But there are still some problems, more time is required for release.
> also SMP is not yet. See sys/arch/aarch64/aarch64/TODO for more detail.

What did you mean by "pmap should be work even if PID_MAX >= 65536"?
Does that mean that the PIDs are of type uint16 for aarch64?

About "COMPAT_NETBSD32", is that supported in userland in any way?

> Especially the problems around TLS of rtld, and C++ stack unwindings are
> too difficult for me to solve, I give up and need someone's help \(^o^)/
>
> Since C++ doesn't work, ATF also doesn't work. If the ATF works, it will
> clarify more issues.
>
> sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. One
> evbarm/conf/GENERIC64 kernel binary supports all fdt (bcm2837,sunxi,tegra)
> based boards. While on 32bit, sys/arch/evbarm/conf/GENERIC will support all
> fdt based boards...but doesn't work yet. (WIP)

So to build NetBSD for pine64 should this be OK?

kernel=GENERIC64
machine: -m evbarm
arch:  -a aarch64
dts: sun50i-a64-pine64-plus.dts

>
> My deepest appreciation goes to Tohru Nishimura (nisimura@) whose writes vector
> handlers, context switchings, and so on. and his comments and suggestions were
> innumerably valuable. I would also like to thank Nick Hudson (skrll@) and
> Jared McNeill (jmcneill@) whose added support FDT and integrated into evbarm.
> Finally, I would like to thank Matt Thomas (matt@) whose commited aarch64
> toolchains and preliminary support for aarch64.
>
>
> Thanks,
> --
> ryo shimizu


Home | Main Index | Thread Index | Old Index