Я использую Linux 32bit v4.1.8 на процессоре PowerPC p4080DS и внешнем графическом процессоре. До сих пор с помощью «обычных» (некоторые предустановленные настройки и дерево устройств) мне удавалось создать область общей памяти между процессором и графическим процессором. По некоторым причинам я изменил начальный адрес ядра Linux с 0xc0000000
на 0x80000000
и увеличил размер lowmems с 0x30000000
до 0x60000000 (page_offset = 0x80000000 , user task_size = 0x80000000 , lowmemsize = 0x60000000)
, и теперь mmap завершается с ошибкой, возвращающей MAP_FAILED
.
Дерево устройств содержит ту же информацию (физический адрес и длину) графического процессора и областей разделяемой памяти, что и раньше - я не менял ее.
Есть ли причина, по которой mmap можетОшибка после перемещения виртуального адреса ядра?