[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Use strstr() to look for "bimodal" string in ELF notes, to allow guests to use
# HG changeset patch # User john.levon@xxxxxxx # Date 1168289681 28800 # Node ID 204a4a040a42c3e043f5420a67f96de42c24c927 # Parent 558960865583da8aaafdc65f400acbefc6c240c9 Use strstr() to look for "bimodal" string in ELF notes, to allow guests to use "yes,bimodal", so they are correctly identified as PAE on older hypervisors. Signed-off-by: John Levon <john.levon@xxxxxxx> --- tools/libxc/xc_load_elf.c | 14 ++++++++------ xen/common/elf.c | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff -r 558960865583 -r 204a4a040a42 tools/libxc/xc_load_elf.c --- a/tools/libxc/xc_load_elf.c Thu Jan 11 10:10:16 2007 +0000 +++ b/tools/libxc/xc_load_elf.c Mon Jan 08 12:54:41 2007 -0800 @@ -406,17 +406,19 @@ static int parseelfimage(const char *ima } /* - * A "bimodal" ELF note indicates the kernel will adjust to the - * current paging mode, including handling extended cr3 syntax. - * If we have ELF notes then PAE=yes implies that we must support - * the extended cr3 syntax. Otherwise we need to find the - * [extended-cr3] syntax in the __xen_guest string. + * A "bimodal" ELF note indicates the kernel will adjust to the current + * paging mode, including handling extended cr3 syntax. If we have ELF + * notes then PAE=yes implies that we must support the extended cr3 syntax. + * Otherwise we need to find the [extended-cr3] syntax in the __xen_guest + * string. We use strstr() to look for "bimodal" to allow guests to use + * "yes,bimodal" or "no,bimodal" for compatibility reasons. */ + dsi->pae_kernel = PAEKERN_no; if ( dsi->__elfnote_section ) { p = xen_elfnote_string(dsi, XEN_ELFNOTE_PAE_MODE); - if ( p != NULL && strncmp(p, "bimodal", 7) == 0 ) + if ( p != NULL && strstr(p, "bimodal") != NULL ) dsi->pae_kernel = PAEKERN_bimodal; else if ( p != NULL && strncmp(p, "yes", 3) == 0 ) dsi->pae_kernel = PAEKERN_extended_cr3; diff -r 558960865583 -r 204a4a040a42 xen/common/elf.c --- a/xen/common/elf.c Thu Jan 11 10:10:16 2007 +0000 +++ b/xen/common/elf.c Mon Jan 08 12:54:41 2007 -0800 @@ -300,7 +300,7 @@ int parseelfimage(struct domain_setup_in if ( dsi->__elfnote_section ) { p = xen_elfnote_string(dsi, XEN_ELFNOTE_PAE_MODE); - if ( p != NULL && strncmp(p, "bimodal", 7) == 0 ) + if ( p != NULL && strstr(p, "bimodal") != NULL ) dsi->pae_kernel = PAEKERN_bimodal; else if ( p != NULL && strncmp(p, "yes", 3) == 0 ) dsi->pae_kernel = PAEKERN_extended_cr3; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |