From a23bbfda75118eb738acce84afd64965934828f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Tue, 28 May 2013 13:52:01 +0200 Subject: cpu: Turn cpu_get_memory_mapping() into a CPUState hook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change error reporting from return value to Error argument. Reviewed-by: Jens Freimann Reviewed-by: Luiz Capitulino [AF: Fixed cpu_get_memory_mapping() documentation] Signed-off-by: Andreas Färber --- qom/cpu.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'qom') diff --git a/qom/cpu.c b/qom/cpu.c index 9f6da0fdd8..b25fbc9f5a 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -62,6 +62,21 @@ static bool cpu_common_get_paging_enabled(const CPUState *cpu) return true; } +void cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list, + Error **errp) +{ + CPUClass *cc = CPU_GET_CLASS(cpu); + + return cc->get_memory_mapping(cpu, list, errp); +} + +static void cpu_common_get_memory_mapping(CPUState *cpu, + MemoryMappingList *list, + Error **errp) +{ + error_setg(errp, "Obtaining memory mappings is unsupported on this CPU."); +} + /* CPU hot-plug notifiers */ static NotifierList cpu_added_notifiers = NOTIFIER_LIST_INITIALIZER(cpu_add_notifiers); @@ -189,6 +204,7 @@ static void cpu_class_init(ObjectClass *klass, void *data) k->reset = cpu_common_reset; k->get_arch_id = cpu_common_get_arch_id; k->get_paging_enabled = cpu_common_get_paging_enabled; + k->get_memory_mapping = cpu_common_get_memory_mapping; k->write_elf32_qemunote = cpu_common_write_elf32_qemunote; k->write_elf32_note = cpu_common_write_elf32_note; k->write_elf64_qemunote = cpu_common_write_elf64_qemunote; -- cgit v1.2.3