From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=38513 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PIdsC-0001u1-TI for qemu-devel@nongnu.org; Wed, 17 Nov 2010 04:00:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PIdsB-00070O-Ta for qemu-devel@nongnu.org; Wed, 17 Nov 2010 04:00:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57857) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PIdsB-000700-F5 for qemu-devel@nongnu.org; Wed, 17 Nov 2010 04:00:11 -0500 Message-ID: <4CE39975.7020101@redhat.com> Date: Wed, 17 Nov 2010 09:59:33 +0100 From: Gerd Hoffmann MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 04/10] ide: enable preallocated sg lists References: <1289955937-24121-1-git-send-email-agraf@suse.de> <1289955937-24121-5-git-send-email-agraf@suse.de> In-Reply-To: <1289955937-24121-5-git-send-email-agraf@suse.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: tj@kernel.org, Joerg Roedel , Roland Elek , QEMU-devel Developers , Sebastian Herbszt Hi, > + if (s->sg_third_party) { > + /* We've already parsed the guest RAM PRDT. > + * This is essential for AHCI, where the PRDT is in a different > + * format than in IDE BMDMA. > + */ > + memcpy((uint8_t *)&prd, s->sg.sg, sizeof(prd)); > + s->sg.sg++; > + } else { > + cpu_physical_memory_read(bm->cur_addr, (uint8_t *)&prd, 8); > + bm->cur_addr += 8; > + prd.addr = le32_to_cpu(prd.addr); > + prd.size = le32_to_cpu(prd.size); > + } Does it make sense to handle this via IDEBusOps too? cheers, Gerd