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

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

From: Matt Wilson <hidden>
Date: 2013-07-10 06:19:58
Also in: lkml, xen-devel

On Wed, Jul 10, 2013 at 12:34:58AM +0200, Sander Eikelenboom wrote:
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.
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

--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