Запуск двоичных файлов Sparc без оборудования Sparc

StackOverflow https://stackoverflow.com/questions/160800

  •  03-07-2019
  •  | 
  •  

Вопрос

В последние несколько месяцев мне было любопытно попробовать свои силы в сборке для процессора SPARC (либо V8, либо V9).Мой вопрос заключается в следующем, у меня нет доступа к машине SPARC, есть ли способ, которым я могу запускать двоичные файлы SPARC на моей машине x86?Я посмотрел на QEMU, но я не слишком уверен, как его настроить.

Это было полезно?

Решение

СимИКС эмулирует платформу Sparc.Академические и персональные лицензии предоставляются бесплатно.

Редактировать: Я не отдал должное SimICS в своем первоначальном ответе, это очень полезный инструмент для разработки на основе Sparc.Вы можете измерять, профилировать и исследовать поведение или код как в пространстве пользователя, так и в пространстве ядра.Впервые я узнал о нем около 10 лет назад, когда он был выпущен Шведским институтом компьютерных наук (SICS).Позже они выпустили его в качестве коммерческого продукта.

Другие советы

Ладно, вот оно:

  • qemu эмулирует пользовательский код, а не систему
  • tkisem графически отображает внутренние компоненты процессора
  • Кроме того, существует штука под названием "ISEM" (Обучающий эмулятор Sparc).

Возможно, поиск в Google поможет вам получить подробную информацию.Мое мнение - qemu достаточно хорош для этого.

Кроме того, вы можете отключить старые подержанные рабочие станции Sun Ebay примерно на 3/4 фарша.

В дополнение к полной системной эмуляции, QEMU также может эмулировать SPARC на уровне пользовательского пространства, так что вы можете написать программу на SPARC assembly и использовать стандартные системные вызовы Linux, и она будет вызывать стандартные версии ядра x86...работает очень хорошо!!

Если вы не уверены, что хотите изучать сборку SPARC конкретно, вы можете вместо этого заглянуть в MIPS.Большинство беспроводных маршрутизаторов основаны на процессорах MIPS и могут работать под управлением Linux.Он похож на SPARC, аналогичного образца, и наряду с SPARC это одна из двух оригинальных архитектур RISC...на мой взгляд, MIPS на самом деле немного Еще архитектура у них более чистая и элегантная, чем у SPARC, но они оба великолепны.

Похоже, QEMU выполняет достаточную эмуляцию, чтобы вы могли установить SPARC Linux на: http://www.bellard.org/qemu/status.html

В этом случае просто возьмите дистрибутив SPARC (например, Debian), и у вас все готово!

полярный дом предлагает доступ оболочки к системе 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 для версий 7-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, хотя они и дорогие.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top