Re: [Xen-devel] VMX device models not getting created anymore?
Arun Sharma wrote:
Mike Wray wrote:
However, if I subtract -1, everything magically works :)
Having to add or subtract 1 to make something work is almost always
not the right way to fix a problem - because it dosen't address
the real issue.
You probably missed the smiley :)
I think the quick fix is to redefine IOPACKET_PORT to be 3. Will send
a patch to remove the hard coding ASAP.
That's not the fix. That just replaces one hard-coded constant with
it shouldn't be hard-coded at all. It's going to break again if any
port is allocated.
The port to use should be passed to the domain as a parameter.
This is what is done with the domain controller port,
and the xenstore port.
Yes of course, I promised to send a patch as well. The quick fix was for
those who couldn't wait.
The correct fix is to add the device model port as a parameter to
xc_vmx_build. In fact this already has control_evtchn as a parameter,
but ignores it - so you could use that. You could probably re-use
the start_info field for it too as vmx domains don't seem to be using
the control channel otherwise:
The problem is that:
The event channel hasn't been created at the time of xc_vmx_build().
All the other build fns need the channel, so it is created before the domain
"""Construct the boot image for the domain.
From the linux build image:
control_evtchn = self.vm.channel.getRemotePort()
d = xc.linux_build(dom = self.vm.getDomain(),
image = self.kernel,
control_evtchn = control_evtchn,
store_evtchn = store_evtchn,
cmdline = self.cmdline,
ramdisk = self.ramdisk,
flags = self.flags,
vcpus = self.vm.vcpus)
Xen-devel mailing list