On 01/14/2014 04:20 PM, Roger Pau Monné wrote:
> On 14/01/14 17:14, Julien Grall wrote:
>> On 01/14/2014 04:08 PM, Roger Pau Monné wrote:
>>> On 14/01/14 16:41, Julien Grall wrote:
>>>> On 01/14/2014 02:59 PM, Roger Pau Monne wrote:
>>>>> +static int
>>>>> +xenpv_attach(device_t dev)
>>>>> +{
>>>>> + device_t child;
>>>>> +
>>>>> + if (xen_hvm_domain()) {
>>>>> +         device_t xenpci;
>>>>> +         devclass_t dc;
>>>>> +
>>>>> +         /* Make sure xenpci has been attached */
>>>>> +         dc = devclass_find("xenpci");
>>>>> +         if (dc == NULL)
>>>>> +                 panic("unable to find xenpci devclass");
>>>>> +
>>>>> +         xenpci = devclass_get_device(dc, 0);
>>>>> +         if (xenpci == NULL)
>>>>> +                 panic("unable to find xenpci device");
>>>>> +
>>>>> +         if (!device_is_attached(xenpci))
>>>>> +                 panic("trying to attach xenpv before xenpci");
>>>>> + }
>>>>
>>>> Can you use the identify method to add the xenpci device?
>>>
>>> I don't think so, xenpci is a pci device, it is detected and plugged by
>>> the pci bus code.
>>
>> Oups, I though you are trying to add the device. In this case, the check
>> seems pointless. In which case the xenpci couldn't exist?
> 
> It's just a "belt and suspenders", if we attach the xenpv bus without
> xenpci being attached first a bunch of things are going to fail, I
> though it might be best to print a clear error message about what went
> wrong in order to help debug it.

I only see one place which could failed, and we are already protected.
It's when we are trying to allocate space from grant-table via
xenpci_alloc_space.

I think this error should be enough to understand the problem. At the
same time, it's the same things with xenstore. If grant-table
initialization has failed, an error message is just printed and FreeBSD
will likely failed later when it will try to initialized the PV disk.

-- 
Julien Grall
_______________________________________________
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

Reply via email to