Subject: Re: Panic during dump
To: None <Richard.Earnshaw@buzzard.freeserve.co.uk>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: port-arm
Date: 05/07/2002 16:44:07
--7fwXp2o0gOrkU5lS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Tue, May 07, 2002 at 09:19:55PM +0100, Richard Earnshaw wrote:
> Well, that stops the panic, but unfortunately the dump locks up on the
> first block ;-(
>
> May not be related of course.
Hm. Take 2, this time without omitting the TLB flush.
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>
--7fwXp2o0gOrkU5lS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=arm-pmap-patch
Index: pmap.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/arm/arm32/pmap.c,v
retrieving revision 1.96
diff -u -r1.96 pmap.c
--- pmap.c 2002/04/24 17:35:10 1.96
+++ pmap.c 2002/05/07 23:43:17
@@ -938,12 +938,21 @@
*
* For now, VM is already on, we only need to map the
* specified memory.
+ *
+ * XXX This routine should eventually go away; it's only used
+ * XXX by machine-dependent crash dump code.
*/
vaddr_t
pmap_map(vaddr_t va, paddr_t spa, paddr_t epa, vm_prot_t prot)
{
+ pt_entry_t *pte;
+
while (spa < epa) {
- pmap_kenter_pa(va, spa, prot);
+ pte = vtopte(va);
+
+ *pte = L2_S_PROTO | spa |
+ L2_S_PROT(PTE_KERNEL, prot) | pte_l2_s_cache_mode;
+ cpu_tlb_flushID_SE(va);
va += NBPG;
spa += NBPG;
}
--7fwXp2o0gOrkU5lS--