From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KQ44E-0002Ae-CV for qemu-devel@nongnu.org; Mon, 04 Aug 2008 13:41:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KQ44C-00029y-RN for qemu-devel@nongnu.org; Mon, 04 Aug 2008 13:41:58 -0400 Received: from [199.232.76.173] (port=35471 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KQ44C-00029u-Jo for qemu-devel@nongnu.org; Mon, 04 Aug 2008 13:41:56 -0400 Received: from mail.cs.unm.edu ([64.106.20.33]:39004 helo=snape.cs.unm.edu) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KQ44C-0000Ap-EN for qemu-devel@nongnu.org; Mon, 04 Aug 2008 13:41:56 -0400 Received: from localhost (localhost [127.0.0.1]) by snape.cs.unm.edu (Postfix) with ESMTP id E9C4A6E1E for ; Mon, 4 Aug 2008 11:41:49 -0600 (MDT) Received: from snape.cs.unm.edu ([127.0.0.1]) by localhost (snape.cs.unm.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HtZ8X24ztmu8 for ; Mon, 4 Aug 2008 11:41:47 -0600 (MDT) Received: from cs.unm.edu (webmail.cs.unm.edu [64.106.20.39]) by snape.cs.unm.edu (Postfix) with ESMTP id 0E89D6E1C for ; Mon, 4 Aug 2008 11:41:47 -0600 (MDT) From: "Mohammed Al-Saleh" Date: Mon, 4 Aug 2008 11:42:20 -0600 Message-Id: <20080804173009.M9631@cs.unm.edu> In-Reply-To: <20080727164239.M42198@cs.unm.edu> References: <20080727164239.M42198@cs.unm.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Subject: [Qemu-devel] CD-ROM Reading Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi all; Two methods to read from the CD-ROM depending on the following condition in the hw/ide.c file: if (s->atapi_dma) { ide_atapi_cmd_read_dma(s, lba, nb_sectors, sector_size); } else { ide_atapi_cmd_read_pio(s, lba, nb_sectors, sector_size); } in the first case (ide_atapi_cmd_read_dma), it is obvious how data will be read from the CD-ROM into an io_buffer and then to the RAM. But in the second case(ide_atapi_cmd_read_pio), it is obvious how that data will be read from the CD-ROM into an io_buffer, but it is not obvious how or when the data will written to the RAM. I know that cd_read_sector function (which is called from ide_atapi_cmd_reply_end) in ide.c will copy data from the CD- ROM to an intermediate buffer, but I could not find out when this buffer is written to the RAM. All of what I can see is after reading data, ide_transfer_start and ide_set_irq are called, but then what? how data will go to the RAM? if data will be copied to the RAM implicitly through the interrupt, then where can I find the ultimate function that copies the data to the RAM. Can any body answer my question? it will be very appreciated. Thanks, ...Mohammed -- ------- End of Forwarded Message ------- --