Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-6]: src/sys/arch/next68k/next68k Pull up following revision(s) (r...



details:   https://anonhg.NetBSD.org/src/rev/d711c5a5e94b
branches:  netbsd-6
changeset: 776551:d711c5a5e94b
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sun Jan 12 12:41:12 2014 +0000

description:
Pull up following revision(s) (requested by tsutsui in ticket #1008):
        sys/arch/next68k/next68k/pmap_bootstrap.c: revision 1.43
Move physmem calculations before nptpage initialization.
Should fix next68k specific part of PR port-m68k/45915
(panic: pmap_enter_ptpage: can't get KPT page), and
this is the last possible m68k MD part of this PR.
Note this change is not tested on the actual machine (yet),
but as noted in comment next68k/pmap_bootstrap.c is based on
the mvme68k one which has been fixed by the similar diff.
Should be pulled up to all netbsd-6 branches.

diffstat:

 sys/arch/next68k/next68k/pmap_bootstrap.c |  76 +++++++++++++++---------------
 1 files changed, 38 insertions(+), 38 deletions(-)

diffs (104 lines):

diff -r 67900bedf645 -r d711c5a5e94b sys/arch/next68k/next68k/pmap_bootstrap.c
--- a/sys/arch/next68k/next68k/pmap_bootstrap.c Sun Jan 12 12:38:31 2014 +0000
+++ b/sys/arch/next68k/next68k/pmap_bootstrap.c Sun Jan 12 12:41:12 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap_bootstrap.c,v 1.42 2012/02/10 06:28:39 mhitch Exp $       */
+/*     $NetBSD: pmap_bootstrap.c,v 1.42.2.1 2014/01/12 12:41:12 bouyer Exp $   */
 
 /*
  * This file was taken from mvme68k/mvme68k/pmap_bootstrap.c
@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap_bootstrap.c,v 1.42 2012/02/10 06:28:39 mhitch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap_bootstrap.c,v 1.42.2.1 2014/01/12 12:41:12 bouyer Exp $");
 
 #include "opt_m68k_arch.h"
 
@@ -111,6 +111,42 @@
 #endif
 
        /*
+        * Initialize the mem_clusters[] array for the crash dump
+        * code.  While we're at it, compute the total amount of
+        * physical memory in the system.
+        */
+       for (i = 0; i < VM_PHYSSEG_MAX; i++) {
+               if (RELOC(phys_seg_list[i].ps_start, paddr_t) ==
+                   RELOC(phys_seg_list[i].ps_end, paddr_t)) {
+                       /*
+                        * No more memory.
+                        */
+                       break;
+               }
+
+               /*
+                * Make sure these are properly rounded.
+                */
+               RELOC(phys_seg_list[i].ps_start, paddr_t) =
+                   m68k_round_page(RELOC(phys_seg_list[i].ps_start,
+                                         paddr_t));
+               RELOC(phys_seg_list[i].ps_end, paddr_t) =
+                   m68k_trunc_page(RELOC(phys_seg_list[i].ps_end,
+                                         paddr_t));
+
+               size = RELOC(phys_seg_list[i].ps_end, paddr_t) -
+                   RELOC(phys_seg_list[i].ps_start, paddr_t);
+
+               RELOC(mem_clusters[i].start, u_quad_t) =
+                   RELOC(phys_seg_list[i].ps_start, paddr_t);
+               RELOC(mem_clusters[i].size, u_quad_t) = size;
+
+               RELOC(physmem, int) += size >> PGSHIFT;
+
+               RELOC(mem_cluster_cnt, int) += 1;
+       }
+
+       /*
         * Calculate important physical addresses:
         *
         *      lwp0upa         lwp0 u-area             UPAGES pages
@@ -484,42 +520,6 @@
        RELOC(lwp0uarea, vaddr_t) = lwp0upa - firstpa;
 
        /*
-        * Initialize the mem_clusters[] array for the crash dump
-        * code.  While we're at it, compute the total amount of
-        * physical memory in the system.
-        */
-       for (i = 0; i < VM_PHYSSEG_MAX; i++) {
-               if (RELOC(phys_seg_list[i].ps_start, paddr_t) ==
-                   RELOC(phys_seg_list[i].ps_end, paddr_t)) {
-                       /*
-                        * No more memory.
-                        */
-                       break;
-               }
-
-               /*
-                * Make sure these are properly rounded.
-                */
-               RELOC(phys_seg_list[i].ps_start, paddr_t) =
-                   m68k_round_page(RELOC(phys_seg_list[i].ps_start,
-                                         paddr_t));
-               RELOC(phys_seg_list[i].ps_end, paddr_t) =
-                   m68k_trunc_page(RELOC(phys_seg_list[i].ps_end,
-                                         paddr_t));
-
-               size = RELOC(phys_seg_list[i].ps_end, paddr_t) -
-                   RELOC(phys_seg_list[i].ps_start, paddr_t);
-
-               RELOC(mem_clusters[i].start, u_quad_t) =
-                   RELOC(phys_seg_list[i].ps_start, paddr_t);
-               RELOC(mem_clusters[i].size, u_quad_t) = size;
-
-               RELOC(physmem, int) += size >> PGSHIFT;
-
-               RELOC(mem_cluster_cnt, int) += 1;
-       }
-
-       /*
         * Scoot the start of available on-board RAM forward to
         * account for:
         *



Home | Main Index | Thread Index | Old Index