Date: Wed, 04 May 2016 06:54:34 -0700 From: John Baldwin <jhb@freebsd.org> To: Joel Dahl <joel@vnode.se> Cc: freebsd-current@freebsd.org, Michael Butler <imb@protected-networks.net>, Larry Rosenman <ler@lerctr.org> Subject: Re: boot with floppy enabled doesn't..... Message-ID: <4820633.yAoBQiERYH@ralph.baldwin.cx> In-Reply-To: <20160504075145.GA6385@ymer.vnode.se> References: <0b555735ed2b24d5974f2357f3888d05@thebighonker.lerctr.org> <11150830.3czo4Xak1q@ralph.baldwin.cx> <20160504075145.GA6385@ymer.vnode.se>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, May 04, 2016 09:51:45 AM Joel Dahl wrote: > On Tue, May 03, 2016 at 03:52:43PM -0700, John Baldwin wrote: > > On Tuesday, May 03, 2016 10:20:21 PM Joel Dahl wrote: > > > On Tue, May 03, 2016 at 12:58:15PM -0700, John Baldwin wrote: > > > > On Tuesday, May 03, 2016 03:37:27 PM Michael Butler wrote: > > > > > On 05/03/16 11:21, Larry Rosenman wrote: > > > > > > On 2016-05-03 05:49, Joel Dahl wrote: > > > > > >> On Sat, Apr 30, 2016 at 10:36:53PM -0500, Larry Rosenman wrote: > > > > > >>> On a current -CURRENT if my Floppy disk controller and device are > > > > > >>> ENABLED, we do NOT pass mount root, and the floppy disk > > > > > >>> light is ON. > > > > > >> > > > > > >> Just a "me too". But this is with VMware Fusion. If I disable the > > > > > >> floppy from > > > > > >> BIOS, the virtual machine boots. If I leave it enabled, it hangs. > > > > > > Thanks for posting that I'm not the only one, and it's not flakey hardware. > > > > > > > > > > > > > > > > I have an, otherwise extremely reliable but ancient, Intel TR440BXA > > > > > motherboard doing this :-( > > > > > > > > > > What drove me mad for a while is that I have an identical machine, with > > > > > exception of 10k RPM SCSI disks, which doesn't hang. I simply optioned > > > > > out "device fdc" and it's behaved ever since, > > > > > > > > Larry wasn't able to get into DDB when his box hung, are either of you able > > > > to get into DDB when it hangs? > > > > > > Um, ctrl-alt-backspace doesn't work for me, but ctrl-alt-esc does. > > > > > > I uploaded a few screenshots here: https://www.vnode.se/files/freebsd/ > > > > Thanks. It seems like the fdc worker thread isn't there and GEOM is stuck > > waiting for that thread to do something (well waiting for the commands > > that thread handles to be executed). > > > > First step would be just add a 'panic' to fdc_start_worker() in fdc.c at > > the end to make sure it is getting called. (And when it drops you into ddb > > you should be able to see the fdc0 kproc in 'ps' output). > > I did this, but no change. It hangs at the same place, so I guess the added > panic() is never called. The logic in fdc_acpi.c is a bit odd to follow, it sometimes goes to 'out' in the success case which is unusual. As a result, if your fdc device doesn't have an _FDE entry in the ACPI namespace we wouldn't start the worker thread. Try this change: Index: fdc_acpi.c =================================================================== --- fdc_acpi.c (revision 298950) +++ fdc_acpi.c (working copy) @@ -135,14 +135,13 @@ fdc_acpi_attach(device_t dev) obj = buf.Pointer; error = fdc_acpi_probe_children(bus, dev, obj->Buffer.Pointer); - if (error == 0) - fdc_start_worker(dev); - out: if (buf.Pointer) free(buf.Pointer, M_TEMP); if (error != 0) fdc_release_resources(sc); + else + fdc_start_worker(dev); return (error); } > > -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4820633.yAoBQiERYH>