Мой код работает на hackintosh? - PullRequest
5 голосов
/ 17 августа 2011

Я разрабатываю драйвер ядра для клиента, который продает его клиенту, который продает его конечному покупателю.Конечный покупатель не только 3 раза удаляется от меня по контракту, но и за многие тысячи миль и дюжину часовых поясов.Поэтому у меня нет прямого доступа к их тестовой среде.

Все тестируется нормально на нескольких машинах и нескольких разных версиях OS X, с которыми я тестирую, и я не могу продублировать некоторые проблемы, которые кажутся

У меня есть крошечное подозрение, что они могут тестировать на hackintosh, и хотя я работаю над сообщаемыми ими проблемами с ракурсов, предполагая, что их тестовая настройка верна, я хотел бы выразить свое подозрениеостальное, добавив код в следующую сборку, которая поможет мне понять, работают ли они на реальном оборудовании Apple или нет.

Сейчас я собираю профиль системы, kernel.log, console.log и USBпрофиль.Если ответ можно найти в одном из них, это было бы еще лучше, но я предполагаю, что это будет не так просто.

  • Какие у меня есть варианты для определения, является ли компьютер моимработает драйвер, состоит из реального оборудования Apple или нет?

Опять же, у меня есть код как в пользовательском пространстве, так и в ядре, поэтому у меня полный доступ к машине, хотя я бы предпочелрешение пользовательского пространства.Код пользовательского пространства запускается от имени пользователя root и запускается при загрузке, прежде чем отобразится логотип Apple.Хотя было бы неплохо поддерживать несколько версий OS X, 10.6.8 - это конкретная версия, на которую мне нужно ориентироваться.

1 Ответ

1 голос
/ 19 августа 2011

Я собираю выходные данные system_profiler с каждого отчета об ошибке, и я могу сравнить оборудование, о котором сообщалось, с списком в EveryMac .

Было бы хорошо, если бы быллучше ответить на этот вопрос в программном обеспечении без компиляции моей собственной базы данных оборудования Mac, но это может быть наиболее полным способом решения этой задачи в программном обеспечении.Вероятно, самый простой способ - опросить реестр IO на наличие нескольких ключевых единиц оборудования (видеокарта, процессор и т. Д.), А затем, как только данные вернутся, локально проверить программное обеспечение на соответствие базе данных известных аппаратных конфигураций Apple.

Пока я проверяю вывод профиля системы вручную.

...