[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] s390: dump-guest-memory implementation for s390x
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [RFC] s390: dump-guest-memory implementation for s390x arch. |
Date: |
Thu, 7 Mar 2013 12:40:54 +0100 |
On 07.03.2013, at 12:30, Christian Borntraeger wrote:
>>>>> diff --git a/target-s390x/arch_memory_mapping.c
>>>>> b/target-s390x/arch_memory_mapping.c
>>>>> new file mode 100644
>>>>> index 0000000..3dad3b9
>>>>> --- /dev/null
>>>>> +++ b/target-s390x/arch_memory_mapping.c
>>>>> @@ -0,0 +1,26 @@
>>>>> +/*
>>>>> + * s390x memory mapping
>>>>> + *
>>>>> + * Copyright IBM Corp. 2012
>>>>> + *
>>>>> + * Authors:
>>>>> + * Ekaterina Tumanova <address@hidden>
>>>>> + *
>>>>> + * This work is licensed under the terms of the GNU GPL, version 2 or
>>>>> later.
>>>>> + * See the COPYING file in the top-level directory.
>>>>> + *
>>>>> + */
>>>>> +
>>>>> +#include "cpu.h"
>>>>> +#include "exec/cpu-all.h"
>>>>> +#include "sysemu/memory_mapping.h"
>>>>> +
>>>>> +int cpu_get_memory_mapping(MemoryMappingList *list, CPUArchState *env)
>>>>> +{
>>>>> + return 0;
>>>>> +}
>>>>> +
>>>>> +bool cpu_paging_enabled(CPUArchState *env)
>>>>> +{
>>>>> + return false;
>>>>
>>>> Why? :)
>>>
>>> To make things compile :-)
>>> Why no paging? The idea was to have some code that allows getting an ELF
>>> dump of a Linux kernel.
>>> All existing tooling for s390 expects real memory dumps.
>>>
>>> Actually having CONFIG_HAVE_GET_MEMORY_MAPPING=n would be a sane thing
>>> todo, but IIRC the common
>>> code in dump.c references some functions that are only available with
>>> CONFIG_HAVE_GET_MEMORY_MAPPING=y.
>>>
>>> /home/cborntra/REPOS/qemu/dump.c:84: undefined reference to
>>> `memory_mapping_list_free'
>>> dump.o: In function `dump_init':
>>> /home/cborntra/REPOS/qemu/dump.c:753: undefined reference to
>>> `memory_mapping_list_init'
>>> /home/cborntra/REPOS/qemu/dump.c:757: undefined reference to
>>> `qemu_get_guest_simple_memory_mapping'
>>> /home/cborntra/REPOS/qemu/dump.c:761: undefined reference to
>>> `memory_mapping_filter'
>>
>> It might be better to just fix those places and not claim that you can fetch
>> memory mappings then. QEMU has all the knowledge of s390 virtual memory you
>> would need to implement it. I can see how you wouldn't need it for core
>> dumps of the kernel, but it's confusing to claim dump support for VM and
>> then say you don't.
>>
>>
>> Alex
>
> So you suggest to implementing stubs for those 4 functions in
> memory_mapping-stub.c and see if dumping
> of a kernel still works with CONFIG_HAVE_GET_MEMORY_MAPPING=n, right?
Anything that gets you rolling without CONFIG_HAVE_GET_MEMORY_MAPPING :)
Alex