[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] merge
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxxxxx> # Date 1172590837 0 # Node ID e506c3fd03c9f2e9e264c89b6c58517d6f867a47 # Parent a9d246105752a52f43ef9573c34745abdc918a5b # Parent 2cc8c117b7b853d14335bba7af2708bdddacca0c merge --- tools/xcutils/readnotes.c | 27 ++++++++++++++++++++++++++- 1 files changed, 26 insertions(+), 1 deletion(-) diff -r a9d246105752 -r e506c3fd03c9 tools/xcutils/readnotes.c --- a/tools/xcutils/readnotes.c Tue Feb 27 15:34:55 2007 +0000 +++ b/tools/xcutils/readnotes.c Tue Feb 27 15:40:37 2007 +0000 @@ -31,6 +31,28 @@ static void print_numeric_note(const cha prefix, 2+2*descsz, value, descsz); } +static void print_l1_mfn_valid_note(const char *prefix, struct elf_binary *elf, + const elf_note *note) +{ + int descsz = elf_uval(elf, note, descsz); + const uint32_t *desc32 = elf_note_desc(elf, note); + const uint64_t *desc64 = elf_note_desc(elf, note); + + /* XXX should be able to cope with a list of values. */ + switch ( descsz / 2 ) + { + case 8: + printf("%s: mask=%#"PRIx64" value=%#"PRIx64"\n", prefix, + desc64[0], desc64[1]); + break; + case 4: + printf("%s: mask=%#"PRIx32" value=%#"PRIx32"\n", prefix, + desc32[0],desc32[1]); + break; + } + +} + static int print_notes(struct elf_binary *elf, const elf_note *start, const elf_note *end) { const elf_note *note; @@ -79,7 +101,10 @@ static int print_notes(struct elf_binary print_string_note("FEATURES", elf , note); break; case XEN_ELFNOTE_HV_START_LOW: - print_numeric_note("HV_START_LOW", elf, note); + print_numeric_note("HV_START_LOW", elf , note); + break; + case XEN_ELFNOTE_L1_MFN_VALID: + print_l1_mfn_valid_note("L1_MFN_VALID", elf , note); break; default: printf("unknown note type %#x\n", _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |