Я хочу записать напрямую в адрес физической памяти хоста.
Насколько я знаю, мне нужно выделить виртуальный адрес в моем процессе, и тогда я смогу с ним работать.
В моем коде Python я вижу, что значение памяти было изменено, но в адресе физической памяти это изменение не произошло.
mem_file = os.open("/dev/mem", os.O_SYNC)
bar0 = 0x92000000
mapped_memory = mmap.mmap(mem_file, rounded_to_pagesize ,
mmap.MAP_PRIVATE, mmap.PROT_READ | mmap.PROT_WRITE, 0, bar0)
mapped_memory.read(4)
output: '\x00\x1a\x00\x10'
mapped_memory.seek(0)
mapped_memory.write('0x1')
mapped_memory.seek(0)
mapped_memory.read(4)
output: '0x1\x10\x00\x05\
Но когда я проверяю значение физического адреса, я вижу, что никаких изменений не было сделано, и даже перезапуск этого кода раздела даст мне старый адрес значения.