Hi Adrian,
The correct answer is to map ULONG to a 32-bit type in the RISC-V 64-bit port. The entire codebase assumes that ULONG is 32-bits. Changing the RISC-V 64-bit port isn’t as easy as changing types, but the Cortex-Axx 64-bit port should provide
a good example.
I hope this helps!
Bill
From: threadx-dev <threadx-dev-bounces@xxxxxxxxxxx>
On Behalf Of Adrian SKERRATT via threadx-dev
Sent: Monday, July 8, 2024 6:37 AM
To: ThreadX project developer mailing list <threadx-dev@xxxxxxxxxxx>
Cc: Adrian SKERRATT <askerratt@xxxxxxxxxxx>
Subject: [threadx-dev] Issue with RISCV-64 port causing issues with netxduo
Hi All
An issue has been raised on the netxduo repo
For RISCV-64, ULONG is an unsigned long which means it is 64 bits, which causes the netxduo code to fail, but for other 64-bit processors ULONG is a typedef to unsigned int, meaning ULONG is 32 bits.
At first, I thought that means we just needed the RISCV-64 definition to match those of other 64-bit processors, but I'm not sure if the RISCV-64 is implemented differently to x86_64/arm64 due to hardware implementation differences.
Is the correct way to fix this to make ULONG 32 bits on RISCV-64 or to fix the netxduo so that its comparing with a constant rather than sizeof(ULONG) which is implementation dependant?
Adrian
![Witekio Logo]()
Witekio UK Limited is a Private Limited Company registered in England and Wales. Registered office: Witekio UK, Units 7 & 8 Brabazon Office Park, Golf Course
Lane, Filton, BS34 7PZ. Company number 08178608. VAT number 140658911
This message contains confidential information and is intended only for the individual(s) addressed in the message. If you aren't the named addressee, you should not disseminate, distribute, or copy this e-mail.
We continuously commit to comply with the applicable data protection laws and ensure fair and transparent processing of your personal data. Please read our privacy statement including an information notice and data protection policy for detailed information
on our website.