Re: What memory is DMA'able?

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

 





a.   Access to main memory by devices vs CPU is sequentially accessed - possible or right
 
      Not necessarily. A device and CPU can be accesing two different memory banks. If you look at the multi layered bus architectures different ports of the memory controller could be connected to the CPU and the master devices.

there is no worry on the CPU/linux kernel side about concurrently accessing a block of memory that is being updated by h/w devices at the same time.   Correct?
 
      Correct, u cannot access concurrently the same block of memory.

b.   And in dual core/quadcore, there is still only one system bus is shared among the 4 CPU - for Intel north-south bridge architecture, right?   But in AMD hypertransport the different parts of the memory can be accessed at the same time by different CPU?  (NUMA?)
 
      No idea.

c.   Supposed there are N h/w devices wanting to access the main mem via DMA, so all of them have to go through a DMA controller for memory mapping.   So it is impt on the software or BIOs side to ensure that the physical address allocated to these devices does not collide among themselves, correct?   Is this done in kernel and/or BIOs?
       To my knowledge the physical addresses are assigned neither by kernel nor by the BIOS(of the CPU).The hardware/firmware within dictate the adresses for the system layout.
       Somebody please clarify this.
 
    Regards,
    Srinivas Bakki
      
 

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux