как newlibc & syscall обрабатывается функциональным симулятором? - PullRequest
0 голосов
/ 05 июля 2019

Я хотел бы написать функциональный симулятор для архитектуры risc-v.Проведя некоторые исследования, я обнаружил, что есть некоторые симуляторы risc-v с открытым исходным кодом, которые утверждают, что могут работать с newlibc.

Я думаю, это означает, что симулятор может правильно обрабатывать программу c, используя стандартную библиотеку c (реализация newlibc).

Мой мозг застрял в этой точке.Поскольку для обработки newlibc симулятор читает только инструкции по сборке (отображение в двоичный файл), означает ли это, что симулятор может обрабатывать все инструкции по сборке, компилируемые из newlibc?

Если я пытаюсь реализовать свой собственныйsimulator, как я могу узнать, какие инструкции по сборке мне нужно включить?

Кроме того, я хочу, чтобы мой simualtor мог обрабатывать системные вызовы ex, printf () -> write (), которые были бы действительнополезно.

Но как мне запустить программу, скомпилированную для riscv, и вызвать системный вызов write () хоста x86 machine для вывода информации на экран?

...