[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC v1 09/13] elfnotes: intorduce a new PHYS_ENTRY elfnote
This new elfnote contains the 32bit entry point into the kernel. Xen will use this entry point in order to launch the guest kernel in 32bit protected mode with paging disabled. Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Elena Ufimtseva <elena.ufimtseva@xxxxxxxxxx> --- tools/xcutils/readnotes.c | 3 +++ xen/common/libelf/libelf-dominfo.c | 4 ++++ xen/include/public/elfnote.h | 11 ++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/xcutils/readnotes.c b/tools/xcutils/readnotes.c index 5fa445e..863ea5f 100644 --- a/tools/xcutils/readnotes.c +++ b/tools/xcutils/readnotes.c @@ -159,6 +159,9 @@ static unsigned print_notes(struct elf_binary *elf, ELF_HANDLE_DECL(elf_note) st case XEN_ELFNOTE_L1_MFN_VALID: print_l1_mfn_valid_note("L1_MFN_VALID", elf , note); break; + case XEN_ELFNOTE_PHYS_ENTRY: + print_numeric_note("PHYS_ENTRY", elf , note); + break; default: printf("unknown note type %#x\n", (unsigned)elf_uval(elf, note, type)); diff --git a/xen/common/libelf/libelf-dominfo.c b/xen/common/libelf/libelf-dominfo.c index 0771323..ca0e327 100644 --- a/xen/common/libelf/libelf-dominfo.c +++ b/xen/common/libelf/libelf-dominfo.c @@ -120,6 +120,7 @@ elf_errorstatus elf_xen_parse_note(struct elf_binary *elf, [XEN_ELFNOTE_BSD_SYMTAB] = { "BSD_SYMTAB", 1}, [XEN_ELFNOTE_SUSPEND_CANCEL] = { "SUSPEND_CANCEL", 0 }, [XEN_ELFNOTE_MOD_START_PFN] = { "MOD_START_PFN", 0 }, + [XEN_ELFNOTE_PHYS_ENTRY] = { "PHYS_ENTRY", 0 }, }; /* *INDENT-ON* */ @@ -213,6 +214,9 @@ elf_errorstatus elf_xen_parse_note(struct elf_binary *elf, elf, note, sizeof(*parms->f_supported), i); break; + case XEN_ELFNOTE_PHYS_ENTRY: + parms->phys_entry = val; + break; } return 0; } diff --git a/xen/include/public/elfnote.h b/xen/include/public/elfnote.h index 3824a94..b5232cd 100644 --- a/xen/include/public/elfnote.h +++ b/xen/include/public/elfnote.h @@ -200,9 +200,18 @@ #define XEN_ELFNOTE_SUPPORTED_FEATURES 17 /* + * Physical entry point into the kernel. + * + * 32bit entry point into the kernel. Xen will use this entry point + * in order to launch the guest kernel in 32bit protected mode + * with paging disabled. + */ +#define XEN_ELFNOTE_PHYS_ENTRY 18 + +/* * The number of the highest elfnote defined. */ -#define XEN_ELFNOTE_MAX XEN_ELFNOTE_SUPPORTED_FEATURES +#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS_ENTRY /* * System information exported through crash notes. -- 1.9.5 (Apple Git-50.3) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |