В последние несколько месяцев мне было любопытно попробовать свои силы в сборке процессора SPARC (V8 или V9). Мой вопрос в том, что у меня нет доступа к машине SPARC, есть ли способ запустить двоичные файлы SPARC на моей машине x86? Я смотрел QEMU, но не совсем уверен, как его настроить.
Запускайте двоичные файлы Sparc без оборудования Sparc
Ответы (10)
SimICS имитирует платформу Sparc. Академические и личные лицензии бесплатны.
Изменить: Я не воздал должное SimICS в моем первоначальном ответе, это очень полезный инструмент для разработки на основе Sparc. Вы можете инструментировать, профилировать и исследовать поведение или код как в пространстве пользователя, так и в пространстве ядра. Впервые я узнал об этом около 10 лет назад, когда он был выпущен Шведским институтом компьютерных наук (SICS). Позже они выпустили его как коммерческий продукт.
Хорошо, вот оно:
- qemu эмулирует код пользователя, а не систему
- tkisem графически отображает внутреннее устройство процессора
- Также есть вещь под названием "ISEM" (Instructional Sparc Emulator).
Возможно, поиск в Google поможет вам получить подробную информацию. Мое мнение - qemu для этого достаточно хорош.
Кроме того, вы можете получить старые бывшие в употреблении рабочие станции Sun с помощью Ebay 3/4 файла buggerall.
Помимо полной эмуляции системы, QEMU может также эмулировать SPARC на уровне пользовательского пространства, так что вы можете написать программу на сборке SPARC и использовать стандартные системные вызовы Linux, и она будет вызывать стандартные версии ядра x86 ... работает довольно хорошо. !!
Если вы не уверены, что хотите конкретно изучить сборку SPARC, вы можете вместо этого изучить MIPS. Большинство беспроводных маршрутизаторов основаны на процессорах MIPS и могут работать под управлением Linux. Он похож на SPARC того же года изготовления, и наряду с SPARC это одна из двух оригинальных архитектур RISC ... на мой взгляд, MIPS на самом деле немного более чистой и элегантной архитектуры, чем SPARC, но они оба великолепны.
Похоже, QEMU выполняет достаточно эмуляции, чтобы вы могли установить SPARC Linux на: http://www.bellard.org/qemu/status.html
В этом случае просто возьмите дистрибутив SPARC (например, Debian), и вы все готово!
polarhome предлагает доступ к оболочке для системы Solaris (которая выглядит как система Sun Sparc, а не x86). Он стоит 10 единиц местной валюты (долларов, евро и т. Д.) Или 2 доллара США, в зависимости от того, какая сумма больше.
Это эмулирует SparcStation 2 (sun4c 32bit SPARCv7), а также Ultra-1 (sun4u 64bit 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, но я думаю, что убрал еще несколько вещей.
У Aeroflex Gaisler есть коммерческие симуляторы для своих процессоров LEON2, LEON3 и LEON4, которые на самом деле являются SPARC. Существует также ограниченная ознакомительная версия для LEON3.
См. http://www.gaisler.com/index.php/downloads/simulators
Они предоставляют бесплатные кросс-компиляторы GCC для Windows (MinGW) и Linux:
http://www.gaisler.com/index.php/downloads/compilers
Взгляните на http://www.stromasys.com, CHARON-SPK соответствует вашим требованиям. Также http://www.stromasys.ch/virtualization-solutions/virtual-sparcstation/ может помочь.
Обратите внимание: если вы собираетесь запускать 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 будет работать с Solaris 11.
У меня нет опыта работы с другими эмуляторами, упомянутыми здесь, но я слышал хорошие отзывы о Simics, хотя это дорого.