we are trying write diagnostics application in user space. the criteria for the diagnostics is that the testing should be done in user space as much as possible. and we need to run the application on top of linux. cpu is powerPC.
memory test. how do you implement memory test from user space. If it's done in user space, there are only 2 options. The first option is using mmap but with mmap option, how do you know which area of memories are availble for testig, and which ones are used by other processes and kernels. The other option is to test memory using the virtual address returned by malloc. But this way, when you have a failure, how do you know which physical memory location is faulty? In both cases, do we need to be concerned with paging?
- do you also use mmap to access PCI device, pretty much the same way that you use mmap to access physical memory?
- For certain hardware such as FE, the buffer address required by the hardware has to be in physical address form. From user space, malloc returns virtual address. How do you convert this to physical address so that it can be used by the hardware. Also, how do you ensure that no pagin occurs.
- last but not least. Interrupt. I think you mentioned this to me when we met. Do we implement kernel driver to handle hardware interrupt? This driver will dispatch interrupt to the user app??
thank you in advance