Реклама

Когда Лдакср не работает: исключительный доступ и качаемость на Aarch64

#Когда #Лдакср #Статья #Commissions #Пункты

Статья URL: https://joelsiks.com/posts/aarch64-external-acess-cacheability/Commissions: httpss://news.ycombinator. com/temit?id=50031289 Пункты: 16 # Комментарии: 2

Когда Идакср не работает: исключительный доступ к Arch64 Introduction Ive работал над нитью, моя собственная операционная система (OS) для Aarch64, которая на самом деле является ядром до сих пор, в течение нескольких месяцев после моей последней статьи о "Вмешательствах" и общем контролере Перерывов на AARch64. Прямо сейчас, нитка падает на доски QEMU63s virt и Raspberry Pi 4 (rpi4), а также настоящие аппаратные средства Rapbery Pi 5. Тестирование настоящего оборудования приносит пользу и делает проект захватывающим. Однако, поскольку мы подробно освещаем в этом посте, настоящее оборудование обнаруживает новое измерение возможных сбоев/поводов поведения, которые QEMU не обязательно открывает. Этот пост позволит мне осуществить базовый замок и выяснить, почему исполнение эксклюзивного пакета груза вызывает исключение на реальных аппаратных средствах, но не в QEMU. Мы будем охватывать захватывающую комбинацию областей, включая: вращение шлюзов, обработку исключений, виртуальную память, типы памяти, атрибуты памяти, кашеспособность, различия между QEMU и реальными аппаратными средствами и особенно то, как работают эксклюзивные операции с памятью. Когда я дошёл до того, чтобы создать и загрузить вторичные ядра в процессор, это было подходящее время для получения какой-то формы взаимного исключения. В качестве тривиального примера, каждый сердечник печатает свой идентификатор в настройке пути, например, Running cele 0. Без взаимного исключения, ядро будут гнаться друг с другом и…