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

Re: [Xen-devel] [PATCH] xen: remove unused Kconfig parameter



Wednesday, July 10, 2013, 8:19:34 AM, you wrote:

> On Wed, Jul 10, 2013 at 12:34:58AM +0200, Sander Eikelenboom wrote:
>> 
>> Tuesday, July 9, 2013, 5:05:54 PM, you wrote:
>> 
>> > On Tue, Jul 09, 2013 at 10:48:40AM -0400, Konrad Rzeszutek Wilk wrote:
>> >> Then that should be discussed on grub2 to remove said check and modify
>> >> the code so that it can properly work without regression.
>> 
>> > Actually, the kernel patch removing that symbol should be applied so
>> > that grub2 breaks faster. One can't possibly rely on kernel internals
>> > for anything, as it is insanely insane (yep, the tautology is on purpose
>> > :-)).
>>
>> How insanely insane is it to be able to determine whether a certain
>> compiled kernel binary supports a certain function ?
>> 
>> Grub does this in it's update script to prevent adding a xen +
>> kernel combination that has no chance of booting when dom0 support
>> has not been configured in the kernel.  That doesn't seem to be a
>> unreasonable thought.
>> 
>> Grepping the accompanied config file in /boot for the xen dom0
>> Kconfig parameter seems the best possible effort grub can do at the
>> moment.

> I think this can be improved, even with the situation today.

>> Especially since the Kconfig parameter naming doesn't change that
>> often.
>> 
>> If you know a better way for grub to determine if a certain function
>> for a kernel binary is supported then please elaborate ..

> Certainly. Parse the ELF notes that are present in a dom0-capable
> Linux kernel binary itself.

> $ readelf -n vmlinux

> Notes at offset 0x0069be88 with length 0x0000017c:
>   Owner         Data size       Description
>   Xen           0x00000006      Unknown note type: (0x00000006)
>   Xen           0x00000004      Unknown note type: (0x00000007)
>   Xen           0x00000008      Unknown note type: (0x00000005)
>   Xen           0x00000008      Unknown note type: (0x00000003)
>   Xen           0x00000008      NT_VERSION (version)
>   Xen           0x00000008      NT_ARCH (architecture)
>   Xen           0x0000002a      Unknown note type: (0x0000000a)
>   Xen           0x00000004      Unknown note type: (0x00000009)
>   Xen           0x00000008      Unknown note type: (0x00000008)
>   Xen           0x00000010      Unknown note type: (0x0000000d)
>   Xen           0x00000004      Unknown note type: (0x0000000e)
>   Xen           0x00000008      Unknown note type: (0x0000000c)
>   Xen           0x00000008      Unknown note type: (0x00000004)
>   GNU           0x00000014      NT_GNU_BUILD_ID (unique build ID bitstring)

> See arch/x86/xen/xen-head.S.

> There's a new note type (XEN_ELFNOTE_SUPPORTED_FEATURES) that we can
> use to make dom0 support explicit.

> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/x86/domain_build.c;hb=HEAD#l415

Seems like a better option, although completely dropping the check could be a 
option too.
Since dom0 support is in mainline distributions (at least Debian, haven't 
checked the other main yet) don't supply a seperate xen enabled kernel anymore,
so any distro supplied kernel has xen support. For the self-building case 
Borislav is probably right in that you have to watchout yourself.

So it would be nice to have at least some time to address this with upstream 
grub and the main distributions to patch their grub.

--
Sander


> --msw



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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