i386/busdma_machdep.c:998 panic ip=0xdeadc...

Bjoern A. Zeeb bzeeb-lists at lists.zabbadoz.net
Tue Nov 9 01:25:09 PST 2004


Hi,

kernel from just now +

diff -u -p -r1.63 busdma_machdep.c
--- busdma_machdep.c    9 Nov 2004 07:07:54 -0000       1.63
+++ busdma_machdep.c    9 Nov 2004 08:24:55 -0000
@@ -919,7 +919,7 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
        bz->boundary = dmat->boundary;
        snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
        busdma_zonecount++;
-       snprintf(bz->lowaddrid, 18, "%#jx", bz->lowaddr);
+       snprintf(bz->lowaddrid, 18, "%#jx", (uintmax_t)bz->lowaddr);
        STAILQ_INSERT_TAIL(&bounce_zone_list, bz, links);

        sysctl_ctx_init(&bz->sysctl_tree);


[booting]
...
ata0: channel #0 on atapci0


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xdeadc102
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc077772a
stack pointer           = 0x10:0xc0c21b10
frame pointer           = 0x10:0xc0c21b28
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (swapper)
[thread 0]
Stopped at      alloc_bounce_pages+0x46:        pushl   0x24(%esi)
db> where
alloc_bounce_pages(c1978400,c0c21b50,c1a79c00,c0c21b60,c04c6d56) at alloc_bounce_pages+0x46
bus_dmamap_create(c1a79e80,0,c1a79d10) at bus_dmamap_create+0xc3
ata_dmaalloc(c1978400,c1a79c00,c1a79c00,c1a79c00,c0c21b90) at ata_dmaalloc+0x182
ata_channel_attach(c1a79c00,c1a79c00,c19c8480,c1a5a500,c0c21ba0) at ata_channel_attach+0x80
device_attach(c1a79c00,2,c0c21bc0,c04bd890,c1a80780) at device_attach+0x1be
bus_generic_attach(c1a80780,80,80,c1a80780,c1a80780) at bus_generic_attach+0x12
ata_pci_attach(c1a80780,c1a80780,c19c8480,c19c8480,c0c21be8) at ata_pci_attach+0x154
device_attach(c1a80780,c19c8c80,c0c21c1c,c09e7c6c,c19c8480) at device_attach+0x1be
bus_generic_attach(c19c8480,6,c196f3e0,1,c09e7934) at bus_generic_attach+0x12
acpi_pci_attach(c19c8480,c19c8480,c19c8c80,0,c0c21c44) at acpi_pci_attach+0xd0
device_attach(c19c8480,c1a766f4,c0c21c70,c09e7d3c,c19c8c80) at device_attach+0x1be
bus_generic_attach(c19c8c80,c19c8c80,c1a766f4,0,c19c8c80) at bus_generic_attach+0x12
acpi_pcib_attach(c19c8c80,c1a766f4,0,c081a1b8,c19c8c80) at acpi_pcib_attach+0xb4
acpi_pcib_acpi_attach(c19c8c80,c19c8c80,c1a7e1c0,c197f880,c0c21cc8) at acpi_pcib_acpi_attach+0xcf
device_attach(c19c8c80,0,c0c21d04,c09e5bc6,c197f880) at device_attach+0x1be
bus_generic_attach(c197f880,4d1,4d0,c1a70de8,4) at bus_generic_attach+0x12
acpi_attach(c197f880,c197f880,c197fa00,c19ddc00,c0c21d2c) at acpi_attach+0x546
device_attach(c197f880,c197fa00,c0c21d40,c0781fc3,c197fa00) at device_attach+0x1be
bus_generic_attach(c197fa00,c197fa00,c197fa4c,c0c21d58,c0605f8a) at bus_generic_attach+0x12
nexus_attach(c197fa00,c197fa00,c1948a18,0,c0c21d68) at nexus_attach+0x13
--More--        device_attach(c197fa00,c0882e50,c0c21d7c,c0776593,c19c8380) at device_attach+0x1be
root_bus_configure(c19c8380,c080dec5,0,c0c21d98,c05d1583) at root_bus_configure+0x16
configure(0,c1948b60,c1ec00,c1e000,c26000) at configure+0x1b
mi_startup() at mi_startup+0xb3
begin() at begin+0x2c


(gdb) l *0xc077772a
0xc077772a is in alloc_bounce_pages (/u2/src/src/HEAD/compile-20041108-1338/sys/i386/i386/busdma_machdep.c:998).
993                     bpage = (struct bounce_page *)malloc(sizeof(*bpage), M_DEVBUF,
994                                                          M_NOWAIT | M_ZERO);
995
996                     if (bpage == NULL)
997                             break;
998                     bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF,
999                                                              M_NOWAIT, 0ul,
1000                                                             bz->lowaddr,
1001                                                             PAGE_SIZE,
1002                                                             bz->boundary);


Looks like more problems around bz->* I guess :(

- bz

-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT


More information about the freebsd-current mailing list