Почти удалось убедить руководство, что QEMU не самый лучший в мире симулятор. Заняло всего полгода. Может быть, получится сэкономить на этом пару человеко-лет мартышкиного труда.
От задачи зависит, конечно. QEMU хорош чтобы андроидные приложения гонять. Если же вам для серьезных дел, типа верификации хардвера или разработки ОС с драйверами, посмотрите Imperas OVPsim например.
названия не помню, но когда мне понадобилось запустить образ в эмуляторе для Cobalt RaQ2 (mips le) - то обнаружилось некоторое количество более других open-source решений, рабочих.
qemu/kvm сейчас мейнстрим, но не стоит считать его единственным и неповторимым.
в полном объёме там невозможно впринципе. Нет тактового генератора, а к тому же есть оптимизатор JIT. Но это не мешает эмулировать перефирийные устройства как можно ближе к тому как их видят драйверы. По-моему, даже очень полезно тестировать работу драйверов на qemu - это поможет найти неявные проблемы с обработкой асинхронных событий.
>Лишь бы ядро Линукса запустилось по минимуму
Ну не только Линукс. Я провозившись несколько месяцев по выходным, приделал эмуляцию Solaris/SPARC. Эмуляцией 32х-битных cпарков я доволен. Не придумал только как заставить его полностью проходить POST из родной прошивки - там используются программые задержки с пустыми циклами, которые qemu нафик оптимизирует.
Реверсинг Solaris и OBP дал столько положительных эмоций, что хочется повторить с какой-нибудь другой, новой для меня, платформой. Вот раздумываю, чем заняться - прикрутить AIX/PPC или что-нибудь на Loongson. Спрашивал МЦСТшников - не хотят ли они Э-90 в qemu увидеть, но они довольны своими личными эмуляторами.
Глянул gem5 - раньше я его не встречал. Код выглядит неплохо. Но сделана только маленькое подмножество архитектуры MIPS, да и другие тоже видимо. На OVPsim же реализовано практически все, что имеется в архитектуре процессора - про MIPS и ARM точно знаю. Это с точки зрения верификации. А для приложений: OVPsim это jit-компилятор, как и QEMU. А gem5 - интерпретатор, т.е. на два-три порядка медленнее.
В полном объеме можно, я собственно этим и занимаюсь по работе. :) Точность будет instruction-accurate, а не cycle-accurate, конечно, но этого вполне достаточно. Оптимизатор jit только мешает, это правда. Для драйверов по большей части годится. Пока не доходит дело до глюков с кэшами или TLB.
Да, с ценами непонятно. С одной стороны - вроде большая и серьёзная контора, с другой - отсутствие прайслиста наводит на подозрения, что цены - сильно договорные.
no subject
Date: 2013-01-27 09:32 (UTC)no subject
Date: 2013-01-27 10:06 (UTC)no subject
Date: 2013-01-27 10:09 (UTC)no subject
Date: 2013-01-27 10:19 (UTC)qemu/kvm сейчас мейнстрим, но не стоит считать его единственным и неповторимым.
no subject
Date: 2013-01-28 09:29 (UTC)...Как ths погиб так все и захирело...
no subject
Date: 2013-01-30 22:16 (UTC)no subject
Date: 2013-02-01 09:23 (UTC)в полном объёме там невозможно впринципе. Нет тактового генератора, а к тому же есть оптимизатор JIT. Но это не мешает эмулировать перефирийные устройства как можно ближе к тому как их видят драйверы. По-моему, даже очень полезно тестировать работу драйверов на qemu - это поможет найти неявные проблемы с обработкой асинхронных событий.
>Лишь бы ядро Линукса запустилось по минимуму
Ну не только Линукс. Я провозившись несколько месяцев по выходным, приделал эмуляцию Solaris/SPARC. Эмуляцией 32х-битных cпарков я доволен. Не придумал только как заставить его полностью проходить POST из родной прошивки - там используются программые задержки с пустыми циклами, которые qemu нафик оптимизирует.
Реверсинг Solaris и OBP дал столько положительных эмоций, что хочется повторить с какой-нибудь другой, новой для меня, платформой. Вот раздумываю, чем заняться - прикрутить AIX/PPC или что-нибудь на Loongson. Спрашивал МЦСТшников - не хотят ли они Э-90 в qemu увидеть, но они довольны своими личными эмуляторами.
no subject
Date: 2013-02-01 09:29 (UTC)Т.е. новых патчей от Рида ждать не приходится?
no subject
Date: 2013-02-01 09:33 (UTC)no subject
Date: 2013-02-02 06:04 (UTC)no subject
Date: 2013-02-02 06:32 (UTC)no subject
Date: 2013-02-02 06:49 (UTC)Точность будет instruction-accurate, а не cycle-accurate, конечно, но этого вполне достаточно. Оптимизатор jit только мешает, это правда. Для драйверов по большей части годится. Пока не доходит дело до глюков с кэшами или TLB.
no subject
Date: 2013-02-07 14:41 (UTC)no subject
Date: 2013-02-12 16:54 (UTC)MIPS R3000 под qemu
Date: 2014-01-14 10:03 (UTC)