|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Help with reading from hvc console device on a PV guest
Hello,
Please let me know if you have some information about issue below.
I created a channel device for PV guest using
channel= ["connection=pty, name=xen.channel.0,
path=/var/lib/xen/ctl-socket","connection=socket, name=xen.channel.1,
path=/var/lib/xen/ctl-socket-data"]
Xen toolstack uses qemu backend for additional consoles other than console 0.
/usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 505 -chardev
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-505,server,nowait
-no-shutdown -mon chardev=libxl-cmd,mode=control -chardev
socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-505,server,nowait
-mon chardev=libxenstat-cmd,mode=control -chardev
pty,id=libxl-channel0 -chardev
socket,id=libxl-channel1,path=/var/lib/xen/ctl-socket-data,server,nowait
-nodefaults -xen-attach -name ubuntupvhchannel -vnc none -display none
-nographic -machine xenpv -m 2048
I see additional console devices in the guest under /dev/hvc1 and /dev/hvc2.
I write to the other end of the channel i.e. from dom0, but when I
read the console device /dev/hvc1 or /dev/hvc2, using cat or an
application using read(), I do not get the data out. But I could print
out the data using printk (the string I passed from dom0) inside the
hvc driver code where it reads from backend.
Looks like I am missing something in the userspace creation of
device node or some flag for opening device file in the read system
call of my application. Any suggestions?
Application I wrote to read from console device:
memset(buf, 0, sizeof(buf));
fd=open("/dev/xenconsole/xen.channel.1", O_RDWR|O_NONBLOCK);
if(fd < 0)
printf("could not open dev hvc2\n");
size = read(fd, (void *)buf, sizeof(buf));
printf("size read %d\n",size);
Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |