Bug #7775
closedОписание MMU инструкций
0%
Description
В описание mmu инструкций (powerpc_mmu.nml) используются имена sw и lw, которых я не нашел ни в одном мануале. При этом инструкция lw, представляющая собой инструкцию lwa, вообще недоступна на х32 процессорах, в том числе на E500MC.
Надо ли оставить/переделать/заменить эти инструкции?
Updated by Andrei Tatarnikov about 8 years ago
- Assignee set to Pavel Putro
lw and sw are names of MMU instructions from the MIPS ISA. Most likely, these instructions were provided to demonstrate how to specify MMU instructions. If there no such instructions in PowerPC manuals, they must be replaced with correct PowerPC instructions. For now, just comment them out.
Updated by Alexander Protsenko about 8 years ago
- Status changed from New to Feedback
lw - это lwa (EREF_RM.pdf стр 561)
Это же написано в пояснении к инструкции в том же файле "powerpc_mmu.nml" строка 37:
Format: lwa rD,DS(rA)
sw - это stw (EREF_RM.pdf стр 699)
строка в файле "powerpc_mmu.nml" 83
Format: stw rS,D(rA)
Там все соответствует именно этим инструкциям (реализация, Encoding и пр.) кроме самого названия.
Предлагаю заменить "lw" на "lwa", "sw" на "stw" в названии и в syntax. После чего их можно использовать, в том числе и в качестве примера.
Несоответствие синтаксиса это мое упущение, не обратил внимание на самое важное.
Если инструкция не используется при m=32, то предлагаю ее и не использовать.
Нахождение такой инструкции в спецификации на работу всего остального не повлияет.
Если еще остались вопросы с удовольствием на них отвечу.
Updated by Pavel Putro about 8 years ago
Поправил описание mmu инструкций. В дизассемблерных файлах обнаружил, что смещение может быть отрицательным, и рассматриваться, как знаковое число. Добавил такую возможность. Также добавил шаблон для тестирования дизассемблированной функции модуля.
Updated by Sergey Smolov almost 5 years ago
- Detected in build changed from svn to master
Задача ещё актуальна?
Updated by Pavel Putro almost 5 years ago
- Status changed from Feedback to Closed