[gem5-users] Re: BasicPioDevice read() / write() not responding

2023-10-25 Thread Derek Christ via gem5-users
Hello everyone, I'm hitting the exact same problem on ARM as Andreas. I have a physical address mapped into the virtual address space and marked it as uncacheable. When I now write to the virtual address from my SE-program (multiple times), exactly one read access is made to the corresponding

[gem5-users] Re: BasicPioDevice read() / write() not responding

2021-10-24 Thread diavastos--- via gem5-users
Hi, Thank you for the replies! I mapped the physical address of the device to a virtual address and marked it as uncacheable and did the trick for X86. So now using memcpy() I read/write from and to the device using it's mapped virtual address. However, for ARM it only works for read. Even if

[gem5-users] Re: BasicPioDevice read() / write() not responding

2021-10-23 Thread Gabe Black via gem5-users
I agree with Hoa that you're using virtual addresses, and those are unrelated to the physical addresses you're trying to access. The second method is probably moving an immediate constant into the register, and not loading from a memory address. mmap-ing the physical pages you're interested in woul

[gem5-users] Re: BasicPioDevice read() / write() not responding

2021-10-23 Thread Hoa Nguyen via gem5-users
Hi Andreas, My guess is that for Method 1, the pointer is of a virtual address so there's a page fault there. I'm not sure why the write() function wasn't invoked on Method 2. I got into the same problem recently where I used mmap() to write to a physical address, which should be handled by a Pio