Message386501
mmap (example, as used in python-periphery) duplicates writes, compared to devmem and a c-periphery on an ARM64 platform (Zynq/Petalinux/Yocto). There are various other reports of duplicated writes using mmap suggesting it is a bug. Example:
fd = os.open("/dev/mem", os.O_RDWR | os.O_SYNC)
mapping = mmap.mmap(fd, 4096, flags=mmap.MAP_SHARED, prot=(mmap.PROT_READ | mmap.PROT_WRITE), offset=0x80000000)
mapping.write(bytearray([0x0,]* 4)) # results in 2 writes, should be 1
mapping.write(bytearray([0x0,]* 8)) # results in 4 writes, should be 1-2 depending on bus width (32b vs 64b)
# OR:
mapping[0:4] = struct.pack("=L", 0x0) # results in 2 writes, should be 1 |
|
Date |
User |
Action |
Args |
2021-02-04 22:45:15 | psswirhun | set | recipients:
+ psswirhun |
2021-02-04 22:45:15 | psswirhun | set | messageid: <1612478715.17.0.31458005009.issue43131@roundup.psfhosted.org> |
2021-02-04 22:45:15 | psswirhun | link | issue43131 messages |
2021-02-04 22:45:15 | psswirhun | create | |
|