* frame buffer shared by domains on arch arm linux @ 2015-01-21 8:36 Mao Mingy 2015-01-21 10:51 ` Stefano Stabellini 0 siblings, 1 reply; 20+ messages in thread From: Mao Mingy @ 2015-01-21 8:36 UTC (permalink / raw) To: xen-devel I am trying to run the PVHVM guest on omap5 (arm arch) so that I can get the frame buffer shared by Domains. my setup are: 1. run xen4.5 after the u-boot. 2. start the dom0 (on linux kernel 3.12) on xen. 3. run the qemu (from xen 4.5) and HVM backend on xen. 4. run the guest domain as "Machine: Dummy Virtual Machine, model: XENVM-4.5" 5. try to build a frame buffer on guest domain by CONFIG_XEN_FBDEV_FRONTEND = y CONFIG_FB_VIRTUAL=y after change to domain checking in the first list of xenfb_init(...) in xen-fbfront.c from if (!xen_pv_domain()) ---> if (!xen_domain()) the /dev/fb0 is built up on guest domain. However, writing to this fb has no response from screen. Why xenfb_init limited to PV domain only? Is the PVHVM mode supported by xen4.5 and linux3.12? Looks at the xen.h at the linux kernel source: enum xen_domain_type { XEN_NATIVE, /* running on bare hardware */ XEN_PV_DOMAIN, /* running in a PV domain */ XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ }; seems PVHVM is not there yet? Kindly enlighten me what could be the solution to get the frame buffer shared by Domains? Regards, Mao Mingya ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-21 8:36 frame buffer shared by domains on arch arm linux Mao Mingy @ 2015-01-21 10:51 ` Stefano Stabellini 2015-01-22 2:18 ` Mao Mingy 0 siblings, 1 reply; 20+ messages in thread From: Stefano Stabellini @ 2015-01-21 10:51 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel On Wed, 21 Jan 2015, Mao Mingy wrote: > I am trying to run the PVHVM guest on omap5 (arm arch) so that I can get the > frame buffer shared by Domains. my setup are: > 1. run xen4.5 after the u-boot. > 2. start the dom0 (on linux kernel 3.12) on xen. 3.12 is pretty old now > 3. run the qemu (from xen 4.5) and HVM backend on xen. Is this the QEMU binary that gets compiled as part of the Xen 4.5 build and started automatically by xl if you configure the VM with a framebuffer? > 4. run the guest domain as "Machine: Dummy Virtual Machine, model: XENVM-4.5" > 5. try to build a frame buffer on guest domain by > CONFIG_XEN_FBDEV_FRONTEND = y > CONFIG_FB_VIRTUAL=y > > after change to domain checking in the first list of xenfb_init(...) in > xen-fbfront.c from > if (!xen_pv_domain()) ---> if (!xen_domain()) > the /dev/fb0 is built up on guest domain. However, writing to this fb has no > response from screen. > > Why xenfb_init limited to PV domain only? No it is not. In fact if you use a more recent Linux kernel, you won't need to make any modifications and it should work out of the box. > Is the PVHVM mode supported by xen4.5 and linux3.12? We don't call "PVHVM" guests on ARM: on ARM we only have one type of guest. From the Linux kernel perspective, they are HVM domains. > Looks at the xen.h at the linux kernel source: > enum xen_domain_type { > XEN_NATIVE, /* running on bare hardware */ > XEN_PV_DOMAIN, /* running in a PV domain */ > XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ > }; > seems PVHVM is not there yet? In this context PVHVM would just be XEN_PV_DOMAIN. > Kindly enlighten me what could be the solution to get the frame buffer shared > by Domains? It should work out of the box with the latest Linux kernel and Xen 4.5, if you add vfb=['vnc=1'] to the VM config file. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-21 10:51 ` Stefano Stabellini @ 2015-01-22 2:18 ` Mao Mingy 2015-01-22 11:56 ` Stefano Stabellini 0 siblings, 1 reply; 20+ messages in thread From: Mao Mingy @ 2015-01-22 2:18 UTC (permalink / raw) To: Stefano Stabellini; +Cc: xen-devel On 21/01/2015 18:51, Stefano Stabellini wrote: > On Wed, 21 Jan 2015, Mao Mingy wrote: >> I am trying to run the PVHVM guest on omap5 (arm arch) so that I can get the >> frame buffer shared by Domains. my setup are: >> 1. run xen4.5 after the u-boot. >> 2. start the dom0 (on linux kernel 3.12) on xen. > 3.12 is pretty old now > > >> 3. run the qemu (from xen 4.5) and HVM backend on xen. > Is this the QEMU binary that gets compiled as part of the Xen 4.5 build > and started automatically by xl if you configure the VM with a > framebuffer? Yes. it's compiled from Xen 4.5. exact location @ " ./xen_4.5/dist/install/usr/local/lib/xen/bin/qemu-system-i386 " >> 4. run the guest domain as "Machine: Dummy Virtual Machine, model: XENVM-4.5" >> 5. try to build a frame buffer on guest domain by >> CONFIG_XEN_FBDEV_FRONTEND = y >> CONFIG_FB_VIRTUAL=y >> >> after change to domain checking in the first list of xenfb_init(...) in >> xen-fbfront.c from >> if (!xen_pv_domain()) ---> if (!xen_domain()) >> the /dev/fb0 is built up on guest domain. However, writing to this fb has no >> response from screen. >> >> Why xenfb_init limited to PV domain only? > No it is not. In fact if you use a more recent Linux kernel, you won't > need to make any modifications and it should work out of the box. Thanks. Check the latest kernel source. it's already modified to if (!xen_domain()) >> Is the PVHVM mode supported by xen4.5 and linux3.12? > We don't call "PVHVM" guests on ARM: on ARM we only have one type of > guest. From the Linux kernel perspective, they are HVM domains. > > >> Looks at the xen.h at the linux kernel source: >> enum xen_domain_type { >> XEN_NATIVE, /* running on bare hardware */ >> XEN_PV_DOMAIN, /* running in a PV domain */ >> XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ >> }; >> seems PVHVM is not there yet? > In this context PVHVM would just be XEN_PV_DOMAIN. > > >> Kindly enlighten me what could be the solution to get the frame buffer shared >> by Domains? > It should work out of the box with the latest Linux kernel and Xen 4.5, > if you add > > vfb=['vnc=1'] > > to the VM config file. Unfortunately, It's still no work after add the vfb=[ 'vnc=1' ]. fb open/write/ioctl/close from guest linux user space program return no error. However, just the screen do NOT display the contents wrote to vfb. Here is the configuration file when create the guest linux kernel = "/xen/images/zImage" memory = "128" name = "omap5" bootargs = "mem=128M vram=16M xencons=hvc" vcpus = 1 extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" disk = [ 'phy:/dev/loop0,xvda,w' ] vfb=['vnc=1'] Kindly advise what could be the reason? ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-22 2:18 ` Mao Mingy @ 2015-01-22 11:56 ` Stefano Stabellini 2015-01-23 9:14 ` Mao Mingy 0 siblings, 1 reply; 20+ messages in thread From: Stefano Stabellini @ 2015-01-22 11:56 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini On Thu, 22 Jan 2015, Mao Mingy wrote: > On 21/01/2015 18:51, Stefano Stabellini wrote: > > On Wed, 21 Jan 2015, Mao Mingy wrote: > > > I am trying to run the PVHVM guest on omap5 (arm arch) so that I can get > > > the > > > frame buffer shared by Domains. my setup are: > > > 1. run xen4.5 after the u-boot. > > > 2. start the dom0 (on linux kernel 3.12) on xen. > > 3.12 is pretty old now > > > > > > > 3. run the qemu (from xen 4.5) and HVM backend on xen. > > Is this the QEMU binary that gets compiled as part of the Xen 4.5 build > > and started automatically by xl if you configure the VM with a > > framebuffer? > Yes. it's compiled from Xen 4.5. exact location @ " > ./xen_4.5/dist/install/usr/local/lib/xen/bin/qemu-system-i386 " > > > 4. run the guest domain as "Machine: Dummy Virtual Machine, model: > > > XENVM-4.5" > > > 5. try to build a frame buffer on guest domain by > > > CONFIG_XEN_FBDEV_FRONTEND = y > > > CONFIG_FB_VIRTUAL=y > > > > > > after change to domain checking in the first list of xenfb_init(...) in > > > xen-fbfront.c from > > > if (!xen_pv_domain()) ---> if (!xen_domain()) > > > the /dev/fb0 is built up on guest domain. However, writing to this fb has > > > no > > > response from screen. > > > > > > Why xenfb_init limited to PV domain only? > > No it is not. In fact if you use a more recent Linux kernel, you won't > > need to make any modifications and it should work out of the box. > Thanks. Check the latest kernel source. it's already modified to if > (!xen_domain()) > > > Is the PVHVM mode supported by xen4.5 and linux3.12? > > We don't call "PVHVM" guests on ARM: on ARM we only have one type of > > guest. From the Linux kernel perspective, they are HVM domains. > > > > > > > Looks at the xen.h at the linux kernel source: > > > enum xen_domain_type { > > > XEN_NATIVE, /* running on bare hardware */ > > > XEN_PV_DOMAIN, /* running in a PV domain */ > > > XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ > > > }; > > > seems PVHVM is not there yet? > > In this context PVHVM would just be XEN_PV_DOMAIN. > > > > > > > Kindly enlighten me what could be the solution to get the frame buffer > > > shared > > > by Domains? > > It should work out of the box with the latest Linux kernel and Xen 4.5, > > if you add > > > > vfb=['vnc=1'] > > > > to the VM config file. > Unfortunately, It's still no work after add the vfb=[ 'vnc=1' ]. fb > open/write/ioctl/close from guest > linux user space program return no error. However, just the screen do NOT > display the contents wrote to vfb. > Here is the configuration file when create the guest linux > > kernel = "/xen/images/zImage" > memory = "128" > name = "omap5" > bootargs = "mem=128M vram=16M xencons=hvc" > vcpus = 1 > extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" You might want to use console=tty0 if you want to see the kernel output on the framebuffer. > disk = [ 'phy:/dev/loop0,xvda,w' ] > vfb=['vnc=1'] > > Kindly advise what could be the reason? Do you have CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y CONFIG_FRAMEBUFFER_CONSOLE=y in your guest kernel config? Could you please post the output of xenstore-ls, executing the command after creating the VM? ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-22 11:56 ` Stefano Stabellini @ 2015-01-23 9:14 ` Mao Mingy 2015-01-23 9:24 ` Ian Campbell 2015-01-23 10:33 ` Stefano Stabellini 0 siblings, 2 replies; 20+ messages in thread From: Mao Mingy @ 2015-01-23 9:14 UTC (permalink / raw) To: Stefano Stabellini; +Cc: xen-devel [-- Attachment #1.1: Type: text/plain, Size: 4966 bytes --] On 22/01/2015 19:56, Stefano Stabellini wrote: > On Thu, 22 Jan 2015, Mao Mingy wrote: >> On 21/01/2015 18:51, Stefano Stabellini wrote: >>> On Wed, 21 Jan 2015, Mao Mingy wrote: >>>> I am trying to run the PVHVM guest on omap5 (arm arch) so that I can get >>>> the >>>> frame buffer shared by Domains. my setup are: >>>> 1. run xen4.5 after the u-boot. >>>> 2. start the dom0 (on linux kernel 3.12) on xen. >>> 3.12 is pretty old now >>> >>> >>>> 3. run the qemu (from xen 4.5) and HVM backend on xen. >>> Is this the QEMU binary that gets compiled as part of the Xen 4.5 build >>> and started automatically by xl if you configure the VM with a >>> framebuffer? >> Yes. it's compiled from Xen 4.5. exact location @ " >> ./xen_4.5/dist/install/usr/local/lib/xen/bin/qemu-system-i386 " >>>> 4. run the guest domain as "Machine: Dummy Virtual Machine, model: >>>> XENVM-4.5" >>>> 5. try to build a frame buffer on guest domain by >>>> CONFIG_XEN_FBDEV_FRONTEND = y >>>> CONFIG_FB_VIRTUAL=y >>>> >>>> after change to domain checking in the first list of xenfb_init(...) in >>>> xen-fbfront.c from >>>> if (!xen_pv_domain()) ---> if (!xen_domain()) >>>> the /dev/fb0 is built up on guest domain. However, writing to this fb has >>>> no >>>> response from screen. >>>> >>>> Why xenfb_init limited to PV domain only? >>> No it is not. In fact if you use a more recent Linux kernel, you won't >>> need to make any modifications and it should work out of the box. >> Thanks. Check the latest kernel source. it's already modified to if >> (!xen_domain()) >>>> Is the PVHVM mode supported by xen4.5 and linux3.12? >>> We don't call "PVHVM" guests on ARM: on ARM we only have one type of >>> guest. From the Linux kernel perspective, they are HVM domains. >>> >>> >>>> Looks at the xen.h at the linux kernel source: >>>> enum xen_domain_type { >>>> XEN_NATIVE, /* running on bare hardware */ >>>> XEN_PV_DOMAIN, /* running in a PV domain */ >>>> XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ >>>> }; >>>> seems PVHVM is not there yet? >>> In this context PVHVM would just be XEN_PV_DOMAIN. >>> >>> >>>> Kindly enlighten me what could be the solution to get the frame buffer >>>> shared >>>> by Domains? >>> It should work out of the box with the latest Linux kernel and Xen 4.5, >>> if you add >>> >>> vfb=['vnc=1'] >>> >>> to the VM config file. >> Unfortunately, It's still no work after add the vfb=[ 'vnc=1' ]. fb >> open/write/ioctl/close from guest >> linux user space program return no error. However, just the screen do NOT >> display the contents wrote to vfb. >> Here is the configuration file when create the guest linux >> >> kernel = "/xen/images/zImage" >> memory = "128" >> name = "omap5" >> bootargs = "mem=128M vram=16M xencons=hvc" >> vcpus = 1 >> extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" > You might want to use console=tty0 if you want to see the kernel output on the framebuffer. Thanks. I got the kernel trace output for my guest Linux. >> disk = [ 'phy:/dev/loop0,xvda,w' ] >> vfb=['vnc=1'] >> >> Kindly advise what could be the reason? > Do you have > > CONFIG_XEN_FBDEV_FRONTEND=y > CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y > CONFIG_FRAMEBUFFER_CONSOLE=y > > in your guest kernel config? > > Could you please post the output of xenstore-ls, executing the command > after creating the VM? > Yes. The CONFIG_XXX mentioned above is in my guest kernel config. I've attached the related CONFIG_XXX of the guest Linux. Unfortunately, it's not an option for me to go for latest Linux kernel right now, so I debugged the problem by adding tracing information into the kernel and qemu source code to trace the issue. On guest Linux, when writing to frame buffer, the call path is xenfb_write() xenfb_refresh() xenfb_do_update() <---- here the XENFB_TYPE_UPDATE event is sent out. However, in the QEMU size on Dom0, There is NO XENFB_TYPE_UPDATE event is observed in xenfb_handle_events() of xenfb.c Shoud the XENFB_TYPE_UPDATE event sent by guest Linux reach the QEMU and processed and write to real hardware by QEMU? If so. why it's not received? any point to check? So far, I checked the following two points 1. QEMU's start up parameter, changed the original from Xen4.5 /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 */-nographic/* -M xenpv -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/qemu-dom0.pid to /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 /*-vga xenfb */-M xenpv -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/qemu-dom0.pid but it does NOT make any different for this aspect. 2. The return value of xen_be_register("vfb", &xen_framebuffer_ops) of xen_machine_pv.c of the QEMU it's checked and return 0. Looks not a problem The result of xenstore-ls are attached as well. Regards, Mao Mingya [-- Attachment #1.2: Type: text/html, Size: 6949 bytes --] [-- Attachment #2: xen_domu_config --] [-- Type: text/plain, Size: 1459 bytes --] #add for xen related config CONFIG_HVC_XEN_FRONTEND=y CONFIG_XEN_DEV_EVTCHN=y CONFIG_XENFS=y CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_SYS_HYPERVISOR=y CONFIG_XEN_GNTDEV=y CONFIG_XEN_GRANT_DEV_A #From: http://wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs#Configuring_the_Kernel_for_domU_Support #Enable these core options (Processor type and features| Paravirtualized guest support] CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y CONFIG_XEN=y CONFIG_PARAVIRT_GUEST=y CONFIG_PARAVIRT_SPINLOCKS=y #And Xen pv console device support (Device Drivers|Character devices CONFIG_HVC_DRIVER=y CONFIG_HVC_XEN=y #And Xen disk and network support (Device Drivers|Block devices and Device Drivers|Network device support) CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y #And the rest (Device Drivers|Xen driver support) CONFIG_XEN_PCIDEV_FRONTEND=y CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_XEN_XENBUS_FRONTEND=y CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_GRANT_DEV_ALLOC=m CONFIG_FB_VIRTUAL=y #And for tmem support: CONFIG_XEN_TMEM=y CONFIG_CLEANCACHE=y CONFIG_FRONTSWAP=y CONFIG_XEN_SELFBALLOONING=y #xxxxwwww, add general virt machine, to be used as a domain U guest CONFIG_ARCH_VIRT=y #xxxxwwww. gc moudle give out exception, disable is first # CONFIG_GCCORE is not set # CONFIG_GCIOCTL is not set # CONFIG_GCBV is not set #xxxxwwww, to make frame buffer working CONFIG_FRAMEBUFFER_CONSOLE=y [-- Attachment #3: xenstore-ls_20150123.txt --] [-- Type: text/plain, Size: 4377 bytes --] root@dra7xx-evm:/xen/images# xenstore-ls tool = "" xenstored = "" local = "" domain = "" 0 = "" domid = "0" name = "Domain-0" device = "" vfb = "" 0 = "" state = "1" backend-id = "0" backend = "/local/domain/0/backend/vfb/0/0" vkbd = "" 0 = "" state = "1" backend-id = "0" backend = "/local/domain/0/backend/vkbd/0/0" backend = "" vfb = "" 0 = "" 0 = "" type = "vnc" domain = "dom0" online = "1" state = "2" frontend-id = "0" frontend = "/local/domain/0/device/vfb/0" feature-resize = "1" hotplug-status = "connected" 1 = "" 0 = "" frontend = "/local/domain/1/device/vfb/0" frontend-id = "1" online = "1" state = "4" vnc = "1" vnclisten = "127.0.0.1" vncdisplay = "0" vncunused = "1" sdl = "0" opengl = "0" feature-resize = "1" hotplug-status = "connected" type = "vnc" domain = "omap5_4" request-update = "1" vkbd = "" 0 = "" 0 = "" domain = "dom0" online = "1" state = "2" frontend-id = "0" frontend = "/local/domain/0/device/vkbd/0" feature-abs-pointer = "1" hotplug-status = "connected" 1 = "" 0 = "" frontend = "/local/domain/1/device/vkbd/0" frontend-id = "1" online = "1" state = "1" feature-abs-pointer = "1" hotplug-status = "connected" domain = "omap5_4" vbd = "" 1 = "" 51712 = "" frontend = "/local/domain/1/device/vbd/51712" params = "/dev/loop0" script = "/etc/xen/scripts/block" physical-device = "7:0" frontend-id = "1" online = "1" removable = "0" bootable = "1" state = "4" dev = "xvda" type = "phy" mode = "w" device-type = "disk" discard-enable = "1" feature-flush-cache = "1" feature-discard = "0" feature-barrier = "1" feature-persistent = "1" feature-max-indirect-segments = "256" sectors = "7615488" info = "0" sector-size = "512" physical-sector-size = "512" console = "" 1 = "" 0 = "" frontend = "/local/domain/1/console" frontend-id = "1" online = "1" state = "1" protocol = "vt100" device-model = "" 0 = "" state = "running" 1 = "" state = "running" memory = "" target = "262144" static-max = "4294967292" freemem-slack = "157286" libxl = "" disable_udev = "1" 1 = "" vm = "/vm/c32df72b-0983-43f7-8b57-6190ab74482d" name = "omap5_4" cpu = "" 0 = "" availability = "online" memory = "" static-max = "131072" target = "131072" videoram = "0" device = "" suspend = "" event-channel = "" vbd = "" 51712 = "" backend = "/local/domain/0/backend/vbd/1/51712" backend-id = "0" state = "4" virtual-device = "51712" device-type = "disk" protocol = "arm-abi" ring-ref = "8" event-channel = "4" feature-persistent = "1" vfb = "" 0 = "" backend = "/local/domain/0/backend/vfb/1/0" backend-id = "0" state = "4" page-ref = "285571" event-channel = "3" protocol = "arm-abi" feature-update = "1" vkbd = "" 0 = "" backend = "/local/domain/0/backend/vkbd/1/0" backend-id = "0" state = "1" control = "" shutdown = "" platform-feature-multiprocessor-suspend = "1" platform-feature-xs_reset_watches = "1" data = "" domid = "1" store = "" port = "1" ring-ref = "233473" console = "" backend = "/local/domain/0/backend/console/1/0" backend-id = "0" limit = "1048576" type = "xenconsoled" output = "pty" tty = "/dev/pts/0" port = "2" ring-ref = "233472" vnc-listen = "127.0.0.1" vnc-port = "5901" image = "" device-model-pid = "1869" vm = "" c32df72b-0983-43f7-8b57-6190ab74482d = "" name = "omap5_4" uuid = "c32df72b-0983-43f7-8b57-6190ab74482d" image = "" ostype = "linux" kernel = "/xen/images/zImage" cmdline = "console=hvc0 xencons=hvc root=/dev/xvda ro" start_time = "1388577612.84" libxl = "" 1 = "" dm-version = "qemu_xen" [-- Attachment #4: Type: text/plain, Size: 126 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 9:14 ` Mao Mingy @ 2015-01-23 9:24 ` Ian Campbell 2015-01-23 10:03 ` Mao Mingy 2015-01-23 10:33 ` Stefano Stabellini 1 sibling, 1 reply; 20+ messages in thread From: Ian Campbell @ 2015-01-23 9:24 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini On Fri, 2015-01-23 at 17:14 +0800, Mao Mingy wrote: > 1. QEMU's start up parameter, changed the original from Xen4.5 > /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 Are you trying to use pvfb for dom0's own graphical output? This qemu process you quote here is running against dom0 in order to provide backend services for frontends running in dom0 itself, i.e. things like loopback qdisk mounts to the toolstack. For a domU the xl toolstack should be launching a new qemu process specifically for that domain, e.g. with -xen-domid <domid> (for domid!=0). Ian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 9:24 ` Ian Campbell @ 2015-01-23 10:03 ` Mao Mingy 2015-01-23 10:11 ` Ian Campbell 0 siblings, 1 reply; 20+ messages in thread From: Mao Mingy @ 2015-01-23 10:03 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Stefano Stabellini On 23/01/2015 17:24, Ian Campbell wrote: > On Fri, 2015-01-23 at 17:14 +0800, Mao Mingy wrote: >> 1. QEMU's start up parameter, changed the original from Xen4.5 >> /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 > Are you trying to use pvfb for dom0's own graphical output? No. I got it wrong. Right now writing to Dom0's frame buffer from Dom0 is working. I am trying to run the program on DomU to to write to frame buffer of guest DomU and it's not working > This qemu process you quote here is running against dom0 in order to > provide backend services for frontends running in dom0 itself, i.e. > things like loopback qdisk mounts to the toolstack. > > For a domU the xl toolstack should be launching a new qemu process > specifically for that domain, e.g. with -xen-domid <domid> (for > domid!=0). > > Ian. > I modified the "-xen-domid" and "-name" of qemu-system-i386 to match the domain name and id of the guest Dom, the result is same. The XENFB_TYPE_UPDATE event sent by guest Linux did NOT reach to QEMU side (xenfb_handle_events() of xenfb.c). should it be processed here? Thank you for the sharp thought and prompt reply. Regards, Mao Mingya ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:03 ` Mao Mingy @ 2015-01-23 10:11 ` Ian Campbell 2015-01-23 10:23 ` Mao Mingy 0 siblings, 1 reply; 20+ messages in thread From: Ian Campbell @ 2015-01-23 10:11 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: > I modified the "-xen-domid" and "-name" of qemu-system-i386 to match > the domain name and id of the guest Dom, the result is same. Please just let the toolstack launch qemu instead of doing it yourself. With Xen 4.5 you shouldn't need to be doing anything here manually at all. Ian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:11 ` Ian Campbell @ 2015-01-23 10:23 ` Mao Mingy 2015-01-23 10:32 ` Stefano Stabellini 2015-01-23 10:34 ` Ian Campbell 0 siblings, 2 replies; 20+ messages in thread From: Mao Mingy @ 2015-01-23 10:23 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Stefano Stabellini On 23/01/2015 18:11, Ian Campbell wrote: > On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: >> I modified the "-xen-domid" and "-name" of qemu-system-i386 to match >> the domain name and id of the guest Dom, the result is same. > Please just let the toolstack launch qemu instead of doing it yourself. > With Xen 4.5 you shouldn't need to be doing anything here manually at > all. > > Ian. > Oh. I was referring to the QEMU instance started at the boot time ( /etc/init.d/xencommons start) Do I still need call "/etc/init.d/xencommons start" when system start? Regards, Mao Mingya ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:23 ` Mao Mingy @ 2015-01-23 10:32 ` Stefano Stabellini [not found] ` <CAFLc04ByJ0OEsqEeXcL3goaGiLkYFpwTnFrZnRfv2Tx463XwdA@mail.gmail.com> 2015-01-23 10:34 ` Ian Campbell 1 sibling, 1 reply; 20+ messages in thread From: Stefano Stabellini @ 2015-01-23 10:32 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Ian Campbell, Stefano Stabellini On Fri, 23 Jan 2015, Mao Mingy wrote: > On 23/01/2015 18:11, Ian Campbell wrote: > > On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: > > > I modified the "-xen-domid" and "-name" of qemu-system-i386 to match > > > the domain name and id of the guest Dom, the result is same. > > Please just let the toolstack launch qemu instead of doing it yourself. > > With Xen 4.5 you shouldn't need to be doing anything here manually at > > all. > > > > Ian. > > > Oh. I was referring to the QEMU instance started at the boot time ( > /etc/init.d/xencommons start) > Do I still need call "/etc/init.d/xencommons start" when system start? Of course you need to call "/etc/init.d/xencommons start", but that is for system wide configuration. Another per-VM QEMU is created by xl when needed. Just do: xl create config_file and afterwards you should see a second qemu-system-i386 running with the right arguments. ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <CAFLc04ByJ0OEsqEeXcL3goaGiLkYFpwTnFrZnRfv2Tx463XwdA@mail.gmail.com>]
[parent not found: <alpine.DEB.2.02.1501231456260.18131@kaball.uk.xensource.com>]
[parent not found: <54C5DD03.5070406@gmail.com>]
[parent not found: <alpine.DEB.2.02.1501261049370.13428@kaball.uk.xensource.com>]
[parent not found: <54C741CC.8040604@gmail.com>]
* Re: frame buffer shared by domains on arch arm linux [not found] ` <54C741CC.8040604@gmail.com> @ 2015-01-27 10:24 ` Stefano Stabellini 2015-01-27 10:55 ` Ian Campbell 0 siblings, 1 reply; 20+ messages in thread From: Stefano Stabellini @ 2015-01-27 10:24 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini Please don't drop the mailing list from CC. On Tue, 27 Jan 2015, Mao Mingy wrote: > When I tried to set up the network in Dom0 using command: > xl network-attach 1 xl network-attach is not to setup the network in dom0. Please use "man xl"! network-attach domain-id network-device Creates a new network device in the domain specified by domain-id. network-device describes the device to attach, using the same format as the vif string in the domain config file. See xl.cfg and http://xenbits.xen.org/docs/unstable/misc/xl-network-configuration.html <http://xenbits.xen.org/docs/unstable/misc/xl-network-configuration.html> for more informations. > I got the following error message: > libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: > /etc/xen/scripts/vif-bridge online [-1] exited with error status 1 > libxl: error: libxl_device.c:1078:device_hotplug_child_death_cb: script: > Could not find bridge device xenbr0 > libxl: error: libxl.c:1915:device_addrm_aocomplete: unable to add vif with > id 0 > libxl_device_nic_add failed. > > In my Dom0 the "/sys/devices/virtual/net/xenbr0" is NOT setup at all. > > What could be the reason? I have > CONFIG_XEN_NETDEV_FRONTEND=y > CONFIG_XEN_NETDEV_BACKEND=y > in Dom0's kernel config, Do I still miss something? > > Regards, > Mao Mingya > > On 26/01/2015 18:53, Stefano Stabellini wrote: > > Backends in Linux are: network and block > > drivers/block/xen-blkback > > drivers/net/xen-netback > > > > Backends in QEMU are: block, console, framebuffer, mouse & keyboard > > hw/block/xen_disk.c > > hw/char/xen_console.c > > hw/display/xenfb.c > > > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-27 10:24 ` Stefano Stabellini @ 2015-01-27 10:55 ` Ian Campbell 0 siblings, 0 replies; 20+ messages in thread From: Ian Campbell @ 2015-01-27 10:55 UTC (permalink / raw) To: Stefano Stabellini; +Cc: Mao Mingy, xen-devel On Tue, 2015-01-27 at 10:24 +0000, Stefano Stabellini wrote: > Please don't drop the mailing list from CC. > > On Tue, 27 Jan 2015, Mao Mingy wrote: > > When I tried to set up the network in Dom0 using command: > > xl network-attach 1 > > xl network-attach is not to setup the network in dom0. > Please use "man xl"! ... and the wiki, which has a wealth of information on how to setup a Xen host, including how to configure networking in general and guides for specific dom0 OSes etc. Ian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:23 ` Mao Mingy 2015-01-23 10:32 ` Stefano Stabellini @ 2015-01-23 10:34 ` Ian Campbell 2015-01-23 10:48 ` Mao Mingy 1 sibling, 1 reply; 20+ messages in thread From: Ian Campbell @ 2015-01-23 10:34 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini On Fri, 2015-01-23 at 18:23 +0800, Mao Mingy wrote: > On 23/01/2015 18:11, Ian Campbell wrote: > > On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: > >> I modified the "-xen-domid" and "-name" of qemu-system-i386 to match > >> the domain name and id of the guest Dom, the result is same. > > Please just let the toolstack launch qemu instead of doing it yourself. > > With Xen 4.5 you shouldn't need to be doing anything here manually at > > all. > > > > Ian. > > > Oh. I was referring to the QEMU instance started at the boot time ( > /etc/init.d/xencommons start) > Do I still need call "/etc/init.d/xencommons start" when system start? Yes it should be run and it should be starting a qemu process for dom0. In summary: * Leave xencommons alone, and arrange to run it on boot, so it starts a qemu for dom0 * Allow the toolstack to launch a qemu process for the guest domain as and when it deems it necessary. Ian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:34 ` Ian Campbell @ 2015-01-23 10:48 ` Mao Mingy 2015-01-23 10:56 ` Ian Campbell 0 siblings, 1 reply; 20+ messages in thread From: Mao Mingy @ 2015-01-23 10:48 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Stefano Stabellini On 23/01/2015 18:34, Ian Campbell wrote: > On Fri, 2015-01-23 at 18:23 +0800, Mao Mingy wrote: >> On 23/01/2015 18:11, Ian Campbell wrote: >>> On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: >>>> I modified the "-xen-domid" and "-name" of qemu-system-i386 to match >>>> the domain name and id of the guest Dom, the result is same. >>> Please just let the toolstack launch qemu instead of doing it yourself. >>> With Xen 4.5 you shouldn't need to be doing anything here manually at >>> all. >>> >>> Ian. >>> >> Oh. I was referring to the QEMU instance started at the boot time ( >> /etc/init.d/xencommons start) >> Do I still need call "/etc/init.d/xencommons start" when system start? > Yes it should be run and it should be starting a qemu process for dom0. > > In summary: > * Leave xencommons alone, and arrange to run it on boot, so it > starts a qemu for dom0 > * Allow the toolstack to launch a qemu process for the guest > domain as and when it deems it necessary. > > Ian. > My system follows what you've mentioned above. I was using the following commands "xl create files.cfg" to create the guest dom. The files.cfg are as follows: kernel = "/xen/images/zImage" memory = "128" name = "omap51" bootargs = "mem=128M vram=16M xencons=hvc" vcpus = 1 extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" disk = [ 'phy:/dev/loop0,xvda,w' ] vfb=['vnc=1'] The QEMU instance for guest dom is observed on Dom0. Everything seems fine, writing to fb of guest dom returns no error. Just physical screen do not display the contents of fb of guest dom. Regards, Mao Mingya ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:48 ` Mao Mingy @ 2015-01-23 10:56 ` Ian Campbell 2015-01-23 13:13 ` Mao Mingya 2015-01-26 6:06 ` Mao Mingy 0 siblings, 2 replies; 20+ messages in thread From: Ian Campbell @ 2015-01-23 10:56 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini On Fri, 2015-01-23 at 18:48 +0800, Mao Mingy wrote: > On 23/01/2015 18:34, Ian Campbell wrote: > > On Fri, 2015-01-23 at 18:23 +0800, Mao Mingy wrote: > >> On 23/01/2015 18:11, Ian Campbell wrote: > >>> On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: > >>>> I modified the "-xen-domid" and "-name" of qemu-system-i386 to match > >>>> the domain name and id of the guest Dom, the result is same. > >>> Please just let the toolstack launch qemu instead of doing it yourself. > >>> With Xen 4.5 you shouldn't need to be doing anything here manually at > >>> all. > >>> > >>> Ian. > >>> > >> Oh. I was referring to the QEMU instance started at the boot time ( > >> /etc/init.d/xencommons start) > >> Do I still need call "/etc/init.d/xencommons start" when system start? > > Yes it should be run and it should be starting a qemu process for dom0. > > > > In summary: > > * Leave xencommons alone, and arrange to run it on boot, so it > > starts a qemu for dom0 > > * Allow the toolstack to launch a qemu process for the guest > > domain as and when it deems it necessary. > > > > Ian. > > > My system follows what you've mentioned above. I was using the following > commands > "xl create files.cfg" to create the guest dom. > > The files.cfg are as follows: > kernel = "/xen/images/zImage" > memory = "128" > name = "omap51" > bootargs = "mem=128M vram=16M xencons=hvc" > vcpus = 1 > extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" > disk = [ 'phy:/dev/loop0,xvda,w' ] > vfb=['vnc=1'] > > The QEMU instance for guest dom is observed on Dom0. > > Everything seems fine, writing to fb of guest dom returns no error. > > Just physical screen do not display the contents of fb of guest dom. The PVFB backend is outputting to vnc as you've requested ("vnc=1"). It is not expected to just appear on any physical display. You need to use a client of some sort, i.e. vncviewer, either remotely over a network or from dom0 (if it has a suitable graphics stack). I think there are vnc clients which can write direct to /dev/fb* too, but I can't name one off hand. If you are running X in dom0 then you could also use sdl instead of vnc, which will put the guest display in a window or full screen. If you are trying to get the guest framebuffer onto a physical graphics device then PVFB is not what you need. Instead you need to do device passthrough of that device to the guest (which means denying it to dom0). Passthrough is still a work in progress on Xen on ARM (likely to land for 4.6) and *requires* an SMMU to be present in the hardware. Ian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:56 ` Ian Campbell @ 2015-01-23 13:13 ` Mao Mingya 2015-01-23 13:16 ` Ian Campbell 2015-01-26 6:06 ` Mao Mingy 1 sibling, 1 reply; 20+ messages in thread From: Mao Mingya @ 2015-01-23 13:13 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel@lists.xen.org., Stefano Stabellini [-- Attachment #1.1: Type: text/plain, Size: 3024 bytes --] Thank you for the overall picture. a good lesson for me. Will try to use the VNC next week. On a second though, What mode is the serial port working now on ARM arch? it is able to be shared by Dom0 and guest Dom Regards, Mao On Fri, Jan 23, 2015 at 6:56 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote: > On Fri, 2015-01-23 at 18:48 +0800, Mao Mingy wrote: > > On 23/01/2015 18:34, Ian Campbell wrote: > > > On Fri, 2015-01-23 at 18:23 +0800, Mao Mingy wrote: > > >> On 23/01/2015 18:11, Ian Campbell wrote: > > >>> On Fri, 2015-01-23 at 18:03 +0800, Mao Mingy wrote: > > >>>> I modified the "-xen-domid" and "-name" of qemu-system-i386 to > match > > >>>> the domain name and id of the guest Dom, the result is same. > > >>> Please just let the toolstack launch qemu instead of doing it > yourself. > > >>> With Xen 4.5 you shouldn't need to be doing anything here manually at > > >>> all. > > >>> > > >>> Ian. > > >>> > > >> Oh. I was referring to the QEMU instance started at the boot time ( > > >> /etc/init.d/xencommons start) > > >> Do I still need call "/etc/init.d/xencommons start" when system start? > > > Yes it should be run and it should be starting a qemu process for dom0. > > > > > > In summary: > > > * Leave xencommons alone, and arrange to run it on boot, so it > > > starts a qemu for dom0 > > > * Allow the toolstack to launch a qemu process for the guest > > > domain as and when it deems it necessary. > > > > > > Ian. > > > > > My system follows what you've mentioned above. I was using the following > > commands > > "xl create files.cfg" to create the guest dom. > > > > The files.cfg are as follows: > > kernel = "/xen/images/zImage" > > memory = "128" > > name = "omap51" > > bootargs = "mem=128M vram=16M xencons=hvc" > > vcpus = 1 > > extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" > > disk = [ 'phy:/dev/loop0,xvda,w' ] > > vfb=['vnc=1'] > > > > The QEMU instance for guest dom is observed on Dom0. > > > > Everything seems fine, writing to fb of guest dom returns no error. > > > > Just physical screen do not display the contents of fb of guest dom. > > The PVFB backend is outputting to vnc as you've requested ("vnc=1"). It > is not expected to just appear on any physical display. > > You need to use a client of some sort, i.e. vncviewer, either remotely > over a network or from dom0 (if it has a suitable graphics stack). I > think there are vnc clients which can write direct to /dev/fb* too, but > I can't name one off hand. > > If you are running X in dom0 then you could also use sdl instead of vnc, > which will put the guest display in a window or full screen. > > If you are trying to get the guest framebuffer onto a physical graphics > device then PVFB is not what you need. Instead you need to do device > passthrough of that device to the guest (which means denying it to > dom0). Passthrough is still a work in progress on Xen on ARM (likely to > land for 4.6) and *requires* an SMMU to be present in the hardware. > > Ian. > > [-- Attachment #1.2: Type: text/html, Size: 4130 bytes --] [-- Attachment #2: Type: text/plain, Size: 126 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 13:13 ` Mao Mingya @ 2015-01-23 13:16 ` Ian Campbell 0 siblings, 0 replies; 20+ messages in thread From: Ian Campbell @ 2015-01-23 13:16 UTC (permalink / raw) To: Mao Mingya; +Cc: xen-devel@lists.xen.org., Stefano Stabellini On Fri, 2015-01-23 at 21:13 +0800, Mao Mingya wrote: > On a second though, What mode is the serial port working now on ARM > arch? it is able to be shared by Dom0 and guest Dom A given piece of hardware can only be accessed by one entity at a time. Typically one serial port is given to Xen itself. Dom0 then has access to the hvc (hypervisor console), which Xen routes out of its own console (i.e. out of the serial port given to Xen). Dom0 also has access to any additional serial ports in the system. DomU only gets the virtual hvc console, unless you use device pass through (again, coming in 4.6) to give it access to a real one (thereby denying it to dom0. Ian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 10:56 ` Ian Campbell 2015-01-23 13:13 ` Mao Mingya @ 2015-01-26 6:06 ` Mao Mingy 2015-01-26 10:55 ` Stefano Stabellini 1 sibling, 1 reply; 20+ messages in thread From: Mao Mingy @ 2015-01-26 6:06 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Stefano Stabellini [-- Attachment #1.1: Type: text/plain, Size: 450 bytes --] On 23/01/2015 18:56, Ian Campbell wrote: > If you are trying to get the guest framebuffer onto a physical graphics > device then PVFB is not what you need. Instead you need to do device > passthrough of that device to the guest (which means denying it to > dom0). Passthrough is still a work in progress on Xen on ARM (likely to > land for 4.6) and*requires* an SMMU to be present in the hardware. Do you have any time frame for xen 4.6 release? [-- Attachment #1.2: Type: text/html, Size: 905 bytes --] [-- Attachment #2: Type: text/plain, Size: 126 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-26 6:06 ` Mao Mingy @ 2015-01-26 10:55 ` Stefano Stabellini 0 siblings, 0 replies; 20+ messages in thread From: Stefano Stabellini @ 2015-01-26 10:55 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Ian Campbell, Stefano Stabellini On Mon, 26 Jan 2015, Mao Mingy wrote: > On 23/01/2015 18:56, Ian Campbell wrote: > > If you are trying to get the guest framebuffer onto a physical graphics > device then PVFB is not what you need. Instead you need to do device > passthrough of that device to the guest (which means denying it to > dom0). Passthrough is still a work in progress on Xen on ARM (likely to > land for 4.6) and *requires* an SMMU to be present in the hardware. > > Do you have any time frame for xen 4.6 release? We don't at the moment. But the 4.6 development cycle has just opened and as a reference the 4.5 development cycle was 10 months. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: frame buffer shared by domains on arch arm linux 2015-01-23 9:14 ` Mao Mingy 2015-01-23 9:24 ` Ian Campbell @ 2015-01-23 10:33 ` Stefano Stabellini 1 sibling, 0 replies; 20+ messages in thread From: Stefano Stabellini @ 2015-01-23 10:33 UTC (permalink / raw) To: Mao Mingy; +Cc: xen-devel, Stefano Stabellini [-- Attachment #1: Type: text/plain, Size: 5173 bytes --] Please don't use HTML in emails. On Fri, 23 Jan 2015, Mao Mingy wrote: > On 22/01/2015 19:56, Stefano Stabellini wrote: > > On Thu, 22 Jan 2015, Mao Mingy wrote: > > On 21/01/2015 18:51, Stefano Stabellini wrote: > > On Wed, 21 Jan 2015, Mao Mingy wrote: > > I am trying to run the PVHVM guest on omap5 (arm arch) so that I can get > the > frame buffer shared by Domains. my setup are: > 1. run xen4.5 after the u-boot. > 2. start the dom0 (on linux kernel 3.12) on xen. > > 3.12 is pretty old now > > > 3. run the qemu (from xen 4.5) and HVM backend on xen. > > Is this the QEMU binary that gets compiled as part of the Xen 4.5 build > and started automatically by xl if you configure the VM with a > framebuffer? > > Yes. it's compiled from Xen 4.5. exact location @ " > ./xen_4.5/dist/install/usr/local/lib/xen/bin/qemu-system-i386 " > > 4. run the guest domain as "Machine: Dummy Virtual Machine, model: > XENVM-4.5" > 5. try to build a frame buffer on guest domain by > CONFIG_XEN_FBDEV_FRONTEND = y > CONFIG_FB_VIRTUAL=y > > after change to domain checking in the first list of xenfb_init(...) in > xen-fbfront.c from > if (!xen_pv_domain()) ---> if (!xen_domain()) > the /dev/fb0 is built up on guest domain. However, writing to this fb has > no > response from screen. > > Why xenfb_init limited to PV domain only? > > No it is not. In fact if you use a more recent Linux kernel, you won't > need to make any modifications and it should work out of the box. > > Thanks. Check the latest kernel source. it's already modified to if > (!xen_domain()) > > Is the PVHVM mode supported by xen4.5 and linux3.12? > > We don't call "PVHVM" guests on ARM: on ARM we only have one type of > guest. From the Linux kernel perspective, they are HVM domains. > > > Looks at the xen.h at the linux kernel source: > enum xen_domain_type { > XEN_NATIVE, /* running on bare hardware */ > XEN_PV_DOMAIN, /* running in a PV domain */ > XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ > }; > seems PVHVM is not there yet? > > In this context PVHVM would just be XEN_PV_DOMAIN. > > > Kindly enlighten me what could be the solution to get the frame buffer > shared > by Domains? > > It should work out of the box with the latest Linux kernel and Xen 4.5, > if you add > > vfb=['vnc=1'] > > to the VM config file. > > Unfortunately, It's still no work after add the vfb=[ 'vnc=1' ]. fb > open/write/ioctl/close from guest > linux user space program return no error. However, just the screen do NOT > display the contents wrote to vfb. > Here is the configuration file when create the guest linux > > kernel = "/xen/images/zImage" > memory = "128" > name = "omap5" > bootargs = "mem=128M vram=16M xencons=hvc" > vcpus = 1 > extra ="console=hvc0 xencons=hvc root=/dev/xvda ro" > > You might want to use console=tty0 if you want to see the kernel output on the framebuffer. > > Thanks. I got the kernel trace output for my guest Linux. > > disk = [ 'phy:/dev/loop0,xvda,w' ] > vfb=['vnc=1'] > > Kindly advise what could be the reason? > > Do you have > > CONFIG_XEN_FBDEV_FRONTEND=y > CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y > CONFIG_FRAMEBUFFER_CONSOLE=y > > in your guest kernel config? > > Could you please post the output of xenstore-ls, executing the command > after creating the VM? > > Yes. The CONFIG_XXX mentioned above is in my guest kernel config. I've attached the related CONFIG_XXX of > the guest Linux. > > Unfortunately, it's not an option for me to go for latest Linux kernel right now, so I debugged the > problem by adding tracing information into the kernel and qemu source code to trace the issue. > On guest Linux, when writing to frame buffer, the call path is > xenfb_write() > xenfb_refresh() > xenfb_do_update() <---- here the XENFB_TYPE_UPDATE event is sent out. > > However, in the QEMU size on Dom0, There is NO XENFB_TYPE_UPDATE event is observed in > xenfb_handle_events() of xenfb.c > > Shoud the XENFB_TYPE_UPDATE event sent by guest Linux reach the QEMU and processed and write to real > hardware by QEMU? > If so. why it's not received? any point to check? > > So far, I checked the following two points > 1. QEMU's start up parameter, changed the original from Xen4.5 > /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv > -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/qemu-dom0.pid > to > /usr/local/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -vga xenfb -M xenpv > -daemonize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/run/qemu-dom0.pid > but it does NOT make any different for this aspect. > > 2. The return value of xen_be_register("vfb", &xen_framebuffer_ops) of xen_machine_pv.c of the QEMU > it's checked and return 0. Looks not a problem As a matter of fact the output of xenstore-ls that you posted looks good: everything seems to be up and running. [-- Attachment #2: Type: text/plain, Size: 126 bytes --] _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2015-01-27 10:55 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-01-21 8:36 frame buffer shared by domains on arch arm linux Mao Mingy 2015-01-21 10:51 ` Stefano Stabellini 2015-01-22 2:18 ` Mao Mingy 2015-01-22 11:56 ` Stefano Stabellini 2015-01-23 9:14 ` Mao Mingy 2015-01-23 9:24 ` Ian Campbell 2015-01-23 10:03 ` Mao Mingy 2015-01-23 10:11 ` Ian Campbell 2015-01-23 10:23 ` Mao Mingy 2015-01-23 10:32 ` Stefano Stabellini [not found] ` <CAFLc04ByJ0OEsqEeXcL3goaGiLkYFpwTnFrZnRfv2Tx463XwdA@mail.gmail.com> [not found] ` <alpine.DEB.2.02.1501231456260.18131@kaball.uk.xensource.com> [not found] ` <54C5DD03.5070406@gmail.com> [not found] ` <alpine.DEB.2.02.1501261049370.13428@kaball.uk.xensource.com> [not found] ` <54C741CC.8040604@gmail.com> 2015-01-27 10:24 ` Stefano Stabellini 2015-01-27 10:55 ` Ian Campbell 2015-01-23 10:34 ` Ian Campbell 2015-01-23 10:48 ` Mao Mingy 2015-01-23 10:56 ` Ian Campbell 2015-01-23 13:13 ` Mao Mingya 2015-01-23 13:16 ` Ian Campbell 2015-01-26 6:06 ` Mao Mingy 2015-01-26 10:55 ` Stefano Stabellini 2015-01-23 10:33 ` Stefano Stabellini
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.