Project

General

Profile

Actions

Bug #7775

closed

Описание MMU инструкций

Added by Pavel Putro about 8 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
12/01/2016
Due date:
% Done:

0%

Estimated time:
Detected in build:
master
Platform:
Published in build:

Description

В описание mmu инструкций (powerpc_mmu.nml) используются имена sw и lw, которых я не нашел ни в одном мануале. При этом инструкция lw, представляющая собой инструкцию lwa, вообще недоступна на х32 процессорах, в том числе на E500MC.
Надо ли оставить/переделать/заменить эти инструкции?

Actions #1

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.

Actions #2

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, то предлагаю ее и не использовать.
Нахождение такой инструкции в спецификации на работу всего остального не повлияет.

Если еще остались вопросы с удовольствием на них отвечу.

Actions #3

Updated by Pavel Putro about 8 years ago

Поправил описание mmu инструкций. В дизассемблерных файлах обнаружил, что смещение может быть отрицательным, и рассматриваться, как знаковое число. Добавил такую возможность. Также добавил шаблон для тестирования дизассемблированной функции модуля.

Actions #4

Updated by Sergey Smolov almost 5 years ago

  • Detected in build changed from svn to master

Задача ещё актуальна?

Actions #5

Updated by Pavel Putro almost 5 years ago

  • Status changed from Feedback to Closed
Actions

Also available in: Atom PDF