Hi I have seen documents in which DMA is working on the physical addresses. In that The DMA controller is actually using physical address to access the FIFOs. In a recent discussion a question came up that when we implement a driver for DMA whether this will work on physical address or virtual address. In the discussion the term DMA Channel virtualization also came up. Does this have anything to do with Virtual addressing as such. or DMA does not use virtual addressing at all.
What does DMA Channel virtualization mean?
957 Views Asked by achoora At
1
There are 1 best solutions below
Related Questions in DRIVER
- C++ Mongodb driver, not working
- Raspberry PI Compute Module - SPI1
- Insert element into nested array in Mongodb
- Loading a Windows Driver Class other than NetService to act as an NDIS Filter
- where to find oneplus one binaries (Device tree, Vendor, Kernel) to build rom from AOSP?
- Why does this static funtion have three prefixes?
- Is it possible to limit data traffic in kernel USB drivers?
- Twain driver scanner integration in Windows 8.1
- USB3 Controller & Kinect 2
- Connecting R from JSP
- Universal Drivers will run inside Universal Apps in Windows 10?
- USB keeps disconnecting...only for mobile devices
- IoCreateDeviceSecure function denies the access from member in Administrators
- Intel OpenGL Driver bug?
- CoreMediaIO camera driver not detected until restart of application
Related Questions in LINUX-DEVICE-DRIVER
- How to offload NAPI poll function to workqueue
- Kernel module configuration locked built in?
- I want to sleep while holding a mutex
- Insmod is not working
- USB Full Speed polling interval
- disabling CONFIG_NET_DMA
- Measure memory usage of a certain Linux driver module
- Documentation for regulator framework with device tree
- how is DMA-capable memory defined?
- TechWell TW6869 driver does not generate interrupts on embedded device
- How to share same header files between kernel modules and userspace applications.
- Detect active touchscreen on Linux (and if multitouch)
- how to use single platform device driver for multiple devices
- When to Update ALSA Audio Driver Buffer Pointer
- How to print kernel stack's lower and upper address in linux for process using pid and without using pid
Related Questions in DMA
- STM32F4 Handling peripheral error while making a DMA Transfer (RX)
- disabling CONFIG_NET_DMA
- how is DMA-capable memory defined?
- Need Help to Develop Linux PCIe Driver using DMA Concept
- STM32F4 TIM6 interruption doesn't happen while DMA working
- Linux DMA from User Space Bus Error
- What does DMA Channel virtualization mean?
- What is the use of the DMA controller in a processor?
- C++: Using dynamic memory allocation to write a function similar to the C realloc() function (i.e. change it's size)
- Is there a way to read a file into memory using DMA in Linux?
- Direct Memory Access with JTAG in Trust Zone
- FAST DMA benefit from FPGA using threads in C++
- I'm looking for sample code to service the USCI (UART) on an MSP430 via DMA not interrupts
- UART DMA for varying sized arrays
- How to benchmark PCIe and DMA?
Related Questions in MMU
- ARM: Disabling MMU and updating PC
- Does context switch between processes invalidate the MMU(memory control unit)?
- Using MMU to implement resizable arrays
- What does DMA Channel virtualization mean?
- What is PDE cache?
- Why does access to an unmapped location not generate a hardware exception (Microblaze)
- In ARMv7, is the address used in TTBR0 and TTBR1 physical or virtual
- how does kernel code access memory at the assembly level
- Linux /proc/pid/smaps proportional swap (like Pss but for swap)
- What is the downside of updating ARM TTBR(Translate Table Base Register)?
- Problems enabling MMU on ARM Cortex-A8. CPU is S5PV210
- How does MMU deal with Memory mapped registers?
- What is (special in) the elf format for static-pie? And what preforms the fixups to the GOT?
- Why does it take so long for cpu to write memory after it has obtained the physical address?
- Linker : how to place a block of data at a specific address boundary
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Many devices these days come with iommu. This allows the paltform to create a virtual address space for the peripheral bus. This can be used for virtalization and is also useful for DMA when copying a large set of scattered memory pages without supporting scatter gather.