qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] IDE busmaster DMA support
@ 2005-09-30 10:15 GaLi
  2005-09-30 11:17 ` Hetz Ben Hamo
  2005-09-30 15:16 ` Lennert Buytenhek
  0 siblings, 2 replies; 6+ messages in thread
From: GaLi @ 2005-09-30 10:15 UTC (permalink / raw)
  To: qemu-devel


Hi,

I'm trying to write an IDE driver with busmaster DMA support.
My problem is that I can't get the right controller registers addresses.

In the IDE BusMaster DMA specification :

"The control registers for the controller are allocated via the
devices Base Address register at offset 0x20 in PCI configuration
space."

If I read the word at offset 0x20 in the PCI configuration space, I get 
0xc001. But if I boot qemu with a linux live-cd, it tells me that BM-DMA 
is at 0xc000

Do I have to init the PCI IDE controller or something ?

^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: [Qemu-devel] IDE busmaster DMA support
@ 2005-09-30 12:04 Juergen Keil
  2005-09-30 13:00 ` GaLi
  0 siblings, 1 reply; 6+ messages in thread
From: Juergen Keil @ 2005-09-30 12:04 UTC (permalink / raw)
  To: qemu-devel


> I'm trying to write an IDE driver with busmaster DMA support.
> My problem is that I can't get the right controller registers addresses.
> 
> In the IDE BusMaster DMA specification :
> 
> "The control registers for the controller are allocated via the
> devices Base Address register at offset 0x20 in PCI configuration
> space."
> 
> If I read the word at offset 0x20 in the PCI configuration space, I get 
> 0xc001. But if I boot qemu with a linux live-cd, it tells me that BM-DMA 
> is at 0xc000
> 
> Do I have to init the PCI IDE controller or something ?

Bit 0 encodes if the registers are in IO (1) or in memory (0) space.
You get the IO base address by using a 0xfffffffe mask.

For memory space the mask is 0xfffffff0, the low four bits encode
a few memory properties (prefetch, 32-bit vs. 64-bit memory addresses).

See the PCI spec for more details. Or for example the PCI_BASE_* defines here:

  http://cvs.opensolaris.org/source/xref/usr/src/uts/common/sys/pci.h#519 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-09-30 15:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-30 10:15 [Qemu-devel] IDE busmaster DMA support GaLi
2005-09-30 11:17 ` Hetz Ben Hamo
2005-09-30 12:20   ` GaLi
2005-09-30 15:16 ` Lennert Buytenhek
  -- strict thread matches above, loose matches on Subject: below --
2005-09-30 12:04 Juergen Keil
2005-09-30 13:00 ` GaLi

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).