Может быть, вопрос в том, ли внешние прерывания вообще направляются на PowerPC? Я смотрел http://www.ibm.com/developerworks/eserver/library/es-archguide-v2.html, 'book 3', пытаясь выяснить, как процессор находит соответствующую процедуру обслуживания прерывания в ответ на внешнее прерывание. Похоже, это предполагает, что когда PPC распознает внешнее прерывание, он просто перескакивает выполнение на 0x0000_0500.
Возможно, я ошибаюсь в том, как работает PPC. В x86 процессор отвечает на запросы прерывания циклом подтверждения прерывания и получает «вектор» непосредственно от устройства. Затем вектор (на самом деле индекс) позволяет процессору выбрать подходящую процедуру-обработчик из своей таблицы векторов прерываний. Что наиболее важно, это подтверждение / выборка вектора - это аппаратная вещь, вещь с протоколом шины, и никто не должен писать какой-либо код, чтобы это произошло. Единственный код, который нужно писать (читать, программное обеспечение), - это сами ISR.
Есть ли у PPC что-то подобное? Будет ли таблица векторов по адресу 0x500? Или он делает что-то кардинально иное и разгружает функцию передачи вектора устройства внешнему контроллеру прерываний? Я предполагаю, что он мог просто перейти к коду на 0x500, где реальное программное обеспечение затем опрашивало бы (гипотетический?) Контроллер прерывания, чтобы получить вектор ... и затем использовать его в таблице переходов / что-то -вы, но я не могу найти документацию, подтверждающую, что это так, так или иначе.