185 похожих чатов

Я несколько запуталась... Иными словами, если у меня физически 0x2DF0

и виртуальный 0x3DF0 с выравниваем, что прописано в program header'е для этого сегмента, в 0x1000, то мне всё равно нужно мапать сегмент по адресу 0x3DF0 относительного базового адреса?

14 ответов

21 просмотр

байтики из адреса 0x2DF0 должны мапиться в 0x3DF0, если страницами то получается так: 0x2000 -> 0x3000

Если вы работаете с системой с виртуальными адресами, то вы смотрите на p_vaddr и p_align. Если адреса физические, то смотрите на p_addr.

disba1ancer
p_align в обоих случаях надо учитывать

ммм. а зачем? там, вроде, без разницы.

Михаил Бахтерев
ммм. а зачем? там, вроде, без разницы.

физическое начало должно продолжать соответствовать виртуальному адресу

disba1ancer
физическое начало должно продолжать соответствоват...

так если нет виртуальной памяти, зачем? там же есть p_paddr для физической памяти.

Михаил Бахтерев
так если нет виртуальной памяти, зачем? там же ест...

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

disba1ancer
предполагается, что она есть, когда нет, можно заб...

если предполагается, что потом включиться страничная трансляция, то, конечно, разумно так делать. но, например, в какой-нибудь встройке жаба давит оставлять дыры.

Михаил Бахтерев
если предполагается, что потом включиться страничн...

тогда пихай всё в один сегмент, но совсем от дыр это не избавит, ибо заголовки тоже занимают место

Михаил Бахтерев
если предполагается, что потом включиться страничн...

кстати, если во встройке нет страничной адресации, то и тащить elf туда глупо

disba1ancer
кстати, если во встройке нет страничной адресации,...

ну, как бы, весь тулчейн на elf. выбора нет.

disba1ancer
можно настроить выхлоп в bin

сразу под формат rom'а устройства

disba1ancer
сразу под формат rom'а устройства

там не всегда только rom. иногда нужно загружать код

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
18
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Карта сайта