8.0-RC1 panic attaching ppc

John Baldwin jhb at freebsd.org
Thu Sep 24 14:24:35 UTC 2009


On Thursday 24 September 2009 1:25:15 am Daniel O'Connor wrote:
> On Wed, 23 Sep 2009, Attilio Rao wrote:
> > 2009/9/23 Daniel O'Connor <doconnor at gsoft.com.au>:
> > > If I enable the parallel port on this Gigabyte MA7785GM-US2H I get
> > > a trap 12 when booting up.
> > >
> > > I forgot to take a picture of it at the time but I should be able
> > > to reproduce it tomorrow.
> > >
> > > Has anyone seen anything before? (a quick google showed nothing). I
> > > did not see it on 7.2(ish) on the same hardware.
> >
> > Are you able to enable KDB in your kernel config and return a
> > backtrace here?
> 
> Yes, here it is..
> 
> pmap_extract() at pmap_extract+0x13a
> isa_dmarangecheck() at isa_dmarangecheck+0x7a
> isa_dma_init() at isa_dma_init+0xda
> ppc_isa_attach() at ppc_sa_attach+0x40
> device_attach() at device_attach+0x69
> bus_generic_attach() at bus_generic_attach+0x1a
> acpi_attach() at acpi_attach+0x9f8
> 
> (there's more but I imagine the above is probably sufficient).

Can you try this patch perhaps:

Index: sys/amd64/isa/isa_dma.c
===================================================================
--- isa_dma.c	(revision 197430)
+++ isa_dma.c	(working copy)
@@ -247,7 +247,7 @@
 	}
 
 	/* translate to physical */
-	phys = pmap_extract(kernel_pmap, (vm_offset_t)addr);
+	phys = pmap_kextract((vm_offset_t)addr);
 
 	if (flags & ISADMA_RAW) {
 	    dma_auto_mode |= (1 << chan);
@@ -371,7 +371,7 @@
 
 	endva = (vm_offset_t)round_page((vm_offset_t)va + length);
 	for (; va < (caddr_t) endva ; va += PAGE_SIZE) {
-		phys = trunc_page(pmap_extract(kernel_pmap, (vm_offset_t)va));
+		phys = trunc_page(pmap_kextract((vm_offset_t)va));
 		if (phys == 0)
 			panic("isa_dmacheck: no physical page present");
 		if (phys >= ISARAM_END)

-- 
John Baldwin


More information about the freebsd-stable mailing list