Re: And now the dumb question du jour

From: Dennis Clarke <dclarke_at_blastwave.org>
Date: Tue, 12 Nov 2024 22:35:36 UTC
On 11/12/24 16:56, Jessica Clarke wrote:
> On 12 Nov 2024, at 21:50, Dennis Clarke <dclarke@blastwave.org> wrote:
>>
>>
>> Dear RISC-V folks :
>>
>>     Given the recent big LLVM/Clang update into the src tree[1] it
>> seemed reasonable to do a full buildworld/kernel and that worked out
>> very well. No LLVM hack patch required !
>>
>> enceladus# uname -apKU
>> FreeBSD enceladus 15.0-CURRENT FreeBSD 15.0-CURRENT #1 main-n273541-cdd3234186b1: Tue Nov 12 08:49:15 GMT 2024 root@enceladus:/usr/obj/usr/src/riscv.riscv64/sys/SIFIVE-COMPAT11 riscv riscv64 1500026 1500026
>>
>> enceladus# cc --version
>> FreeBSD clang version 19.1.3 (https://github.com/llvm/llvm-project.git llvmorg-19.1.3-0-gab51eccf88f5)
>> Target: riscv64-unknown-freebsd15.0
>> Thread model: posix
>> InstalledDir: /usr/bin
>> Build config: +assertions
>> enceladus#
>>
...<snip>
>>
>> Am I missing something blunt force trauma obvious here?
> 
> The RISC-V port is MACHINE=riscv MACHINE_ARCH=riscv64 (c.f.
> MACHINE=arm64 MACHINE_ARCH=aarch64 or MACHINE=powerpc
> MACHINE_ARCH=powerpc64), so you need to give -a riscv.riscv64 to
> poudriere rather than -a riscv64 (which is shorthand for -a
> riscv64.riscv64), unlike amd64 where MACHINE=MACHINE_ARCH=amd64 so the
> shorthand works. Building src is smarter about inferring one from the
> other rather than defaulting to them being the same, but poudriere is
> not.
> 
> Jess

Ah ha !   Once again you save me from head scratching and confusion.

     Looking at :

         # grep -i 'riscv' /usr/src/Makefile.inc1
                         riscv64/riscv
         .if ${TARGET} == "riscv"

That did not help me very much with the syntax that poudriere wants.

# idprio 0 poudriere jail -c -j 150rv64 -a riscv.riscv64 -b -m 
src=/usr/src -f rv64/poudriere/jails/150rv6
4 -v main 2>&1 | tee /root/log/`dn`_create_150rv64_jail.log
[00:00:00] Creating 150rv64 fs at /poudriere/jails/150rv64... done
[00:00:00] Copying /usr/src to /poudriere/jails/150rv64/usr/src... done
[00:04:27] Starting make buildworld with 4 jobs
--- buildworld ---
make[1]: "/poudriere/jails/150rv64/usr/src/Makefile.inc1" line 362: 
SYSTEM_COMPILER: Determined that CC=/usr/local/bin/ccache cc matches the 
source tree.  Not bootstrapping a cross-compiler.
make[1]: "/poudriere/jails/150rv64/usr/src/Makefile.inc1" line 367: 
SYSTEM_LINKER: Determined that LD=ld matches the source tree.  Not 
bootstrapping a cross-linker.
--- buildworld_prologue ---
--------------------------------------------------------------
 >>> World build started on Tue Nov 12 22:30:27 UTC 2024
--------------------------------------------------------------
--- _cleanworldtmp ---
 >>> Deleting stale files in build tree...
.
.
.
. and away it goes ...

Thank you very much once again :)

In unrelated areas I have been giving a considerable stare at the P550
but figure it is best to await folks with far more skills than I to
attack that unit.

     https://www.sifive.com/cores/performance-p550

My guess is that it would do everything the Unmatched Rev B can do with
the added SATA port there for serious convenience. The absent M2 SSD
slot is a bit strange but who knows. It does have some sort of onboard
managment port as well as dual ethernet and that is a real bonus.


--
Dennis Clarke