Blame SOURCES/0008-ppc64-use-a-variable-for-machdep-machspec.patch

3ce5e9
From 656f0b50866247a2fdb2d0c917f0a7a3f34c2e7d Mon Sep 17 00:00:00 2001
3ce5e9
From: Hari Bathini <hbathini@linux.ibm.com>
3ce5e9
Date: Mon, 4 Jul 2022 10:55:46 +0530
3ce5e9
Subject: [PATCH 08/28] ppc64: use a variable for machdep->machspec
3ce5e9
3ce5e9
machdpep->machspec is referred to multiple times. The compiler would
3ce5e9
likely optimize this but nonetheless, use a variable to optimize in
3ce5e9
coding and also improve readability. No functional change.
3ce5e9
3ce5e9
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
3ce5e9
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
3ce5e9
---
3ce5e9
 ppc64.c | 224 ++++++++++++++++++++++++++++----------------------------
3ce5e9
 1 file changed, 111 insertions(+), 113 deletions(-)
3ce5e9
3ce5e9
diff --git a/ppc64.c b/ppc64.c
3ce5e9
index ad1d6e121e81..4ea1f7c0c6f8 100644
3ce5e9
--- a/ppc64.c
3ce5e9
+++ b/ppc64.c
3ce5e9
@@ -307,6 +307,8 @@ struct machine_specific book3e_machine_specific = {
3ce5e9
 void
3ce5e9
 ppc64_init(int when)
3ce5e9
 {
3ce5e9
+	struct machine_specific *ms;
3ce5e9
+
3ce5e9
 #if defined(__x86_64__)
3ce5e9
         if (ACTIVE())
3ce5e9
                 error(FATAL, "compiled for the PPC64 architecture\n");
3ce5e9
@@ -416,16 +418,16 @@ ppc64_init(int when)
3ce5e9
 		break;
3ce5e9
 
3ce5e9
 	case POST_GDB:
3ce5e9
-		if (!(machdep->flags & BOOK3E)) {
3ce5e9
-			struct machine_specific *m = machdep->machspec;
3ce5e9
+		ms = machdep->machspec;
3ce5e9
 
3ce5e9
+		if (!(machdep->flags & BOOK3E)) {
3ce5e9
 			/*
3ce5e9
 			 * To determine if the kernel was running on OPAL based platform,
3ce5e9
 			 * use struct opal, which is populated with relevant values.
3ce5e9
 			 */
3ce5e9
 			if (symbol_exists("opal")) {
3ce5e9
-				get_symbol_data("opal", sizeof(struct ppc64_opal), &(m->opal));
3ce5e9
-				if (m->opal.base == SKIBOOT_BASE)
3ce5e9
+				get_symbol_data("opal", sizeof(struct ppc64_opal), &(ms->opal));
3ce5e9
+				if (ms->opal.base == SKIBOOT_BASE)
3ce5e9
 					machdep->flags |= OPAL_FW;
3ce5e9
 			}
3ce5e9
 
3ce5e9
@@ -453,18 +455,18 @@ ppc64_init(int when)
3ce5e9
 			 * _PAGE_WRITETHRU  can be used to infer it.
3ce5e9
 			 */
3ce5e9
 			if (THIS_KERNEL_VERSION >= LINUX(3,14,0))
3ce5e9
-				m->_page_coherent = 0x0UL;
3ce5e9
+				ms->_page_coherent = 0x0UL;
3ce5e9
 
3ce5e9
 			/*
3ce5e9
 			 * In kernel v4.5, _PAGE_PTE bit is introduced to
3ce5e9
 			 * distinguish PTEs from pointers.
3ce5e9
 			 */
3ce5e9
 			if (THIS_KERNEL_VERSION >= LINUX(4,5,0)) {
3ce5e9
-				m->_page_pte = 0x1UL;
3ce5e9
-				m->_page_present = 0x2UL;
3ce5e9
-				m->_page_user = 0x4UL;
3ce5e9
-				m->_page_rw = 0x8UL;
3ce5e9
-				m->_page_guarded = 0x10UL;
3ce5e9
+				ms->_page_pte = 0x1UL;
3ce5e9
+				ms->_page_present = 0x2UL;
3ce5e9
+				ms->_page_user = 0x4UL;
3ce5e9
+				ms->_page_rw = 0x8UL;
3ce5e9
+				ms->_page_guarded = 0x10UL;
3ce5e9
 			}
3ce5e9
 
3ce5e9
 			/*
3ce5e9
@@ -474,8 +476,8 @@ ppc64_init(int when)
3ce5e9
 			 * Also, page table entries store physical addresses.
3ce5e9
 			 */
3ce5e9
 			if (THIS_KERNEL_VERSION >= LINUX(4,6,0)) {
3ce5e9
-				m->_page_pte = 0x1UL << 62;
3ce5e9
-				m->_page_present = 0x1UL << 63;
3ce5e9
+				ms->_page_pte = 0x1UL << 62;
3ce5e9
+				ms->_page_present = 0x1UL << 63;
3ce5e9
 				machdep->flags |= PHYS_ENTRY_L4;
3ce5e9
 			}
3ce5e9
 
3ce5e9
@@ -504,118 +506,117 @@ ppc64_init(int when)
3ce5e9
 			machdep->ptrs_per_pgd = PTRS_PER_PGD;
3ce5e9
 		} else {
3ce5e9
 			/* 2.6.14 layout */
3ce5e9
-			struct machine_specific *m = machdep->machspec;
3ce5e9
 			if (machdep->pagesize == 65536) {
3ce5e9
 				/* 64K pagesize */
3ce5e9
 				if (machdep->flags & RADIX_MMU) {
3ce5e9
-					m->l1_index_size = PTE_INDEX_SIZE_RADIX_64K;
3ce5e9
-					m->l2_index_size = PMD_INDEX_SIZE_RADIX_64K;
3ce5e9
-					m->l3_index_size = PUD_INDEX_SIZE_RADIX_64K;
3ce5e9
-					m->l4_index_size = PGD_INDEX_SIZE_RADIX_64K;
3ce5e9
+					ms->l1_index_size = PTE_INDEX_SIZE_RADIX_64K;
3ce5e9
+					ms->l2_index_size = PMD_INDEX_SIZE_RADIX_64K;
3ce5e9
+					ms->l3_index_size = PUD_INDEX_SIZE_RADIX_64K;
3ce5e9
+					ms->l4_index_size = PGD_INDEX_SIZE_RADIX_64K;
3ce5e9
 
3ce5e9
 				} else if (!(machdep->flags & BOOK3E) &&
3ce5e9
 				    (THIS_KERNEL_VERSION >= LINUX(4,6,0))) {
3ce5e9
-					m->l1_index_size = PTE_INDEX_SIZE_L4_64K_3_10;
3ce5e9
+					ms->l1_index_size = PTE_INDEX_SIZE_L4_64K_3_10;
3ce5e9
 
3ce5e9
 					if (THIS_KERNEL_VERSION >= LINUX(4,12,0)) {
3ce5e9
-						m->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_12;
3ce5e9
+						ms->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_12;
3ce5e9
 						if (THIS_KERNEL_VERSION >= LINUX(4,17,0))
3ce5e9
-							m->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_17;
3ce5e9
+							ms->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_17;
3ce5e9
 						else
3ce5e9
-							m->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_12;
3ce5e9
-						m->l4_index_size = PGD_INDEX_SIZE_L4_64K_4_12;
3ce5e9
+							ms->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_12;
3ce5e9
+						ms->l4_index_size = PGD_INDEX_SIZE_L4_64K_4_12;
3ce5e9
 					} else {
3ce5e9
-						m->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_6;
3ce5e9
-						m->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_6;
3ce5e9
-						m->l4_index_size = PGD_INDEX_SIZE_L4_64K_3_10;
3ce5e9
+						ms->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_6;
3ce5e9
+						ms->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_6;
3ce5e9
+						ms->l4_index_size = PGD_INDEX_SIZE_L4_64K_3_10;
3ce5e9
 					}
3ce5e9
 				} else if (THIS_KERNEL_VERSION >= LINUX(3,10,0)) {
3ce5e9
-					m->l1_index_size = PTE_INDEX_SIZE_L4_64K_3_10;
3ce5e9
-					m->l2_index_size = PMD_INDEX_SIZE_L4_64K_3_10;
3ce5e9
-					m->l3_index_size = PUD_INDEX_SIZE_L4_64K;
3ce5e9
-					m->l4_index_size = PGD_INDEX_SIZE_L4_64K_3_10;
3ce5e9
+					ms->l1_index_size = PTE_INDEX_SIZE_L4_64K_3_10;
3ce5e9
+					ms->l2_index_size = PMD_INDEX_SIZE_L4_64K_3_10;
3ce5e9
+					ms->l3_index_size = PUD_INDEX_SIZE_L4_64K;
3ce5e9
+					ms->l4_index_size = PGD_INDEX_SIZE_L4_64K_3_10;
3ce5e9
 
3ce5e9
 				} else {
3ce5e9
-					m->l1_index_size = PTE_INDEX_SIZE_L4_64K;
3ce5e9
-					m->l2_index_size = PMD_INDEX_SIZE_L4_64K;
3ce5e9
-					m->l3_index_size = PUD_INDEX_SIZE_L4_64K;
3ce5e9
-					m->l4_index_size = PGD_INDEX_SIZE_L4_64K;
3ce5e9
+					ms->l1_index_size = PTE_INDEX_SIZE_L4_64K;
3ce5e9
+					ms->l2_index_size = PMD_INDEX_SIZE_L4_64K;
3ce5e9
+					ms->l3_index_size = PUD_INDEX_SIZE_L4_64K;
3ce5e9
+					ms->l4_index_size = PGD_INDEX_SIZE_L4_64K;
3ce5e9
 				}
3ce5e9
 
3ce5e9
 				if (!(machdep->flags & BOOK3E))
3ce5e9
-					m->pte_rpn_shift = symbol_exists("demote_segment_4k") ?
3ce5e9
+					ms->pte_rpn_shift = symbol_exists("demote_segment_4k") ?
3ce5e9
 						PTE_RPN_SHIFT_L4_64K_V2 : PTE_RPN_SHIFT_L4_64K_V1;
3ce5e9
 
3ce5e9
 				if (!(machdep->flags & BOOK3E) &&
3ce5e9
 				    (THIS_KERNEL_VERSION >= LINUX(4,6,0))) {
3ce5e9
-					m->pgd_masked_bits = PGD_MASKED_BITS_64K_4_6;
3ce5e9
-					m->pud_masked_bits = PUD_MASKED_BITS_64K_4_6;
3ce5e9
-					m->pmd_masked_bits = PMD_MASKED_BITS_64K_4_6;
3ce5e9
+					ms->pgd_masked_bits = PGD_MASKED_BITS_64K_4_6;
3ce5e9
+					ms->pud_masked_bits = PUD_MASKED_BITS_64K_4_6;
3ce5e9
+					ms->pmd_masked_bits = PMD_MASKED_BITS_64K_4_6;
3ce5e9
 				} else {
3ce5e9
-					m->pgd_masked_bits = PGD_MASKED_BITS_64K;
3ce5e9
-					m->pud_masked_bits = PUD_MASKED_BITS_64K;
3ce5e9
+					ms->pgd_masked_bits = PGD_MASKED_BITS_64K;
3ce5e9
+					ms->pud_masked_bits = PUD_MASKED_BITS_64K;
3ce5e9
 					if ((machdep->flags & BOOK3E) &&
3ce5e9
 					    (THIS_KERNEL_VERSION >= LINUX(4,5,0)))
3ce5e9
-						m->pmd_masked_bits = PMD_MASKED_BITS_BOOK3E_64K_4_5;
3ce5e9
+						ms->pmd_masked_bits = PMD_MASKED_BITS_BOOK3E_64K_4_5;
3ce5e9
 					else if (THIS_KERNEL_VERSION >= LINUX(3,11,0))
3ce5e9
-						m->pmd_masked_bits = PMD_MASKED_BITS_64K_3_11;
3ce5e9
+						ms->pmd_masked_bits = PMD_MASKED_BITS_64K_3_11;
3ce5e9
 					else
3ce5e9
-						m->pmd_masked_bits = PMD_MASKED_BITS_64K;
3ce5e9
+						ms->pmd_masked_bits = PMD_MASKED_BITS_64K;
3ce5e9
 				}
3ce5e9
 			} else {
3ce5e9
 				/* 4K pagesize */
3ce5e9
 				if (machdep->flags & RADIX_MMU) {
3ce5e9
-					m->l1_index_size = PTE_INDEX_SIZE_RADIX_4K;
3ce5e9
-					m->l2_index_size = PMD_INDEX_SIZE_RADIX_4K;
3ce5e9
-					m->l3_index_size = PUD_INDEX_SIZE_RADIX_4K;
3ce5e9
-					m->l4_index_size = PGD_INDEX_SIZE_RADIX_4K;
3ce5e9
+					ms->l1_index_size = PTE_INDEX_SIZE_RADIX_4K;
3ce5e9
+					ms->l2_index_size = PMD_INDEX_SIZE_RADIX_4K;
3ce5e9
+					ms->l3_index_size = PUD_INDEX_SIZE_RADIX_4K;
3ce5e9
+					ms->l4_index_size = PGD_INDEX_SIZE_RADIX_4K;
3ce5e9
 
3ce5e9
 				} else {
3ce5e9
-					m->l1_index_size = PTE_INDEX_SIZE_L4_4K;
3ce5e9
-					m->l2_index_size = PMD_INDEX_SIZE_L4_4K;
3ce5e9
+					ms->l1_index_size = PTE_INDEX_SIZE_L4_4K;
3ce5e9
+					ms->l2_index_size = PMD_INDEX_SIZE_L4_4K;
3ce5e9
 					if (THIS_KERNEL_VERSION >= LINUX(3,7,0))
3ce5e9
-						m->l3_index_size = PUD_INDEX_SIZE_L4_4K_3_7;
3ce5e9
+						ms->l3_index_size = PUD_INDEX_SIZE_L4_4K_3_7;
3ce5e9
 					else
3ce5e9
-						m->l3_index_size = PUD_INDEX_SIZE_L4_4K;
3ce5e9
-					m->l4_index_size = PGD_INDEX_SIZE_L4_4K;
3ce5e9
+						ms->l3_index_size = PUD_INDEX_SIZE_L4_4K;
3ce5e9
+					ms->l4_index_size = PGD_INDEX_SIZE_L4_4K;
3ce5e9
 
3ce5e9
 					if (machdep->flags & BOOK3E)
3ce5e9
-						m->pte_rpn_shift = PTE_RPN_SHIFT_L4_BOOK3E_4K;
3ce5e9
+						ms->pte_rpn_shift = PTE_RPN_SHIFT_L4_BOOK3E_4K;
3ce5e9
 					else
3ce5e9
-						m->pte_rpn_shift = THIS_KERNEL_VERSION >= LINUX(4,5,0) ?
3ce5e9
+						ms->pte_rpn_shift = THIS_KERNEL_VERSION >= LINUX(4,5,0) ?
3ce5e9
 							PTE_RPN_SHIFT_L4_4K_4_5 : PTE_RPN_SHIFT_L4_4K;
3ce5e9
 				}
3ce5e9
 
3ce5e9
-				m->pgd_masked_bits = PGD_MASKED_BITS_4K;
3ce5e9
-				m->pud_masked_bits = PUD_MASKED_BITS_4K;
3ce5e9
-				m->pmd_masked_bits = PMD_MASKED_BITS_4K;
3ce5e9
+				ms->pgd_masked_bits = PGD_MASKED_BITS_4K;
3ce5e9
+				ms->pud_masked_bits = PUD_MASKED_BITS_4K;
3ce5e9
+				ms->pmd_masked_bits = PMD_MASKED_BITS_4K;
3ce5e9
 			}
3ce5e9
 
3ce5e9
-			m->pte_rpn_mask = PTE_RPN_MASK_DEFAULT;
3ce5e9
+			ms->pte_rpn_mask = PTE_RPN_MASK_DEFAULT;
3ce5e9
 			if (!(machdep->flags & BOOK3E)) {
3ce5e9
 				if (THIS_KERNEL_VERSION >= LINUX(4,6,0)) {
3ce5e9
-					m->pte_rpn_mask = PTE_RPN_MASK_L4_4_6;
3ce5e9
-					m->pte_rpn_shift = PTE_RPN_SHIFT_L4_4_6;
3ce5e9
+					ms->pte_rpn_mask = PTE_RPN_MASK_L4_4_6;
3ce5e9
+					ms->pte_rpn_shift = PTE_RPN_SHIFT_L4_4_6;
3ce5e9
 				}
3ce5e9
 				if (THIS_KERNEL_VERSION >= LINUX(4,7,0)) {
3ce5e9
-					m->pgd_masked_bits = PGD_MASKED_BITS_4_7;
3ce5e9
-					m->pud_masked_bits = PUD_MASKED_BITS_4_7;
3ce5e9
-					m->pmd_masked_bits = PMD_MASKED_BITS_4_7;
3ce5e9
+					ms->pgd_masked_bits = PGD_MASKED_BITS_4_7;
3ce5e9
+					ms->pud_masked_bits = PUD_MASKED_BITS_4_7;
3ce5e9
+					ms->pmd_masked_bits = PMD_MASKED_BITS_4_7;
3ce5e9
 				}
3ce5e9
 			}
3ce5e9
 
3ce5e9
 			/* Compute ptrs per each level */
3ce5e9
-			m->l1_shift = machdep->pageshift;
3ce5e9
-			m->ptrs_per_l1 = (1 << m->l1_index_size);
3ce5e9
-			m->ptrs_per_l2 = (1 << m->l2_index_size);
3ce5e9
-			m->ptrs_per_l3 = (1 << m->l3_index_size);
3ce5e9
-			m->ptrs_per_l4 = (1 << m->l4_index_size);
3ce5e9
-			machdep->ptrs_per_pgd = m->ptrs_per_l4;
3ce5e9
+			ms->l1_shift = machdep->pageshift;
3ce5e9
+			ms->ptrs_per_l1 = (1 << ms->l1_index_size);
3ce5e9
+			ms->ptrs_per_l2 = (1 << ms->l2_index_size);
3ce5e9
+			ms->ptrs_per_l3 = (1 << ms->l3_index_size);
3ce5e9
+			ms->ptrs_per_l4 = (1 << ms->l4_index_size);
3ce5e9
+			machdep->ptrs_per_pgd = ms->ptrs_per_l4;
3ce5e9
 
3ce5e9
 			/* Compute shifts */
3ce5e9
-			m->l2_shift = m->l1_shift + m->l1_index_size;
3ce5e9
-			m->l3_shift = m->l2_shift + m->l2_index_size;
3ce5e9
-			m->l4_shift = m->l3_shift + m->l3_index_size;
3ce5e9
+			ms->l2_shift = ms->l1_shift + ms->l1_index_size;
3ce5e9
+			ms->l3_shift = ms->l2_shift + ms->l2_index_size;
3ce5e9
+			ms->l4_shift = ms->l3_shift + ms->l3_index_size;
3ce5e9
 		}
3ce5e9
 
3ce5e9
 		if (machdep->flags & VMEMMAP)
3ce5e9
@@ -681,19 +682,15 @@ ppc64_init(int when)
3ce5e9
 			 */
3ce5e9
 			offset = MEMBER_OFFSET("paca_struct", "xHrdIntStack");
3ce5e9
 			paca_sym  = symbol_value("paca");
3ce5e9
-			if (!(machdep->machspec->hwintrstack =
3ce5e9
-			      (ulong *)calloc(NR_CPUS, sizeof(ulong))))
3ce5e9
+			if (!(ms->hwintrstack = (ulong *)calloc(NR_CPUS, sizeof(ulong))))
3ce5e9
 				error(FATAL, "cannot malloc hwintrstack space.");
3ce5e9
 			for (cpu = 0; cpu < kt->cpus; cpu++)  {
3ce5e9
-				readmem(paca_sym + (paca_size * cpu) + offset,
3ce5e9
-					KVADDR, 
3ce5e9
-					&machdep->machspec->hwintrstack[cpu],
3ce5e9
-					sizeof(ulong), "PPC64 HW_intr_stack",
3ce5e9
-					FAULT_ON_ERROR);
3ce5e9
+				readmem(paca_sym + (paca_size * cpu) + offset, KVADDR,
3ce5e9
+					&ms->hwintrstack[cpu], sizeof(ulong),
3ce5e9
+					"PPC64 HW_intr_stack", FAULT_ON_ERROR);
3ce5e9
 			}
3ce5e9
-			machdep->machspec->hwstacksize = 8 * machdep->pagesize;
3ce5e9
-			if ((machdep->machspec->hwstackbuf = (char *)
3ce5e9
-				malloc(machdep->machspec->hwstacksize)) == NULL)
3ce5e9
+			ms->hwstacksize = 8 * machdep->pagesize;
3ce5e9
+			if ((ms->hwstackbuf = (char *)malloc(ms->hwstacksize)) == NULL)
3ce5e9
 				error(FATAL, "cannot malloc hwirqstack buffer space.");
3ce5e9
 		}
3ce5e9
 
3ce5e9
@@ -756,6 +753,7 @@ ppc64_get_stacktop(ulong task)
3ce5e9
 void
3ce5e9
 ppc64_dump_machdep_table(ulong arg)
3ce5e9
 {
3ce5e9
+	struct machine_specific *ms = machdep->machspec;
3ce5e9
         int i, c, others; 
3ce5e9
  
3ce5e9
         others = 0;
3ce5e9
@@ -844,57 +842,57 @@ ppc64_dump_machdep_table(ulong arg)
3ce5e9
                         i, machdep->cmdline_args[i] ?
3ce5e9
                         machdep->cmdline_args[i] : "(unused)");
3ce5e9
         }
3ce5e9
-	fprintf(fp, "           machspec: %lx\n", (ulong)machdep->machspec);
3ce5e9
+	fprintf(fp, "           machspec: %lx\n", (ulong)ms);
3ce5e9
 	fprintf(fp, "            is_kvaddr: %s\n", 
3ce5e9
-		machdep->machspec->is_kvaddr == book3e_is_kvaddr ? 
3ce5e9
+		ms->is_kvaddr == book3e_is_kvaddr ?
3ce5e9
 		"book3e_is_kvaddr()" : "generic_is_kvaddr()");
3ce5e9
 	fprintf(fp, "            is_vmaddr: %s\n", 
3ce5e9
-		machdep->machspec->is_vmaddr == book3e_is_vmaddr ? 
3ce5e9
+		ms->is_vmaddr == book3e_is_vmaddr ?
3ce5e9
 		"book3e_is_vmaddr()" : "ppc64_is_vmaddr()");
3ce5e9
-	if (machdep->machspec->hwintrstack) {
3ce5e9
+	if (ms->hwintrstack) {
3ce5e9
 		fprintf(fp, "    hwintrstack[%d]: ", NR_CPUS);
3ce5e9
 		for (c = 0; c < NR_CPUS; c++) {
3ce5e9
 			fprintf(fp, "%s%016lx ",
3ce5e9
 				((c % 4) == 0) ? "\n  " : "",
3ce5e9
-				machdep->machspec->hwintrstack[c]);
3ce5e9
+				ms->hwintrstack[c]);
3ce5e9
 		}
3ce5e9
 	} else
3ce5e9
 		fprintf(fp, "          hwintrstack: (unused)");
3ce5e9
 	fprintf(fp, "\n");
3ce5e9
-	fprintf(fp, "           hwstackbuf: %lx\n", (ulong)machdep->machspec->hwstackbuf);
3ce5e9
-	fprintf(fp, "          hwstacksize: %d\n", machdep->machspec->hwstacksize);
3ce5e9
-	fprintf(fp, "        l4_index_size: %d\n", machdep->machspec->l4_index_size);
3ce5e9
-	fprintf(fp, "        l3_index_size: %d\n", machdep->machspec->l3_index_size);
3ce5e9
-	fprintf(fp, "        l2_index_size: %d\n", machdep->machspec->l2_index_size);
3ce5e9
-	fprintf(fp, "        l1_index_size: %d\n", machdep->machspec->l1_index_size);
3ce5e9
-	fprintf(fp, "          ptrs_per_l4: %d\n", machdep->machspec->ptrs_per_l4);
3ce5e9
-	fprintf(fp, "          ptrs_per_l3: %d\n", machdep->machspec->ptrs_per_l3);
3ce5e9
-	fprintf(fp, "          ptrs_per_l2: %d\n", machdep->machspec->ptrs_per_l2);
3ce5e9
-	fprintf(fp, "          ptrs_per_l1: %d\n", machdep->machspec->ptrs_per_l1);
3ce5e9
-	fprintf(fp, "             l4_shift: %d\n", machdep->machspec->l4_shift);
3ce5e9
-	fprintf(fp, "             l3_shift: %d\n", machdep->machspec->l3_shift);
3ce5e9
-	fprintf(fp, "             l2_shift: %d\n", machdep->machspec->l2_shift);
3ce5e9
-	fprintf(fp, "             l1_shift: %d\n", machdep->machspec->l1_shift);
3ce5e9
-	fprintf(fp, "         pte_rpn_mask: %lx\n", machdep->machspec->pte_rpn_mask);
3ce5e9
-	fprintf(fp, "        pte_rpn_shift: %d\n", machdep->machspec->pte_rpn_shift);
3ce5e9
-	fprintf(fp, "      pgd_masked_bits: %lx\n", machdep->machspec->pgd_masked_bits);
3ce5e9
-	fprintf(fp, "      pud_masked_bits: %lx\n", machdep->machspec->pud_masked_bits);
3ce5e9
-	fprintf(fp, "      pmd_masked_bits: %lx\n", machdep->machspec->pmd_masked_bits);
3ce5e9
+	fprintf(fp, "           hwstackbuf: %lx\n", (ulong)ms->hwstackbuf);
3ce5e9
+	fprintf(fp, "          hwstacksize: %d\n", ms->hwstacksize);
3ce5e9
+	fprintf(fp, "        l4_index_size: %d\n", ms->l4_index_size);
3ce5e9
+	fprintf(fp, "        l3_index_size: %d\n", ms->l3_index_size);
3ce5e9
+	fprintf(fp, "        l2_index_size: %d\n", ms->l2_index_size);
3ce5e9
+	fprintf(fp, "        l1_index_size: %d\n", ms->l1_index_size);
3ce5e9
+	fprintf(fp, "          ptrs_per_l4: %d\n", ms->ptrs_per_l4);
3ce5e9
+	fprintf(fp, "          ptrs_per_l3: %d\n", ms->ptrs_per_l3);
3ce5e9
+	fprintf(fp, "          ptrs_per_l2: %d\n", ms->ptrs_per_l2);
3ce5e9
+	fprintf(fp, "          ptrs_per_l1: %d\n", ms->ptrs_per_l1);
3ce5e9
+	fprintf(fp, "             l4_shift: %d\n", ms->l4_shift);
3ce5e9
+	fprintf(fp, "             l3_shift: %d\n", ms->l3_shift);
3ce5e9
+	fprintf(fp, "             l2_shift: %d\n", ms->l2_shift);
3ce5e9
+	fprintf(fp, "             l1_shift: %d\n", ms->l1_shift);
3ce5e9
+	fprintf(fp, "         pte_rpn_mask: %lx\n", ms->pte_rpn_mask);
3ce5e9
+	fprintf(fp, "        pte_rpn_shift: %d\n", ms->pte_rpn_shift);
3ce5e9
+	fprintf(fp, "      pgd_masked_bits: %lx\n", ms->pgd_masked_bits);
3ce5e9
+	fprintf(fp, "      pud_masked_bits: %lx\n", ms->pud_masked_bits);
3ce5e9
+	fprintf(fp, "      pmd_masked_bits: %lx\n", ms->pmd_masked_bits);
3ce5e9
 	fprintf(fp, "         vmemmap_base: "); 
3ce5e9
-	if (machdep->machspec->vmemmap_base)
3ce5e9
-		fprintf(fp, "%lx\n", machdep->machspec->vmemmap_base);
3ce5e9
+	if (ms->vmemmap_base)
3ce5e9
+		fprintf(fp, "%lx\n", ms->vmemmap_base);
3ce5e9
 	else
3ce5e9
 		fprintf(fp, "(unused)\n");
3ce5e9
-	if (machdep->machspec->vmemmap_cnt) {
3ce5e9
+	if (ms->vmemmap_cnt) {
3ce5e9
 		fprintf(fp, "          vmemmap_cnt: %d\n", 
3ce5e9
-			machdep->machspec->vmemmap_cnt);
3ce5e9
+			ms->vmemmap_cnt);
3ce5e9
 		fprintf(fp, "        vmemmap_psize: %d\n", 
3ce5e9
-			machdep->machspec->vmemmap_psize);
3ce5e9
-		for (i = 0; i < machdep->machspec->vmemmap_cnt; i++) {
3ce5e9
+			ms->vmemmap_psize);
3ce5e9
+		for (i = 0; i < ms->vmemmap_cnt; i++) {
3ce5e9
 			fprintf(fp, 
3ce5e9
 			    "      vmemmap_list[%d]: virt: %lx  phys: %lx\n", i, 
3ce5e9
-				machdep->machspec->vmemmap_list[i].virt,
3ce5e9
-				machdep->machspec->vmemmap_list[i].phys);
3ce5e9
+				ms->vmemmap_list[i].virt,
3ce5e9
+				ms->vmemmap_list[i].phys);
3ce5e9
 		}
3ce5e9
 	} else {
3ce5e9
 		fprintf(fp, "          vmemmap_cnt: (unused)\n");
3ce5e9
-- 
3ce5e9
2.37.1
3ce5e9