Port-arm archive

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

Re: Help improving the installation guide and support hardware lists



Also, I think it would be useful to document ARM 32-bit vs 64-bit and
how this is supported on various boards. I think Raspberry Pi can run
in either mode, but it doesn't have enough RAM to justify 64-bit mode.
In fact, on this hardware 64-bit multiplication is 1/3 the throughput
of 32-bit multiplication. See this discussion: 

https://community.arm.com/developer/ip-products/processors/f/cortex-a-forum/46345/arm-cortex-a72-64-bit-multiply-madd-instruction-low-throughput

So with regard to NetBSD:

- Can NetBSD aarch64 support 32-bit emulation?

- Is there a difference in kernel drivers for 32-bit vs 64-bit, i.e.
  do some things work well in one mode but not the other?

- Some ARM SBCs have USB ports, but is booting from USB supported or
  only SD card? If it's not documented, then it's a guessing game.

- How do you build 32-bit image? I tend to use
  "build.sh -m evbarm -a earmv7hf" but had to add hacks to mk.conf as
  parts of NetBSD use older assembly and fail to build with specific
  -mcpu flags, so need to use -mtune instead.

# RPI3 CPU: cortex-a53
# RPI4 CPU: cortex-a72
.if empty(CPUFLAGS:M-march=*) && empty(CPUFLAGS:M-mcpu=*)
CPUFLAGS+=-mcpu=cortex-a53
#CPUFLAGS+=-mcpu=cortex-a72
.else
CPUFLAGS+=-mtune=cortex-a53
#CPUFLAGS+=-mtune=cortex-a72

- There is not much documentation on CPU frequency scaling. Turns out
  NetBSD defaults to minimum (600 MHz on RPi3), if you're not aware of
  it and machdep.cpu.frequency.target sysctl, then you'll be quite
  disappointed with the performance. Also would be good to document
  that pkgsrc sysutils/estd daemon works on this hardware and can
  dynamically scale CPU frequency. Install the package and add this
  to /etc/rc.conf

estd=YES
estd_flags="-a"

  It should really be part of the base system, see PR misc/55264

This is the kind of info that should be on the Wiki, as it helps new
users to quickly setup the system in the most optimal way.


Home | Main Index | Thread Index | Old Index