User Details
- User Since
- Nov 27 2014, 10:57 AM (590 w, 4 d)
Wed, Mar 18
Thu, Mar 5
Wed, Mar 4
Same toolchain (latest), but without this change a few functions don't have landing pad: copyin/copyout and sched_idletd.
Tue, Mar 3
Mon, Mar 2
Fri, Feb 27
Could you try https://reviews.freebsd.org/D55564 (in addition to this change set) please?
found another bug here, will resubmit
I'm getting a little confused now. Does vtnet work on RISC-V IOMMU without my changes?
Wed, Feb 25
looks like some part of vtnet still tries to pass physical addresses instead of bus dma addresses, so I get page faults
riscv_fq_intr riscv_iommu0: Fault: event 0xd received: Read page fault riscv_iommu0: iotval 0x80e4940a iotval2: 0x0 riscv_iommu0: Fault: event 0xd received: Read page fault riscv_iommu0: iotval 0x80e4940a iotval2: 0x0 riscv_iommu0: Fault: event 0xd received: Read page fault riscv_iommu0: iotval 0x80e4940d iotval2: 0x0 riscv_iommu0: Fault: event 0xd received: Read page fault riscv_iommu0: iotval 0x80e4940d iotval2: 0x0 riscv_iommu0: Fault: event 0xf received: Write/AMO page fault riscv_iommu0: iotval 0x80e4940f iotval2: 0x0 riscv_iommu0: Fault: event 0xf received: Write/AMO page fault riscv_iommu0: iotval 0x80e4940f iotval2: 0x0 vtnet0: cannot disable all-multicast mode
Could you try again with the most recent change please?
same panic
note function names in backtrace sometimes wrong, so it is more like
bus_dmamap_load_mbuf_sg() -> iommu_bus_dmamap_load_buffer() -> iommu_bus_dmamap_load_something() -> iommu_bus_dmamap_load_something1() -> panic
vtnet0: unable to set MAC address vtnet0: cannot disable promiscuous mode vtnet0: cannot disable all-multicast mode vtnet0: error setting host MAC filter table panic: alignment failed: ctx 0xffffffd0010d0e80 start 0x20c000 offset 82 align 0x4 cpuid = 0 time = 1772019624 KDB: stack backtrace: db_trace_self() at db_trace_self db_fetch_ksymtab() at db_fetch_ksymtab+0x142 kdb_backtrace() at kdb_backtrace+0x2c vpanic() at vpanic+0x16e panic() at panic+0x26 iommu_domain_fini() at iommu_domain_fini+0x36a iommu_is_buswide_ctx() at iommu_is_buswide_ctx+0x806 bus_dmamap_load_mbuf_sg() at bus_dmamap_load_mbuf_sg+0x60 vtmmio_attach() at vtmmio_attach+0x488c vtmmio_attach() at vtmmio_attach+0x6656 vtmmio_attach() at vtmmio_attach+0x5652 ether_ioctl() at ether_ioctl+0x1a0 vtmmio_attach() at vtmmio_attach+0x5844 in_control_ioctl() at in_control_ioctl+0x9ac rtnl_ifaces_destroy() at rtnl_ifaces_destroy+0x1a1e rtnl_register_messages() at rtnl_register_messages+0x2a0 nl_send() at nl_send+0x3ca nl_taskqueue_handler() at nl_taskqueue_handler+0x34e taskqueue_run() at taskqueue_run+0x1f0 taskqueue_thread_loop() at taskqueue_thread_loop+0xd4 fork_exit() at fork_exit+0x68 fork_trampoline() at fork_trampoline+0xa KDB: enter: panic [ thread pid 0 tid 100062 ] Stopped at kdb_enter+0x3a: sd zero,560(s1)
A quick test on RISC-V IOMMU gives me this issue:
vtnet0: unable to set MAC address vtnet0: cannot disable promiscuous mode vtnet0: cannot disable all-multicast mode vtnet0: error setting host MAC filter table panic: alignment failed: ctx 0xffffffd0010d0e80 start 0x20c000 offset 82 align 0x4
if td1 is always curthread, then a kassert is needed
Tue, Feb 24
I tested this on RISC-V IOMMU under QEMU ("virt" machine) and modern virtio PCI -- seem to work!
Feb 19 2026
Feb 18 2026
Feb 17 2026
Feb 16 2026
Feb 11 2026
Feb 10 2026
Jan 30 2026
how hard it would be to implement MSI interface here? to support MSI interrupts from devices, which is a crucial functionality
Jan 22 2026
remove unused functions/prototypes
Jan 15 2026
Jan 7 2026
Indeed. I do find however that this actually fixes my issue with if_xae when tag alignment requirement for TX/RX buffers is downgraded to lower values.
Jan 5 2026
Dec 16 2025
Dec 14 2025
Dec 12 2025
Nov 27 2025
Nov 26 2025
Nov 25 2025
Nov 15 2025
Agree on using PAGE_SIZE for everyone. Most likely more controllers have this issue (even within Crucial model range), so it is a way easier to align to page_size all of them rather than deal with bug reports from users. We are a general purpose OS.
And again, Linux align to PAGE_SIZE all of them as well.
rename macro
The issue arise on Crucial P310 only, so convert to a quirk
Oct 31 2025
looks redundant. thanks
Oct 27 2025
Oct 24 2025
What I see when 32 byte requested it actually gives us PAGE_SIZE aligned address, which works.
Oct 23 2025
Good points. I will check with Codasip if this is something to do with CHERI (I don't see any connection however)
Oct 16 2025
Sep 2 2025
Thanks @pkelsey. I will look at this once again (I did not forget about this but need to restore my CVA6 setup).
Aug 18 2025
Aug 5 2025
Jul 11 2025
Jul 9 2025
Add hwt.4 to the build and create MLINKS
