[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] HVM direct boot broken in xen-unstable
On Mon, Jul 21, 2008 at 04:46:17PM +0100, Ian Jackson wrote: > Daniel P. Berrange writes ("Re: [Xen-devel] HVM direct boot broken in > xen-unstable"): > > On Sat, Jul 19, 2008 at 12:52:07AM +0000, Byrne, John (HP Labs) wrote: > > > Hi! > > > > > > On x86_64, changeset 18081, running/building on rhel5, trying to use > > > the HVM direct boot causes the domain to reboot immediately and then > > > the log says the domain is restarting too rapidly. No obvious hints > > > as to where the problem is. If I build the in-tree ioemu code, things > > > work. Any clues as to where to look or how to get some useful debugging > > > output? > > Byrne, could you send me a copy of your config file so I can reproduce > this ? Also, some idea of how you made (or how you obtained) the > kernel image and initramfs. I don't think I've ever done a direct > kernel boot using this code (which is in patches supplied by Daniel) > and offhand I can't seem to find the documentation. > > > It appears the code is missing from the external ioemu code. The original > > changesets for HVM kernel boot were > > I've looked at the code and these changes are ones I did attempt to > port across to the new qemu. You'll see for example that the `evil > helper' is still there, just slightly further down the file in pc.c. > > I haven't ever executed the resulting codepaths and evidently I broke > something, which is not all that surprising. I think I've identified the problem. In the load_linux() method, the line where we copy the header into guest memory: /* store the finalized header and load the rest of the kernel */ cpu_physical_memory_write(real_addr, header, 1024); Is done before the Xen hook runs: xen_relocator_hook(prot_addr, protocol, header, kernel_size, real_addr, setup_size-1024); The xen_relocator_hook modifies byte 0x214 in the header to point to its hook, and so this change isn't getting written into memory. The cpu_physical_memory_write(real_addr, header, 1024) call just needs to be moved down to be immediately after the call to the xen hook. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |