[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/40] elf: add header notification
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 03/40] elf: add header notification |
Date: |
Mon, 1 Nov 2010 16:01:16 +0100 |
---
hw/elf_ops.h | 2 ++
hw/loader.c | 7 +++++++
hw/loader.h | 2 ++
3 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/hw/elf_ops.h b/hw/elf_ops.h
index 645d058..5bcba7e 100644
--- a/hw/elf_ops.h
+++ b/hw/elf_ops.h
@@ -247,6 +247,8 @@ static int glue(load_elf, SZ)(const char *name, int fd,
glue(bswap_ehdr, SZ)(&ehdr);
}
+ handlers->header_notify_fn(handlers->header_notify_opaque, &ehdr, SZ);
+
switch (elf_machine) {
case EM_PPC64:
if (EM_PPC64 != ehdr.e_machine)
diff --git a/hw/loader.c b/hw/loader.c
index cb430e0..6a43fda 100644
--- a/hw/loader.c
+++ b/hw/loader.c
@@ -239,11 +239,18 @@ static uint64_t elf_default_translate(void *opaque,
uint64_t addr)
return addr;
}
+static void elf_default_header_notify(void *opaque, void *ehdr, int bits)
+{
+ return;
+}
+
ElfHandlers elf_default_handlers = {
.translate_fn = elf_default_translate,
.translate_opaque = NULL,
.note_fn = elf_default_note,
.note_opaque = NULL,
+ .header_notify_fn = elf_default_header_notify,
+ .header_notify_opaque = NULL,
};
diff --git a/hw/loader.h b/hw/loader.h
index 29d5c71..090b815 100644
--- a/hw/loader.h
+++ b/hw/loader.h
@@ -12,6 +12,8 @@ typedef struct ElfHandlers {
void (*note_fn)(void *opaque, uint8_t *name, uint32_t name_len,
uint8_t *desc, uint32_t desc_len, uint32_t type);
void *note_opaque;
+ void (*header_notify_fn)(void *opaque, void *ehdr, int bits);
+ void *header_notify_opaque;
} ElfHandlers;
extern ElfHandlers elf_default_handlers;
--
1.6.0.2
- [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, (continued)
- [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Alexander Graf, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Anthony Liguori, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Alexander Graf, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Anthony Liguori, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Blue Swirl, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Anthony Liguori, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Alexander Graf, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Blue Swirl, 2010/11/01
- Re: [Qemu-devel] [PATCH 08/40] xenner: kernel: 64-bit files, Anthony Liguori, 2010/11/01
[Qemu-devel] [PATCH 09/40] xenner: kernel: Global data, Alexander Graf, 2010/11/01
[Qemu-devel] [PATCH 03/40] elf: add header notification,
Alexander Graf <=
[Qemu-devel] [PATCH 33/40] xenner: core, Alexander Graf, 2010/11/01
[Qemu-devel] [PATCH 35/40] xenner: Domain Builder, Alexander Graf, 2010/11/01
[Qemu-devel] [PATCH 19/40] xenner: kernel: Makefile, Alexander Graf, 2010/11/01
[Qemu-devel] [PATCH 14/40] xenner: kernel: Instruction emulator, Alexander Graf, 2010/11/01