Я немного опаздываю на этот вопрос, а также прошло некоторое время с тех пор, как я выполнил весь низкоуровневый код инициализации процессора на КПП, но, похоже, я помню кеш & MMU довольно тесно связан (один для включения другого) и I думаю в таблицах страниц MMU, вы можете определить атрибут cacheable.
Итак, я хочу сказать следующее: если есть определенное подмножество кода, которое должно выполняться в детерминированное время, возможно, вы найдете этот код (через файл команды компоновщика) в области памяти, которая определяется как не кэшируемая в таблиц страниц? Таким образом, весь код, который может/должен извлечь выгоду из кеша, и, возможно, подмножество кода, которое не должно, не делает этого.
В любом случае я бы справился с этим так, чтобы позже, если вы хотите включить кеширование для части системы, вам просто нужно перевернуть несколько битов в таблицах страниц MMU, а не (переписывать) код инициализации для настройки всех таблиц страниц &.
Вы не можете БЕЗОПАСНО отключить кэши, как описано. Вы должны убедиться, что они не содержат ВСЕ грязных данных! - То есть, вы должны сначала записать все грязные данные в память ПЕРЕД отключением. – 2009-02-16 22:27:55
Справочное руководство PowerPC для вашей конкретной версии ядра сообщает вам, какие последовательности следует использовать для записи всех грязных данных в кеш, прежде чем отключать их. – 2009-02-16 22:31:41