Question about pci memory space address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here is a system for example:
  Pentium M processor with 32bits address pins,
  Intel 440FX chip,
  A PCI device with 32bits address pins.
  See the ascii picture below.

Assume that the pci device BAR0 is in memory space, 10Mb in size.

After initialization, BAR0 is assigned an address. I don't
understand to which space this address belong.

For example, if BAR0 is assigned 0xffff1000,

I call the address on host bus is in "host address space",
the address on the pci bus is in "pci address space".

Which space does 0xffff1000 belong to?

Does 440FX translate an address in "pci address space" to an address in
"host address space"? Or BAR0 has all ready been assigned an address
in "host address space"?

In other words, is there an address translation table inside the 440FX chip?
Or does it just passthrough the address between host bus and pci bus?


+----------+
|          |
|   cpu    |
|          |
+----------+
     |
=======================(host bus)
   |
+----------+
|          |
|   440FX  |
|          |
+----------+
   |
========================(pci bus)
     |
+----------+
|          |
| PCI dev  |
|          |
+----------+

--
ZHANG?Zhaolong


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux