Question : I was wondering how it coped with
the problem that you can only bus-master to physical memory rather than logical memory
(which is how you view it from Win32). Thus if you malloc some memory it may well be
logically a contiguous area but consist of multiple disjoint physical pages.
We are planning on using the C6x EVM for some development for our Ethernet switch
products. I have been reviewing the reference guide documentation for the EVM and have a
question about the bus-mastering operation of the board.
Answer : This must be done at Ring 0
where you can get a contiguous memory buffer and allocate it at physical addresses. Ring 3
(Win32) applications do not have the privilege to do this. Therefore,
you can't just do malloc's to get memory for data transfers. |