[PATCH] makedumpfile: s390x: Allow large page and change override bits
Atsushi Kumagai
kumagai-atsushi at mxc.nes.nec.co.jp
Fri Mar 1 05:53:45 EST 2013
Hello Michael,
On Thu, 28 Feb 2013 16:31:32 +0100
Michael Holzheu <holzheu at linux.vnet.ibm.com> wrote:
> Currently makedumpfile fails if large page or change override bits
> are set for region or segment table entries:
>
> Excluding free pages : [ 0 %]
> _kl_rsg_table_deref_s390x: Bad region/segment table entry.
> readmem: Can't convert a virtual address(3d1015fc028) to physical address.
> readmem: type_addr: 0, addr:3d1015fc028, size:8
> reset_bitmap_of_free_pages: Can't get prev list_head.
> _kl_rsg_table_deref_s390x: Bad region/segment table entry.
> readmem: Can't convert a virtual address(3d1015fc028) to physical address.
> readmem: type_addr: 0, addr:3d1015fc028, size:8
> reset_bitmap_of_free_pages: Can't get prev list_head.
> makedumpfile Failed.
>
> Large page support is already implemented for the makedumpfile page table
> walk. Only the check is invalid. To fix this we now allow the bits in
> rsg_table_entry_bad().
Thanks, I'll merge this patch into v1.5.4.
Atsushi Kumagai
> Signed-off-by: Michael Holzheu <holzheu at linux.vnet.ibm.com>
> ---
> arch/s390x.c | 4 +++-
> makedumpfile.h | 1 +
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> --- a/arch/s390x.c
> +++ b/arch/s390x.c
> @@ -133,7 +133,9 @@ rsg_table_entry_bad(unsigned long entry,
> {
> unsigned long mask = ~_REGION_ENTRY_INVALID
> & ~_REGION_ENTRY_TYPE_MASK
> - & ~_REGION_ENTRY_LENGTH;
> + & ~_REGION_ENTRY_LENGTH
> + & ~_SEGMENT_ENTRY_LARGE
> + & ~_SEGMENT_ENTRY_CO;
>
> if (level)
> mask &= ~_REGION_ENTRY_ORIGIN;
> --- a/makedumpfile.h
> +++ b/makedumpfile.h
> @@ -617,6 +617,7 @@ do { \
> /* Bits in the segment table entry */
> #define _SEGMENT_ENTRY_ORIGIN ~0x7ffUL
> #define _SEGMENT_ENTRY_LARGE 0x400
> +#define _SEGMENT_ENTRY_CO 0x100
> #define _SEGMENT_PAGE_SHIFT 31
> #define _SEGMENT_INDEX_SHIFT 20
>
>
>
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
More information about the kexec
mailing list