New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Liteeth driver not up to date ? #1
Comments
This driver supports mid-2020 version of hdl. I need some time to adapt driver for new version. Is there any need to support both versions of hdl in barebox driver? |
I made a pull request that adapts the driver to the current hdl version (#2 ) |
@frantony: Just for info, the only difference with mid-2020 version is just probably that the default CSR-data-width has been changed from 8-bit to 32-bit. You can eventually get back to 8-bit data-width by passing --csr-data-width=8 to the target file. On Linux SoC we however now try to only use 32-bit, so I would recommend updating. |
For the sandbox architecture, we use __sanitizer_start_switch_fiber and __sanitizer_finish_switch_fiber to tell ASan when we switch stacks. If we don't, ASan complains that: ==2472828==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0xff9fc000; bottom 0xf3be8000; size: 0x0be14000 (199311360) False positive error reports may follow For details see google/sanitizers#189 This works on 64-bit sandbox, but 32-bit sandbox currently crashes on bthread -v: ==2469590==AddressSanitizer CHECK failed: ../../../../../src/libsanitizer/asan/asan_poisoning.cpp:37 "((AddrIsAlignedByGranularity(addr + size))) != (0)" (0x0, 0x0) #0 0xf7a4aa46 in AsanCheckFailed ../../../../../src/libsanitizer/asan/asan_rtl.cpp:73 #1 0xf7a6b5cf in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) ../../../../../src/libsanitizer/sanitizer_common/sanitizer_termination.cpp:78 #2 0xf7a4489f in __asan::PoisonShadow(unsigned long, unsigned long, unsigned char) ../../../../../src/libsanitizer/asan/asan_poisoning.cpp:37 #3 0xf7a4c81b in __asan_handle_no_return ../../../../../src/libsanitizer/asan/asan_rtl.cpp:595 #4 0x566a1ce7 in bthread_schedule /home/a3f/dl/barebox-stm32mp/common/bthread.c:178 #5 0x566a1d54 in bthread_reschedule /home/a3f/dl/barebox-stm32mp/common/bthread.c:165 #6 0x566a1d80 in bthread_trampoline /home/a3f/dl/barebox-stm32mp/common/bthread.c:56 #7 0x567f5bfb in coroutine_bootstrap (/home/a3f/dl/build/barebox/sandbox/barebox+0x1bdbfb) #8 0x567f5c4b in coroutine_trampoline (/home/a3f/dl/build/barebox/sandbox/barebox+0x1bdc4b) #9 0xf7f7056f (linux-gate.so.1+0x56f) #10 0xf7f70558 (linux-gate.so.1+0x558) #11 0x56892fff (/home/a3f/dl/build/barebox/sandbox/barebox+0x25afff) Just disable the special ASan accounting there until this is figured out. bthreads still function there, but ASan may yield false positives according to the message. This does not affect non-sandbox platforms. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
I have just published my version of pre-built images for booting linux with barebox on Arty: Latest barebox https://github.com/litex-hub/barebox/tree/20210813.litex-vexriscv-linux works fine with latest liteeth. |
It seems that the liteeth driver has different register map than the current hdl part. Which version of hdl this driver support ?
The text was updated successfully, but these errors were encountered: