On Thu, 14 Mar 2002, M. Warner Losh wrote:

> In message: <[EMAIL PROTECTED]>
>             Gavin Atkinson <[EMAIL PROTECTED]> writes:
> : The patches never fixed one of the panics I see, with a GlobalVillage
> : Ethernet/Modem card. The kernel still traps with a page fault in
> : pccard_scan_cis, however with the patches, this now nanifests itself with
> : the panic message "vm_fault: fault on nofault entry".
>
> The pccard_scan_cis stuff is due to a memory mapping problem that I'm
> seeing on some cards.  :-(.
>
> I'm reverting back to an earlier version of the cardbus code for teh
> DP1 release and then trying again after DP1 is out.

With the reverted code, I still have th3e same panic problems. (see below)

I'm in no rush for this to work, it's only my backup modem, but if I can
help in any way, feel free to contact me off list.

Gavin



GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
IdlePTD at phsyical address 0x004e8000
initial pcb at physical address 0x003d0f00
panicstr: from debugger
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xc9a30000
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc01869d0
stack pointer           = 0x10:0xc8d12a18
frame pointer           = 0x10:0xc8d12c0c
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         = 2 (pccbb0)
panic: from debugger
panic: from debugger
Uptime: 17s
pfs_vncache_unload(): 1 entries remaining

dumping to dev ad0s1b, offset 454912
dump ata0: resetting devices .. done
127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 
106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 
51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 
22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:505
505             if (!dodump)
(kgdb) where
 [snipped stuff inside debugger]
#10 0xc030803b in trap (frame={tf_fs = -1062010856, tf_es = -925827056,
      tf_ds = -1072168944, tf_edi = 0, tf_esi = -1048517120,
      tf_ebp = -925815796, tf_isp = -925816316, tf_ebx = -1049120432,
      tf_edx = -912068608, tf_ecx = -1047923136, tf_eax = 4096,
      tf_trapno = 12, tf_err = 0, tf_eip = -1072141872, tf_cs = 8,
      tf_eflags = 66050, tf_esp = -1049120344, tf_ss = -1048517120})
    at /usr/src/sys/i386/i386/trap.c:433
---Type <return> to continue, or q <return> to quit---
#11 0xc01869d0 in pccard_scan_cis (dev=0xc1816a80,
    fct=0xc0187810 <pccard_parse_cis_tuple>, arg=0xc8d12c20)
    at machine/bus_at386.h:202
#12 0xc0186861 in pccard_read_cis (sc=0xc0b3d000)
    at /usr/src/sys/dev/pccard/pccard_cis.c:99
#13 0xc0184ddd in pccard_attach_card (dev=0xc1816a80)
    at /usr/src/sys/dev/pccard/pccard.c:160
#14 0xc018b5a2 in pccbb_insert (sc=0xc0b3d200) at card_if.h:67
#15 0xc018b421 in pccbb_event_thread (arg=0xc0b3d200)
    at /usr/src/sys/dev/pccbb/pccbb.c:867
#16 0xc01dfce4 in fork_exit (callout=0xc018b3c4 <pccbb_event_thread>,
    arg=0xc0b3d200, frame=0xc8d12d48) at /usr/src/sys/kern/kern_fork.c:799
(kgdb) f 11
#11 0xc01869d0 in pccard_scan_cis (dev=0xc1816a80,
    fct=0xc0187810 <pccard_parse_cis_tuple>, arg=0xc8d12c20)
    at machine/bus_at386.h:202
202                     return (inb(handle + offset));
(kgdb) l
197     {
198     #if defined (_I386_BUS_PIO_H_)
199     #if defined (_I386_BUS_MEMIO_H_)
200             if (tag == I386_BUS_SPACE_IO)
201     #endif
202                     return (inb(handle + offset));
203     #endif
204     #if defined (_I386_BUS_MEMIO_H_)
205             return (*(volatile u_int8_t *)(handle + offset));
206     #endif
(kgdb) p handle
$1 = 0
(kgdb) p offset
$2 = 0
(kgdb) up
#12 0xc0186861 in pccard_read_cis (sc=0xc0b3d000)
    at /usr/src/sys/dev/pccard/pccard_cis.c:99
99              if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple,
(kgdb) l
94              state.card->product = PCMCIA_PRODUCT_INVALID;
95              STAILQ_INIT(&state.card->pf_head);
96
97              state.pf = NULL;
98
99              if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple,
100                 &state) == -1)
101                     state.card->error++;
102     }
103
(kgdb) l -
84              state.card = &sc->card;
85
86              state.card->error = 0;
87              state.card->cis1_major = -1;
88              state.card->cis1_minor = -1;
89              state.card->cis1_info[0] = NULL;
90              state.card->cis1_info[1] = NULL;
91              state.card->cis1_info[2] = NULL;
92              state.card->cis1_info[3] = NULL;
93              state.card->manufacturer = PCMCIA_VENDOR_INVALID;
(kgdb) l -
74      static int decode_funce(struct pccard_tuple *, struct pccard_function *);
75
76      void
77      pccard_read_cis(struct pccard_softc *sc)
78      {
79              struct cis_state state;
80
81              state.count = 0;
82              state.gotmfc = 0;
83
(kgdb) up
#13 0xc0184ddd in pccard_attach_card (dev=0xc1816a80)
    at /usr/src/sys/dev/pccard/pccard.c:160
160             pccard_read_cis(sc);
(kgdb) p sc
$4 = (struct pccard_softc *) 0xc0b3d000
(kgdb) p *sc
$5 = {dev = 0xc1816a80, card = {cis1_major = -1, cis1_minor = -1,
    cis1_info_buf = '\000' <repeats 255 times>, cis1_info = {0x0, 0x0, 0x0,
      0x0}, manufacturer = -1, product = -1, prodext = 0, error = 0,
    pf_head = {stqh_first = 0x0, stqh_last = 0xc0b3d128}},
  sc_enabled_count = 0}
(kgdb) down
#12 0xc0186861 in pccard_read_cis (sc=0xc0b3d000)
    at /usr/src/sys/dev/pccard/pccard_cis.c:99
99              if (pccard_scan_cis(sc->dev, pccard_parse_cis_tuple,
(kgdb)


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to