Date: Sun, 9 Jul 2000 12:27:59 +0200 (METDST) From: hm@hcs.de (Hellmuth Michaelis) To: dcs@newsguy.com (Daniel C. Sobral) Cc: hm@hcs.de, freebsd-current@FreeBSD.ORG, peter@freebsd.org Subject: Re: config/hints changes: panic booting pcvt kernel Message-ID: <20000709102759.67F2D1029@hcswork.hcs.de> In-Reply-To: <39683F6F.833723A9@newsguy.com> from "Daniel C. Sobral" at "Jul 9, 0 06:01:35 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
From the keyboard of Daniel C. Sobral: > > After the latest config/hints changes, just commenting the syscons driver > > "sc" line and uncommenting the pcvt "vt" line in the GENERIC kernel config > > file, a booting kernel panics after the the message "atkbdc0: <Keyboard > > controller (i8042)> .." with a fatal trap 12, page fault while in kernel mode. > > > > This is reliably reproducible on my 2 test machines running current cvsuped > > a day ago. > > > > I'm now trying and searching for two days and i'm running out of ideas. It > > might be that i'm doing something very stupid here, but i tried hard to make > > shure i'm doing not. Help .... > > I recall there were lots of problems with syscons after the hints > change. *IF* people had the USERCONFIG option, things would work. > Otherwise... > > I do not know if vt suffers from the same problem, nor do I know if the > fix done was specific to syscons or not. Thanks for the reply - it seems indeed to be a strange problem. In the mean- time i found out that the pcvt probe routine was never called until i added something like DEVMETHOD(device_identify, pcvt_identify) to the device methods structure. But the effect is the same, it still panics after atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 with Fatal trap 12: page fault while in kernel mode fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x8:0xc019c73f stack pointer = 0x10:0xc0346aac frame pointer = 0x10:0xc0346aac 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) interrupt mask = net tty bio cam kernel: type 12 trap, code=0 Stopped at strcmp+0x1b: cmpb %al,0(%edx) a ddb trace gives: strcmp(0,c026a120) at strcmp+0x1b kbd_get_switch(c026a120,c0a2d060,c0a6a880,c0346b10,c0241bb8) at kbd_get_switch+$ atkbd_probe_unit(0,0,1,1,c0a2e078) at atkbd_probe_unit+0x10 atkbdprobe(c0a72a80,c0a72a80,c0a6a880,c0a72a80,1) at atkbdprobe+0xdc device_probe_child(c0a6a880,c0a72a80,c0a72a80,c0a6a880,0) at device_probe_child$ device_probe_and_attach(c0a72a80) at device_probe_and_attach+0x35 bus_generic_attach(c0a6a880,c0a2d080,c0a5b780,c0a6a880,1) at bus_generic_attach$ atkbdc_attach(c0a6a880,c0a6a880,c0346bc8,8,0) at atkbdc_attach+0x18c device_probe_and_attach(c0a6a880) at device_probe_and_attach+0x8e isa_probe_children(c0a5b780) at isa_probe_children+0xde configure(0,344c00,34b000,0,c011c6d4) at configure+0x4a mi_startup(c0346fb4,b0246,ffe,34b000,c017417d) at mi_startup+0x70 begin() at begin+0x4b The code where it panics is in /sys/dev/kbd/kbd.c: SLIST_FOREACH(p, &keyboard_drivers, link) { if (strcmp(p->name, driver) == 0) return p->kbdsw; } list = (const keyboard_driver_t **)kbddriver_set.ls_items; while ((p = *list++) != NULL) { if (strcmp(p->name, driver) == 0) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return p->kbdsw; } when this statement should get executed. The strange thing is that now pcvt is correctly probed and attached (and the keyboard is accessed and does function) so the keyboard structures should have been initialised correctly - but still there is this null pointer in the kbd_get_switch ...... Any hints from the more "hints-knowledged" would be highly appreciated .. ;-) hellmuth -- Hellmuth Michaelis Tel +49 40 55 97 47-70 HCS Hanseatischer Computerservice GmbH Fax +49 40 55 97 47-77 Oldesloer Strasse 97-99 Mail hm [at] hcs.de D-22457 Hamburg WWW http://www.hcs.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000709102759.67F2D1029>