UART driver as kld - how?

Milan Obuch freebsd-hackers at dino.sk
Sun Oct 27 20:42:15 UTC 2019


Hi,

I am trying to create a driver for Xilinx' AXI UART Lite IP core. I
can't find a way to do it as kld module. I started with
uart_dev_cdnc.c, but I can't see how it is hooked into the kernel - or,
better formulated, how can I created kld loadable module. As Zynq has
uart_dev_cdnc driver for its PS UART, all necessary files are compiled
into kernel, but how can I extend those modules tables to work with new
driver too?

You can ask why I want it this way, if I can put this into kernel...
simply this would make development awkward - every change would mean
recompile everything (or at least relinking kernel) and reboot. With
kld, I can just rebuild the module, reinstall it, unload old/load new
version and test. Other thing is, for any IP core I must first load hw
design into PL part (FPGA bitstream, actually), there is simply no
device without this step performed.

Did anybody already create something similar? Any help/hint/pointer
appreciated...

Regards,
Milan


More information about the freebsd-hackers mailing list