@@ -9,6 +9,17 @@ More details can be found in article presented on RTLWS 2015 [(PDF)](http://rtim
Support has been included in QEMU mainline. Documentation is included in file [docs/can.txt](https://git.qemu.org/?p=qemu.git;a=blob;f=docs/can.txt) in official QEMU releases and [repository](https://git.qemu.org/?p=qemu.git).
## CAN Emulation Infrastructure
CAN emulation message and interconnection types are defined in [include/net/can_emu.h](https://git.qemu.org/?p=qemu.git;a=tree;f=include/net/can_emu.h) and for connection to host system in [include/net/can_host.h](https://git.qemu.org/?p=qemu.git;a=tree;f=include/net/can_host.h).
Generic part of QEMU CAN virtual CAN devices interconnection is implemented in file [net/can/can_core.c](https://git.qemu.org/?p=qemu.git;a=tree;f=net/can/can_core.c)
Connection to host system in file [net/can/can_host.c](https://git.qemu.org/?p=qemu.git;a=tree;f=net/can/can_host.c) and part specific for SocketCAN in [net/can/can_socketcan.c](https://git.qemu.org/?p=qemu.git;a=tree;f=net/can/can_socketcan.c)
SJA1000 emulation code can be found in file [hw/net/can/can_sja1000.c](https://git.qemu.org/?p=qemu.git;a=blob;f=hw/net/can/can_sja1000.c). Se the functions `can_sja_mem_write()` and `can_sja_mem_read()`.
The device state which are known to QEMU is registered field by filed in `VMStateDescription``vmstate_can_sja`.