Запустите бинарные файлы Sparc без аппаратного обеспечения Sparc
В последние несколько месяцев мне было любопытно попробовать свои силы в сборке процессора SPARC (V8 или V9). У меня такой вопрос, у меня нет доступа к машине SPARC, есть ли способ запустить двоичные файлы SPARC на моей машине x86? Я посмотрел на QEMU, но не очень уверен, как его настроить.
10 ответов
SimICS эмулирует платформу Sparc. Академические и личные лицензии бесплатны.
Изменить: я не сделал SimICS справедливости в моем первоначальном ответе, это очень полезный инструмент для разработки на основе Sparc. Вы можете анализировать, профилировать и исследовать поведение или код как в пространстве пользователя, так и в пространстве ядра. Я впервые узнал об этом около 10 лет назад, когда он был выпущен Шведским институтом компьютерных наук (SICS). Позже они раскрутили его как коммерческий продукт.
Это эмулирует SparcStation 2 (Sun4c 32-битная SPARCv7), а также Ultra-1 (sun4u 64-битная SPARCv9), что, как я понимаю, довольно велико, так как он использует диски, сброшенные со склада, даже из кадрового буфера.
http://people.csail.mit.edu/fredette/tme/
Что касается разницы между v7 v8 и v9, то Sparc v7 и v8 составляют 32 бита, v9 - это 64 бита. Обратите внимание, что QEMU не так уж и точен в эмуляции и динамически перекомпилируется, поэтому может быть немного быстрее (на практике это довольно медленно), но за счет возможной меньшей совместимости. QEMU для v7-v8 может загружать Linux и большинство BSD и экспериментально Solaris. QEMU для SPARCv9 является экспериментальным.
Я построил TME для Linux, но, вероятно, будет лучше, если вы просто установите NetBSD и создадите его таким образом, чтобы использовать сетевую поддержку, которую он имеет, и старые компиляторы не будут сильно жаловаться на код.
У меня есть несколько исправленных версий здесь https://github.com/cb88/tme Я был бы признателен за помощь в работе над ним, большинство исправлений из NetBSD pkgsrc, но я думаю, что я исправил некоторые другие вещи.
Кроме того, вы можете получить старые подержанные рабочие станции Sun от Ebay примерно за 3/4 ошибок.
Хорошо, вот оно:
- qemu эмулирует код пользователя, а не систему
- tkisem графически отображает внутренние компоненты процессора
- Также есть вещь под названием "ISEM" (эмулятор Sparc для обучения)
Возможно, поиск в Google поможет вам с подробной информацией. Мое мнение - QEMU достаточно хорош для этого.
В дополнение к полной системной эмуляции, QEMU также может эмулировать SPARC на уровне пространства пользователя, так что вы можете написать программу в сборке SPARC и использовать стандартные системные вызовы Linux, и она будет вызывать стандартные версии ядра x86... работает довольно хорошо!!
Если вы не уверены, что хотите изучать сборку SPARC, вы можете вместо этого изучить MIPS. Большинство беспроводных маршрутизаторов основаны на процессорах MIPS и могут работать под управлением Linux. Он похож на SPARC, аналогичного типа, и наряду с SPARC это одна из двух оригинальных архитектур RISC... на мой взгляд, MIPS на самом деле более чистая и элегантная архитектура, чем SPARC, но они оба отличный.
polarhome предлагает доступ оболочки к системе Solaris (которая выглядит как система Sun Sparc, а не x86). Это стоит 10 единиц местной валюты (доллары, евро и т. Д.) Или 2 доллара США, в зависимости от того, что больше.
Похоже, что QEMU делает достаточно эмуляции, чтобы установить SPARC Linux на: http://www.bellard.org/qemu/status.html
В этом случае просто возьмите дистрибутив SPARC (например, Debian), и все готово!
Aeroflex Gaisler имеет коммерческие симуляторы для своих процессоров LEON2, LEON3 и LEON4, которые на самом деле являются SPARC. Существует также ограниченная ознакомительная версия для LEON3.
См. http://www.gaisler.com/index.php/downloads/simulators
Они предоставляют бесплатные кросс-компиляторы GCC для Windows (MinGW) и Linux:
Просто обратите внимание, что если вы собираетесь запустить Solaris позже 2.5.1/5.5, то qemu-sparc вам не поможет. NETBSD и Linux должны работать нормально.
Это связано с тем, что qemu-sparc поддерживает только очень старые процессоры SPARC. Это может привести к тому, что установщик Solaris выдаст ошибку, когда обнаружит, что архитектура устарела, или произойдет сбой / сбой до запуска, если вы попытаетесь установить Solaris 8-11.
Упомянутый ранее, но некоторые детали стоимости: Полнофункциональный 64-ядерный SPARC 2U, способный работать с Solaris 11, можно приобрести у EBay примерно за 400 долларов США, если вы хотите пойти по этому пути. А T5220 сделает солярис 11.
У меня нет опыта работы с другими эмуляторами, упомянутыми здесь, но я также слышал много хорошего о Simics, хотя это дорого.
Пожалуйста, посмотрите на http://www.stromasys.com/, CHARON-SPK отвечает вашим требованиям. Также может помочь http://www.stromasys.ch/virtualization-solutions/virtual-sparcstation/.