-----Original Message-----
 Add mips64_dump_machdep_table() implementation, display
machdep_table.
 
 Signed-off-by: Huacai Chen <chenhuacai(a)loongson.cn>
 Signed-off-by: Youling Tang <tangyouling(a)loongson.cn>
 ---
  mips64.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 61 insertions(+)
 
 diff --git a/mips64.c b/mips64.c
 index d8a5a0a..843983a 100644
 --- a/mips64.c
 +++ b/mips64.c
 @@ -1127,9 +1127,70 @@ mips64_is_task_addr(ulong task)
  	return (IS_KVADDR(task) && ALIGNED_STACK_OFFSET(task) == 0);
  }
 
 +/*
 + * "help -m/M" command output
 + */
  void
  mips64_dump_machdep_table(ulong arg)
  {
 +	int others = 0;
 +
 +	fprintf(fp, "              flags: %lx (", machdep->flags);
 +	if (machdep->flags & KSYMS_START)
 +		fprintf(fp, "%sKSYMS_START", others++ ? "|" : "");
 +	fprintf(fp, ")\n");
 +
 +	fprintf(fp, "             kvbase: %lx\n", machdep->kvbase);
 +	fprintf(fp, "  identity_map_base: %lx\n", machdep->identity_map_base);
 +	fprintf(fp, "           pagesize: %d\n", machdep->pagesize);
 +	fprintf(fp, "          pageshift: %d\n", machdep->pageshift);
 +	fprintf(fp, "           pagemask: %llx\n", machdep->pagemask);
 +	fprintf(fp, "         pageoffset: %lx\n", machdep->pageoffset);
 +	fprintf(fp, "        pgdir_shift: %d\n", PGDIR_SHIFT);
 +	fprintf(fp, "       ptrs_per_pgd: %lu\n", PTRS_PER_PGD);
 +	fprintf(fp, "       ptrs_per_pte: %ld\n", PTRS_PER_PTE);
 +	fprintf(fp, "          stacksize: %ld\n", machdep->stacksize);
 +	fprintf(fp, "                 hz: %d\n", machdep->hz);
 +	fprintf(fp, "            memsize: %ld (0x%lx)\n",
 +		machdep->memsize, machdep->memsize);
 +	fprintf(fp, "               bits: %d\n", machdep->bits); 
 +	fprintf(fp, "            nr_irqs: %d\n",
machdep->nr_irqs); 
Is this set?
 +	fprintf(fp, "      eframe_search:
mips64_eframe_search()\n"); 
This is not found.
 +	fprintf(fp, "         back_trace:
mips64_back_trace_cmd()\n");
 +	fprintf(fp, "    processor_speed: mips64_processor_speed()\n");
 +	fprintf(fp, "              uvtop: mips64_uvtop()\n");
 +	fprintf(fp, "              kvtop: mips64_kvtop()\n"); 
 +	fprintf(fp, "       get_task_pgd:
mips64_get_task_pgd()\n"); 
This is not found.
 +	fprintf(fp, "           dump_irq:
generic_dump_irq()\n");
 +	fprintf(fp, "    show_interrupts: generic_show_interrupts()\n");
 +	fprintf(fp, "   get_irq_affinity: generic_get_irq_affinity()\n"); 
Are these set?
If they are set later, I would prefer to display when they are set
to avoid misunderstanding.
Thanks,
Kazu
 +	fprintf(fp, "    get_stack_frame:
mips64_get_stack_frame()\n");
 +	fprintf(fp, "      get_stackbase: generic_get_stackbase()\n");
 +	fprintf(fp, "       get_stacktop: generic_get_stacktop()\n");
 +	fprintf(fp, "      translate_pte: mips64_translate_pte()\n");
 +	fprintf(fp, "        memory_size: generic_memory_size()\n");
 +	fprintf(fp, "      vmalloc_start: mips64_vmalloc_start()\n");
 +	fprintf(fp, "       is_task_addr: mips64_is_task_addr()\n");
 +	fprintf(fp, "      verify_symbol: mips64_verify_symbol()\n");
 +	fprintf(fp, "         dis_filter: generic_dis_filter()\n");
 +	fprintf(fp, "           cmd_mach: mips64_cmd_mach()\n");
 +	fprintf(fp, "       get_smp_cpus: mips64_get_smp_cpus()\n");
 +	fprintf(fp, "          is_kvaddr: generic_is_kvaddr()\n");
 +	fprintf(fp, "          is_uvaddr: generic_is_uvaddr()\n");
 +	fprintf(fp, "       verify_paddr: generic_verify_paddr()\n");
 +	fprintf(fp, "    init_kernel_pgd: NULL\n");
 +	fprintf(fp, "    value_to_symbol: generic_machdep_value_to_symbol()\n");
 +	fprintf(fp, "  line_number_hooks: NULL\n");
 +	fprintf(fp, "      last_pgd_read: %lx\n", machdep->last_pgd_read);
 +	fprintf(fp, "      last_pmd_read: %lx\n", machdep->last_pmd_read);
 +	fprintf(fp, "     last_ptbl_read: %lx\n", machdep->last_ptbl_read);
 +	fprintf(fp, "                pgd: %lx\n", (ulong)machdep->pgd);
 +	fprintf(fp, "                pmd: %lx\n", (ulong)machdep->pmd);
 +	fprintf(fp, "               ptbl: %lx\n", (ulong)machdep->ptbl);
 +	fprintf(fp, "  section_size_bits: %ld\n", machdep->section_size_bits);
 +	fprintf(fp, "   max_physmem_bits: %ld\n", machdep->max_physmem_bits);
 +	fprintf(fp, "  sections_per_root: %ld\n", machdep->sections_per_root);
 +	fprintf(fp, "           machspec: %lx\n", (ulong)machdep->machspec);
  }
 
  static void
 --
 2.1.0