Pergunta

Eu estou olhando para um dump de memória de um executável (Xenon) PowerPC compilado com MSVC. A função que eu estou depuração tem um op que o desmontador MSVC chama mtmsree r13. mtmsree não está nos docs IBM para o PPC; o que isso op fazer?

Ele segue imediatamente um mfmsr e, obviamente, ele está se movendo algo para o registo de estado da máquina, mas eu não sei o que esse sufixo ee é suposto dizer. Deve ser algum tipo de cutesy Microsoft apelido para um op os docs PPC chamar algo diferente.

Foi útil?

Solução

A instrução é uma forma estendida da instrução mtmsrd que tem o conjunto L bit (0x00010000). Em vez de modificar toda a MSR, só modifica o EE (de interrupção externa Activar) e RI (recuperável de interrupção) IPV. É mais rápido do que mtmsrd L = 0, uma vez que a execução da sincronização em vez de contexto de sincronização. É uma instrução privilegiada isso irá causar uma exceção para o sistema operacional, e é a seguinte:.. Ainda lento

Há documentação pública para isso no da IBM Livro III: PowerPC Operacional Arquitetura Ambiente v2.02 (página 91), http://www.ibm.com/developerworks/power/library/pa-archguidev2/?S_TACT=105AGX16&S_CMP=LP

  • Lucas H

Outras dicas

Bits 21:30 da instrução mtmsr são 0010010010, 0010110010 não.

Meu palpite é que mtmsree é uma instrução específica de Xenon que define apenas o bit EE na MSR. As máquinas Livro E tem as instruções wrtee e wrteei de fazer isso. Eu gostaria de saber onde encontrar um PEM de Xenon.

Eu escolhi para além do código de máquina para a instrução (011111 01101 00001 00000 0010110010 0) e verifica-se que mtmsree é o que todo mundo só chama mtmsrd.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top