From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Fri, 4 Jan 2013 14:44:43 -0500 To: 9fans@9fans.net Message-ID: <7521b5d1fdc0098bceb82c83660444bf@ladd.quanstro.net> In-Reply-To: <20130104202252.0b9bec10@zinc.9fans.fr> References: <20130104194803.02fa087b@zinc.9fans.fr> <6e680bde0bcfb96fa20d42f2371e075f@hamnavoe.com> <20130104202252.0b9bec10@zinc.9fans.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] 9atom Topicbox-Message-UUID: fe0e7aa2-ead7-11e9-9d60-3106f5b1d025 > Surprisingly, I have another version of this patch > which should convince your former colleague :-) >=20 > http://www.9legacy.org/9legacy/patch/pc-sdata-dma.diff @@ -455,6 +455,8 @@ and .I slot to use as a root device for bootstrapping. +.SS \fL*nodma=3D\fP +Disable DMA on (S)ATA controllers. it's a pretty consistent mistake in plan 9 (and elsewhere)=20 that ide is confused with ata or sata. these the are all on different levels. "Disable DMA on IDE controllers." ide device register set (analogue FIS) sata on-the-wire protocol (analogue pata) ata abstract command set. ahci is not in this list because it's a programming interface that is not directly tied to the hardware. there are other programming interfaces for the same hardware. (e.g. marvell & lsi interfaces.) "sdata" is a misleading name, since it implies that it actually handles the read/write =E2=86=94 ata command translation. what it does is translate between read/write and ata+ide in one fell swoop. this sounds economical, until one realizes that things like PUIS (power-up in standby) and SCT are fancy protocols that happen at the ATA layer, and if not abstracted, need to be repeated for every driver. in essence, this is the rationale for the fis library: it's tiresome rewriting the PUIS protocol. - erik