[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Not Xen] Facing issues running guest OS on custom Hypervisor
On 20/03/18 20:24, Brijen Raval wrote: Hello Julien, Hello, As requested I am moving the conversation to email from IRC To summarize my setup:1. I am running a custom kernel on QEMU ARM64(without KVM) on my linux machine2. I have my custom implementation of Hypervisor3. I am trying to run the same custom kernel as guest OS on top of my Hypervisor- I am able to boot my kernel to shell on QEMU - I am able to start my guest OS- From the logs I see that my guest OS finishes booting up, I can see the $sign for the shell and then it goes into idle state, but I cannot use the shellTo debug further I enabled tracing in QEMU and printed the exceptions to understand what state is my guest inBefore I paste some logs here, some more information about my system IRQ 30 is the physical timer interrupt of my host OS running on QEMU IRQ 27 is the virtual timer interrupt of my guest OSI have added some extra logging in QEMU to print out the VTTBR so as to understand where the exception is coming fromFrom 1st Attachment (GIC 1) I observe that every once in a while the phys timer interrupt occurs (IRQ 30) and its handled by the host VM, and then after about 10-20 times the virtirq 27 level changes to 1 and back to 0 again and again..this is how its looping currently after boot upAdding a 2nd attachment with extra logging of traps of exceptions as well. It just shows 2 different IRQ exceptions taken, one with VTTBR = 0 (IRQ30) and other with a VTTBR value of the guest (IRQ 27, since the irq 27 level is changed to 1 just before it..Any idea what am I missing, and why my guest OS is not handling the pending interrupt.Upon receiving the IRQ 27, I do set the HCR_EL2.VI <http://HCR_EL2.VI> bit to 1 to signal the guest about a pending virual interrupt but I dont think thats working. HCR_EL2.VI should not be necessary is you are using the GIC HW virtualization extension. Can you confirm you are using it? If so, I would recommend to look at the content of the LRs and checking you effectively have IRQ 27 pending in it. Another thing I noticed that the qemu logging, never shows anything for the virt_interrupt. What do you mean by "virt_interrupt"? is it a message QEMU is supposed to print when injecting interrupt to the guest? Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |