Source-Changes-HG archive

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

[src/netbsd-7]: src/sys/arch/x68k/x68k Pull up following revision(s) (request...



details:   https://anonhg.NetBSD.org/src/rev/8f51bbce060e
branches:  netbsd-7
changeset: 800018:8f51bbce060e
user:      snj <snj%NetBSD.org@localhost>
date:      Tue Dec 06 06:46:02 2016 +0000

description:
Pull up following revision(s) (requested by tsutsui in ticket #1282):
        sys/arch/x68k/x68k/machdep.c: revision 1.194
Fix crashdump on machines with EXTENDED_MEMORY.
PR port-x68k/51663 from Rin Okuyama.

diffstat:

 sys/arch/x68k/x68k/machdep.c |  29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diffs (58 lines):

diff -r dab3a12d6cbf -r 8f51bbce060e sys/arch/x68k/x68k/machdep.c
--- a/sys/arch/x68k/x68k/machdep.c      Tue Dec 06 06:44:14 2016 +0000
+++ b/sys/arch/x68k/x68k/machdep.c      Tue Dec 06 06:46:02 2016 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.191.4.1 2015/11/05 20:40:22 riz Exp $    */
+/*     $NetBSD: machdep.c,v 1.191.4.2 2016/12/06 06:46:02 snj Exp $    */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.191.4.1 2015/11/05 20:40:22 riz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.191.4.2 2016/12/06 06:46:02 snj Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -553,7 +553,10 @@
 {
        cpu_kcore_hdr_t *h = &cpu_kcore_hdr;
        struct m68k_kcore_hdr *m = &h->un._m68k;
-       int i;
+       psize_t size;
+#ifdef EXTENDED_MEMORY
+       int i, seg;
+#endif
 
        memset(&cpu_kcore_hdr, 0, sizeof(cpu_kcore_hdr));
 
@@ -602,14 +605,20 @@
        /*
         * X68k has multiple RAM segments on some models.
         */
-       m->ram_segs[0].start = lowram;
-       m->ram_segs[0].size = mem_size - lowram;
-       for (i = 1; i < vm_nphysseg; i++) {
-               m->ram_segs[i].start =
-                   ctob(VM_PHYSMEM_PTR(i)->start);
-               m->ram_segs[i].size  =
-                   ctob(VM_PHYSMEM_PTR(i)->end - VM_PHYSMEM_PTR(i)->start);
+       size = phys_basemem_seg.end - phys_basemem_seg.start;
+       m->ram_segs[0].start = phys_basemem_seg.start;
+       m->ram_segs[0].size  = size;
+#ifdef EXTENDED_MEMORY
+       seg = 1;
+       for (i = 0; i < EXTMEM_SEGS; i++) {
+               size = phys_extmem_seg[i].end - phys_extmem_seg[i].start;
+               if (size == 0)
+                       continue;
+               m->ram_segs[seg].start = phys_extmem_seg[i].start;
+               m->ram_segs[seg].size  = size;
+               seg++;
        }
+#endif
 }
 
 /*



Home | Main Index | Thread Index | Old Index