I am trying to pass-through the parallel port of the host to the guest.
When I just used qemu-system-x86_64 with option '-chardev pty,id=charparallel0,path=/dev/parport0 -device isa-parallel,chardev=charparallel0,id=parallel0', it worked perfect. 
But when I tried to pass these option by adding lines below to the domain xml,
...
</device>
<qemu:commandline>
  <qemu:args value='-chardev'/>
  <qemu:args value='pty,id=charparallel0,path=/dev/parport0'/>
  <qemu:args value='-device'/>
  <qemu:args value='isa-parallel,chardev=charparallel0,id=parallel0'/>
</qemu:commandline>
...
it failed and showed:
[root@localhost local]# virsh start test02
error: Failed to start domain test02
error: internal error: process exited while connecting to monitor: 2019-03-27 02:28:12.507+0000: Domain id=32 is  tainted: custom-argv
2019-03-27T02:28:12.599326Z qemu-system-x86_64: -chardev parallel,id=charparallel0,path=/dev/parport0: Could not  open '/dev/parport0': No such file or directory

I dont know why it showed a 'No such file or directory'. The /dev/parport0 is actually here. I have tried setting chmod 666 to /dev/parport0 and shutdown the selinux, but it always show the same thing.
Please give me some help, thanks.