Module Name: src Committed By: cherry Date: Sat Dec 24 18:07:31 UTC 2016
Modified Files: src/sys/arch/powerpc/ibm4xx: pmap.c Log Message: introduce evbppc pmap to the uvm_hotplug(9) API Should fix build. To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.75 src/sys/arch/powerpc/ibm4xx/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/powerpc/ibm4xx/pmap.c diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.74 src/sys/arch/powerpc/ibm4xx/pmap.c:1.75 --- src/sys/arch/powerpc/ibm4xx/pmap.c:1.74 Fri Dec 23 07:15:27 2016 +++ src/sys/arch/powerpc/ibm4xx/pmap.c Sat Dec 24 18:07:31 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.74 2016/12/23 07:15:27 cherry Exp $ */ +/* $NetBSD: pmap.c,v 1.75 2016/12/24 18:07:31 cherry Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.74 2016/12/23 07:15:27 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.75 2016/12/24 18:07:31 cherry Exp $"); #include <sys/param.h> #include <sys/cpu.h> @@ -197,23 +197,25 @@ static int ppc4xx_tlb_size_mask(size_t, struct pv_entry * pa_to_pv(paddr_t pa) { - int bank, pg; + uvm_physseg_t bank; + psize_t pg; bank = uvm_physseg_find(atop(pa), &pg); if (bank == -1) return NULL; - return &VM_PHYSMEM_PTR(bank)->pmseg.pvent[pg]; + return &uvm_physseg_get_pmseg(bank)->pvent[pg]; } static inline char * pa_to_attr(paddr_t pa) { - int bank, pg; + uvm_physseg_t bank; + psize_t pg; bank = uvm_physseg_find(atop(pa), &pg); if (bank == -1) return NULL; - return &VM_PHYSMEM_PTR(bank)->pmseg.attrs[pg]; + return &uvm_physseg_get_pmseg(bank)->attrs[pg]; } /* @@ -473,10 +475,12 @@ pmap_init(void) pv = pv_table; attr = pmap_attrib; - for (bank = 0; bank < vm_nphysseg; bank++) { - sz = VM_PHYSMEM_PTR(bank)->end - VM_PHYSMEM_PTR(bank)->start; - VM_PHYSMEM_PTR(bank)->pmseg.pvent = pv; - VM_PHYSMEM_PTR(bank)->pmseg.attrs = attr; + for (bank = uvm_physseg_get_first(); + uvm_physseg_valid_p(bank); + bank = uvm_physseg_get_next(bank)) { + sz = uvm_physseg_get_end(bank) - uvm_physseg_get_start(bank); + uvm_physseg_get_pmseg(bank)->pvent = pv; + uvm_physseg_get_pmseg(bank)->attrs = attr; pv += sz; attr += sz; }