README.md

QEMU JIT PLAYGROUND

Проект-обретка для лекции “QEMU TCG”.

  • qemu с патчами “TCG code quality tracking”;
  • riscv-tests с добавленным примером для “бесконечного” цикла;

Сборка проекта

Для сборки необходим тулчэйн riscv64-unknown-elf - подойдёт любой в том числе и штатно поставляемый дистрибутивами. По умолчанию проект подразумевает, что он находится в /opt/riscv64.

Толгда для сборки достаточно просто вызвать make:

qemu-jit-playground $ make

Загрузка примеров

build-qemu/qemu-system-riscv32 -M virt -bios riscv-tests/qemu/virt32-pt-loop -d in_asm,op,op_opt,op_ind,out_asm -dfilter 0x8000018c..0x80000198 -nographic -serial mon:stdio

Где:

  • -bios riscv-tests/qemu/virt32-pt-loop путь к собранному примеру;
  • -dfilter 0x8000018c..0x80000198 желаемый диапазон адресов для филтрации (опционально);
  • -d in_asm,op,op_opt,op_ind,out_asm вывод интересующих стадий трансляции (опционально);

ВНИМАНИЕ: Примеры ничего не пишут в консоль, они молчаливы.

Использование gdb:

qemu-jit-playground $ riscv64-unknown-linux-gnu-gdb riscv-tests/qemu/virt32-pt-loop -ex 'target remote localhost:1234'

С помощью gdb можно так же загрузить интересующий пример в память с помощью команды load.

Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики