From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RfnFu-00032J-7F for qemu-devel@nongnu.org; Wed, 28 Dec 2011 01:44:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RfnFs-0001fr-UH for qemu-devel@nongnu.org; Wed, 28 Dec 2011 01:44:54 -0500 Received: from mail-wi0-f173.google.com ([209.85.212.173]:51182) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RfnFs-0001fZ-Pq for qemu-devel@nongnu.org; Wed, 28 Dec 2011 01:44:52 -0500 Received: by wibhm2 with SMTP id hm2so6183676wib.4 for ; Tue, 27 Dec 2011 22:44:51 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: Date: Tue, 27 Dec 2011 22:44:51 -0800 Message-ID: From: Richard Cole Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] DMA active hw_error List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: qemu-devel@nongnu.org I'll have to learn quite a bit more about QEMU and arm before I'll be able to contribute back any patches. I bought a beagle board today so that at least is a start, being able to compare QEMU to some real hardware. Out of curiosity what is the testing strategy for QEMU. Does one simply write stand alone test programs that are then executed via qemu or is there a more unit test kind of approach? I'm quite new to emulators and such. Is there an issues list for QEMU. Does anyone use github features like being able to comment on particular sources lines or create issues refer to specific lines of code? That would seem a good way to track bugs discovered in the code. A more broad question. Does anyone know why linux doesn't use the DMA? Is the DMA really old school (I grew up with an Amiga that was full of them), or is it just for portability, i.e that DMA differ from platform to platform too much? regards, Richard. On Tue, Dec 27, 2011 at 2:39 PM, Peter Maydell w= rote: > On 27 December 2011 03:21, Richard Cole wrote: >> Another thing I don't understand is the code from this function > >> =A0switch(offset >> 2) >> =A0 =A0case 0: >> =A0 =A0 =A0// src address register >> >> but 0x100 >> 2 does not equal 0. Not even close. Maybe it should be >> >> =A0(offset - 0x100) >> 2? >> >> But that would only work for channel 0. I guess one would then need to >> mod by the size of the channel struct. > > (offset & 0x1f) >> 2 > is probably what you want. (you can see we just used 0xe0 to get > the channel number). > >> Am I completely off base or has this code never been run? > > I expect it hasn't, no. You may be detecting a pattern here :-) > > Free extra bug if you're collecting them: the code that chases > linked lists doesn't handle ch->lli bit 0 properly (it's the > AHB master select bit, so it (and bit 1) should be ignored > when using it as a pointer to load from). > > -- PMM