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 --msw _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization