[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [patch 2/5] libelf: use for x86 dom0 builder.



Emmanuel Ackaouy wrote:
>>>> +#obj-y += elf.o
>>>> +#obj-$(CONFIG_COMPAT) += elf32.o
>>>
>>> Can we just zap those lines?
>>
>> Once ia64 is tested and ppc dom0 builder is ported over to libelf we can.
> 
> Can you explain what ia64 or ppc have to do with lines that are commented
> out?

ia64 should work in theory, cross-compiling worked last time I tried,
didn't boot it though due to lack of hardware.

ppc(64) needs adaptions, simliar to the changes in
xen/arch/x86/domain_build.c and xen/arch/ia64/xen/domain.c

>>>> +    /* compatibility check */
>>>> +    compatible = 0;
>>>> +    compat32   = 0;
>>>> +    machine = elf_uval(&elf, elf.ehdr, e_machine);
>>>> +    switch (CONFIG_PAGING_LEVELS) {
>>>
>>> Can we make this a compile time check instead of run-time?
>>
>> CONFIG_PAGING_LEVELS is a constant, thus it actually is compile-time,
>> the gcc optimizer should throw away the unused code paths.  I prefer
>> this way over cluttering the source with #ifdefs.
> 
> I'm not sure I follow. Are you suggesting we replace ifdefs with run
> time checks because the compiler will deal with it?

Yes.

CONFIG_COMPAT is partly handled that way too:  with compat=n the
IS_COMPAT() macro is defined to 0, and gcc will optimize out the
conditional code which can run with compat=y only.

>>> Also, it
>>> would seem easier to do all the checks first and then do a printk
>>> specifying which kernel we found and, if it's not compatible with the
>>> hypervisor, why not.
>>
>> I intentionally print kernel and xen type unconditionally.  I think it
>> is useful to have that information in the log, even if the combination
>> is not incompatible.
> 
> I didn't suggest printing nothing when the combination is compatible.

I don't see the point in rearranging the code then.

cheers,
  Gerd

-- 
Gerd Hoffmann <kraxel@xxxxxxx>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.