On 2022/09/14 19:13, Chetan Kankotiya wrote:
> Replace hardcoded values of PAGE_OFFSET, XKPHS start and end address,
> and _MAX_PHYSMEM_BITS with macros that may differ based on kernel-defined
> values for different MIPS SoCs. We can override these macros to align
> with kernel values at compile time.
> 
> Signed-off-by: Chetan Kankotiya <[email protected]>

Thanks, applied.
https://github.com/makedumpfile/makedumpfile/commit/36cdfd91d7870649c186457c5051f5c435ab199e

Kazu

> ---
>   arch/mips64.c  |  4 ++--
>   makedumpfile.h | 17 +++++++++++++++++
>   2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/mips64.c b/arch/mips64.c
> index d541c3e..ab45b6e 100644
> --- a/arch/mips64.c
> +++ b/arch/mips64.c
> @@ -52,7 +52,7 @@ get_machdep_info_mips64(void)
>   int
>   get_versiondep_info_mips64(void)
>   {
> -     info->page_offset  = 0x9800000000000000ULL;
> +     info->page_offset  = _PAGE_OFFSET;
>   
>       DEBUG_MSG("page_offset : %lx\n", info->page_offset);
>   
> @@ -79,7 +79,7 @@ vaddr_to_paddr_mips64(unsigned long vaddr)
>       /*
>        * XKPHYS
>        */
> -     if (vaddr >= 0x9000000000000000ULL && vaddr < 0xc000000000000000ULL)
> +     if (vaddr >= _XKPHYS_START_ADDR && vaddr < _XKPHYS_END_ADDR)
>               return vaddr & ((1ULL << MAX_PHYSMEM_BITS()) - 1);
>   
>       if (SYMBOL(swapper_pg_dir) == NOT_FOUND_SYMBOL) {
> diff --git a/makedumpfile.h b/makedumpfile.h
> index 2084ed5..49b9242 100644
> --- a/makedumpfile.h
> +++ b/makedumpfile.h
> @@ -965,8 +965,25 @@ typedef unsigned long pgd_t;
>   
>   #ifdef __mips64__ /* mips64 */
>   #define KVBASE                      PAGE_OFFSET
> +
> +#ifndef _XKPHYS_START_ADDR
> +#define _XKPHYS_START_ADDR   0x9000000000000000ULL /* 
> _LOONGSON_XKPHYS_START_ADDR */
> +#endif
> +
> +#ifndef _XKPHYS_END_ADDR
> +#define _XKPHYS_END_ADDR     0xc000000000000000ULL /* 
> _LOONGSON_XKPHYS_END_ADDR */
> +#endif
> +
> +#ifndef _PAGE_OFFSET
> +#define _PAGE_OFFSET         0x9800000000000000ULL
> +#endif
> +
>   #define _SECTION_SIZE_BITS  (28)
> +
> +#ifndef _MAX_PHYSMEM_BITS
>   #define _MAX_PHYSMEM_BITS   (48)
> +#endif
> +
>   #define _PAGE_PRESENT               (1 << 0)
>   #define _PAGE_HUGE          (1 << 4)
>   
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to