From owner-freebsd-current Tue Aug 5 20:38:14 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id UAA25291 for current-outgoing; Tue, 5 Aug 1997 20:38:14 -0700 (PDT) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA25286 for ; Tue, 5 Aug 1997 20:38:10 -0700 (PDT) Received: (from msmith@localhost) by genesis.atrad.adelaide.edu.au (8.8.5/8.7.3) id NAA03311; Wed, 6 Aug 1997 13:07:52 +0930 (CST) From: Michael Smith Message-Id: <199708060337.NAA03311@genesis.atrad.adelaide.edu.au> Subject: Re: canonical issue wrt DMA & wd/wdc In-Reply-To: <19569.870837339@connect.com.au> from George Michaelson at "Aug 6, 97 01:15:39 pm" To: ggm@connect.com.au (George Michaelson) Date: Wed, 6 Aug 1997 13:07:52 +0930 (CST) Cc: msmith@atrad.adelaide.edu.au, current@freebsd.org X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk George Michaelson stands accused of saying: > > This is nonsense; you can't put flags on 'wd' instances, and it works > fine on 'wdc' (the only place you _can_ put it). > > Goest thou and read LINT. I'm afraid you can flag wd0 as well as wdc0 > and as I said, flag wdc0 broke for me. Its highly position specific and > by adding said word, config blew up at me. # ST-506, ESDI, and IDE hard disks: `wdc' and `wd' # # NB: ``Enhanced IDE'' is NOT supported at this time. # # The flags fields are used to enable the multi-sector I/O and # the 32BIT I/O modes. The flags may be used in either the controller # definition or in the individual disk definitions. The controller # definition is supported for the boot configuration stuff. # # Each drive has a 16 bit flags value defined: # The low 8 bits are the maximum value for the multi-sector I/O, # where 0xff defaults to the maximum that the drive can handle. # The high bit of the 16 bit flags (0x8000) allows probing for # 32 bit transfers. # # The flags field for the drives can be specified in the controller # specification with the low 16 bits for drive 0, and the high 16 bits # for drive 1. # e.g.: #controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0x00ff8004 vector wdintr # # specifies that drive 0 will be allowed to probe for 32 bit transfers and # a maximum multi-sector transfer of 4 sectors, and drive 1 will not be # allowed to probe for 32 bit transfers, but will allow multi-sector # transfers up to the maximum that the drive supports. # # controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1 I'd have to say I can't see any flags on the 'wdX' entries there, and the syntax given for 'wdc' has worked fine for me ever since it was introduced. > Which flags? The 80ff flags for each channel are required for 32-bit > and multi-block mode to be used, yes. > > Yes, but in the absence of any guidance, what does it buy me? I'm down-speeding > from SPARCland where its all moot. I am not clue-dense with respect to the > advantages one way or another. What more do you need to know that's not covered above? Ifyou know understand, can you encapsulate the information you obtained in a fashion that could be presented to other people in the uninformed state? > Bit concerned you abjure flags can't on devices and can on > controllers. Tain't what I see since cvsup last night. Flags can go on devices and controllers, but not disks. I suspect you are looking at the wrong entry in LINT. (Note the above excerpt is from version 1.356, dated four days ago with my name on it...) -- ]] Mike Smith, Software Engineer msmith@gsoft.com.au [[ ]] Genesis Software genesis@gsoft.com.au [[ ]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ ]] realtime instrument control. (ph) +61-8-8267-3493 [[ ]] Unix hardware collector. "Where are your PEZ?" The Tick [[