Ошибка mmap после изменения начального адреса ядра - PullRequest
0 голосов
/ 22 октября 2019

Я использую 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 можетОшибка после перемещения виртуального адреса ядра?

1 Ответ

0 голосов
/ 31 октября 2019

Ответ в том, что я не оставил достаточно виртуального пространства, как того требует процесс. Ошибка mmap, потому что процессу не хватает виртуальной памяти независимо от перемещения ядра.

...