Я хочу написать что-нибудь в программе пользователя, например: записать значение 3
в физический адрес 0xF7F4900(260MB)
из начального адреса 0x0
, в то время как все ядро находится в диапазоне 0-240 МБ. Как я могу это сделать? Любая идея, пожалуйста?
С наилучшими пожеланиями.
Я думал, что использовать Mmap, но я думаю, что он получает мне виртуальный адрес.
memfd = open("/dev/mem", O_RDWR);
map = mmap(0xF7F4900, sizeof(int), PROT_WRITE, MAP_SHARED, memfd, 0);
*map = 3;