qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Arthur Chunqi Li <yzt356@gmail.com>
To: qemu-devel@nongnu.org
Cc: Jan Kiszka <jan.kiszka@web.de>
Subject: [Qemu-devel] The relationship of ide and bmdma in hw/ide module
Date: Fri, 21 Mar 2014 15:24:10 +0800	[thread overview]
Message-ID: <CABpY8MLcxrPja7ht-bVoz37h_4TRNye7GWzy2LxGBJy-OPHg9A@mail.gmail.com> (raw)

Hi there,

I'm trying to record all the disk access in qemu. When I turned on the
DEBUG_IDE flag, I get debug message with "ide" and "bmdma" headers.
While trying to figure out the details, I record all the ioport access
and compared to guest's IO mapping.

Here's my qemu command:
qemu-system-x86_64 -vnc :1 -hda ubuntu64.12.04.3.img -m 512 -machine
pc,accel=kvm -cpu host -smp 4

Here's my guest VM's IO mapping:
root@kvm-ubuntu-1:~# cat /proc/ioports
0000-0cf7 : PCI Bus 0000:00
  0000-001f : dma1
  0020-0021 : pic1
  0040-0043 : timer0
  0050-0053 : timer1
  0060-0060 : keyboard
  0064-0064 : keyboard
  0070-0071 : rtc0
  0080-008f : dma page reg
  00a0-00a1 : pic2
  00c0-00df : dma2
  00f0-00ff : fpu
  0170-0177 : 0000:00:01.1
    0170-0177 : ata_piix
  01f0-01f7 : 0000:00:01.1
    01f0-01f7 : ata_piix
  0376-0376 : 0000:00:01.1
    0376-0376 : ata_piix
  0378-037a : parport0
  03f2-03f2 : floppy
  03f4-03f5 : floppy
  03f6-03f6 : 0000:00:01.1
    03f6-03f6 : ata_piix
  03f7-03f7 : floppy
  03f8-03ff : serial
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
  afe0-afe3 : ACPI GPE0_BLK
  b000-b03f : 0000:00:01.3
    b000-b003 : ACPI PM1a_EVT_BLK
    b004-b005 : ACPI PM1a_CNT_BLK
    b008-b00b : ACPI PM_TMR
    b010-b015 : ACPI CPU throttle
  b100-b10f : 0000:00:01.3
    b100-b107 : piix4_smbus
  c000-c0ff : 0000:00:03.0
    c000-c01f : ne2k-pci
  c100-c10f : 0000:00:01.1
    c100-c10f : ata_piix

I found that "ide" related log are printed when accessing port
0x170~0x177, and "bmdma" related log are printed with port
0xc100~0xc10f.

Thus I get confused of guest OS accessing IDE device via BMDMA. What
is the relationship of IDE and BMDMA? What is the function call
routine when guest OS accesses the IDE device?

Besides, where can I get a detailed information of ATA/IDE programming guidance?

Thanks,
Arthur


-- 
Arthur Chunqi Li
Department of Computer Science
School of EECS
Peking University
Beijing, China

                 reply	other threads:[~2014-03-21  7:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABpY8MLcxrPja7ht-bVoz37h_4TRNye7GWzy2LxGBJy-OPHg9A@mail.gmail.com \
    --to=yzt356@gmail.com \
    --cc=jan.kiszka@web.de \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).