[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1619064548.20130710094134@eikelenboom.it>
Date: Wed, 10 Jul 2013 09:41:34 +0200
From: Sander Eikelenboom <linux@...elenboom.it>
To: Matt Wilson <msw@...zon.com>
CC: Borislav Petkov <bp@...en8.de>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
<jeremy@...p.org>, <xen-devel@...ts.xensource.com>,
Jan Beulich <JBeulich@...e.com>,
Michael Opdenacker <michael.opdenacker@...e-electrons.com>,
<x86@...nel.org>, Paul Bolle <pebolle@...cali.nl>,
<virtualization@...ts.linux-foundation.org>, <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, <tglx@...utronix.de>,
<linux-kernel@...r.kernel.org>
Subject: 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists