Thread (3 messages) 3 messages, 3 authors, 2013-07-10

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

From: Sander Eikelenboom <hidden>
Date: 2013-07-10 07:41:54
Also in: lkml, xen-devel

Wednesday, July 10, 2013, 8:19:34 AM, you wrote:
On Wed, Jul 10, 2013 at 12:34:58AM +0200, Sander Eikelenboom wrote:
quoted
Tuesday, July 9, 2013, 5:05:54 PM, you wrote:
quoted
On Tue, Jul 09, 2013 at 10:48:40AM -0400, Konrad Rzeszutek Wilk wrote:
quoted
Then that should be discussed on grub2 to remove said check and modify
the code so that it can properly work without regression.
quoted
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.
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help