|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|||||||
| 22.11.2023, 12:55 [ТС] | |||||||
|
R71MT, Jin X,
без перезалива на хостинге ( даже его не посещая ) Добавлено через 5 минут R71MT, переделываю загрузчик для использования видеобуфера для вывода текста, но никак не могу запустить функцию из второго сектора с данными объявленными в первом секторе ![]()
0
|
|||||||
| 22.11.2023, 12:55 | |
|
Ответы с готовыми решениями:
209
Джаббер сервер для Win x64 Сервер Domino 8.5.3 X64 И Файл Подкачки (pagefile) Как перенести веб-сервер со всеми конфигами с Windows 10 x64 на Debian (ARM)? |
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 22.11.2023, 13:15 | ||||||
|
Teamur, зачем
jmp $+2 в начале?Далее, там же в начале cli/sti не нужны, инструкция mov ss и последующая (т.е. mov sp) и так выполняются без прерываний между ними.По поводу метки __oo рекомендую пользоваться локальными метками, которые начинаются с точки (в NASM и fasm), т.е. .oo (или .1). В этом случае этим именем можно пользоваться до следующей глобальной метки (без точки в начале). При этом её полное имя будет oo.oo (или oo.1), т.е. даже извне можно перейти к ней при необходимости, используя полное имя.Тут что-то очень странное выделаете:
mov [curs], 4 — не указан размер записываемых данных (mov word [curs], 4). Кстати, NASM к именам переменных не привязывает их размер, а вот fasm привязывает (там можно не указывать размер в данном случае).mov ah, [str1] – это не адрес строки, а чтение байта из строки.mov si, ah — вы пытаетесь записать байт в слово, просто пишите mov si, str1.Вам бы для начала подтянуть знание ассемблера в целом (потому что такие ошибки говорят о непонимании базовых вещей), а потом уже сложные вещи писать: загрузчики и работу защищённом режиме. Добавлено через 2 минуты Ещё вам нужно выполнить инструкцию cld (можно поместить куда-то в начало), чтобы у вас не случилось чтения/записи строки (lodsb/stosw) в обратном направлении (при неудачных обстоятельствах).
1
|
||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
||||
| 22.11.2023, 13:39 [ТС] | ||||
|
Ведь другие посетители сайта будут запрашивать ресурсы, там же будет потом База Данных, и надо быстро обрабатывать запросы, перебирать записи, файлы, сортировать, реализовывать алгоритмы сетевого стека и тд распараллеливать и тп, поэтому я и говорю, что хорошо бы чтобы был x64. Но x64 потом ![]() Добавлено через 19 минут Jin X, спасибо
0
|
||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 22.11.2023, 14:11 | ||
![]() Тимур, почему jmp $+2 должен очистить конвейер? Это же не условный переход (причём, с неверным предсказанием). Я понимаю ещё xor eax,eax + cpuid.Да и зачем это вообще здесь нужно?
0
|
||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
||
| 22.11.2023, 14:38 [ТС] | ||
|
Jin X, я подумал, что это важно и по совету R71MT, добавил это
0
|
||
|
Эксперт Hardware
|
|
| 22.11.2023, 15:06 | |
|
От
jmp $+2 пользы больше, чем вреда - если мешает, можете снести его под корень везде. Прицепом можно отправить в корзину и cli/sti. Код станет на 6-байт меньше, вот тогда и заживём. Лучше-бы сосредоточились на конфигах VirtioNet, чем заниматься оптимизацией уже готового загрузчика. Ато раздули тред на 5 страниц, а толку ноль.
1
|
|
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|||||||||
| 22.11.2023, 16:19 [ТС] | |||||||||
|
https://www.cyberforum.ru/post17122217.html но не получается Добавлено через 14 минут В общем так сработало
0
|
|||||||||
|
Модератор
|
||
| 23.11.2023, 08:00 | ||
|
С учётом того, что из одного образа могут перезапускаться множество VM, технически проще "забывать" все измененения, внесённые виртуальной машиной в загрузочный блоб. ISO обычно и так неизменяемые, ELF-модули, которые qemu "напрямую" запускает в long mode, тоже. Для хранения изменяемых данных у VM есть виртуальное DASD( SSD, HDD, iSCSI etc.), которое Вы арендовали.
0
|
||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
||
| 23.11.2023, 08:51 [ТС] | ||
|
Вот когда сделаю примитивный сервер, его floppy-образ я загружу на VDS-хостинг. Далее я открываю браузер, захожу на сайт и в редакторе кода буду вести разработку и по кнопочке нап 'Перезаписать Ядро' сработает JS модуль, который скомпилирует новое ядро и отправит на сервер и уже на сервере ОС изменит исходный floppy-образ, записав в него новое ядро и перезагрузит ОС И после перезагрузки, ОС уже будет с новым ядром Но это так, идеи на будущее
0
|
||
|
Модератор
|
||
| 23.11.2023, 09:03 | ||
|
Пробовали сохранять на дискету с FreeDOS дату последнего запуска и показывать её? Чтобы убедиться, что у VM может изменить исходный загрузочный образ, а не его копию.
0
|
||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
||
| 23.11.2023, 09:09 [ТС] | ||
|
politoto,
Получается что даже и ЖД не нужен, поскольку ОС всегда будет крутиться на виртуальном floppy А потом когда напишу драйвер для NVMe (ЖД) там можно будет хранить остальные данные, а ОС так и будет вращаться в приводе на виртуальном флоппи, который через сеть, если захочу буду изменять Но мне, честно говоря не верится, что так можно сделать А если у меня образ ISO на 5 Гб к примеру - он тоже будет вечно в виртуальном приводе и его тоже можно будет менять? В теории это дает возможность на халяву получить изменяемую память в лице самого образа, который вынужден держать у себя VDS-хостинг, поскольку они предоставили возможность загружать свои образы ОС. Получается доступно, нап: 105 ГБ = (Изменяемое Пространство на Образе: 100 ГБ )+SSD(5 ГБ)МАГИЯ Добавлено через 3 минуты
0
|
||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
||||||
| 23.11.2023, 09:28 [ТС] | ||||||
|
Но теперь по теме, я
1) переписал код сделав всё в одном файле 2) начал использовать видеобуфер для вывода текста 3) перешел в нереальный режим 4) нашел NIC и вывел дамп ( с косяками ) Вот весь код NASM, пожалуйста напишите как его довести до ума
0
|
||||||
|
Модератор
|
|||
| 23.11.2023, 09:47 | |||
|
Добавлено через 4 минуты Только полностью или частично стирать CD-RW, дописывыть CD/DVD-+R, изменять DVD+-RW/RAM.
1
|
|||
|
Эксперт Hardware
|
||||||
| 23.11.2023, 15:18 | ||||||
|
Попробовал задать конфиги через порт-управления с адресом в BAR0 и обнаружил, что "байт статуса" не возможно изменить, будто он защищён от записи "Read-Only". Согласно докам, все операции нужно начинать со-сброса настроек в дефолт, для чего в этот байт прописывается нуль. Но уже на старте в нём лежит захардкорденное значение
FFh, и все попытки обнулить его не дают результатов - он как был FFh, так и остаётся. Может это потому, что qemu как хост уже настроил девайс Net, после чего перехватывает все обращения к полю статуса. Это наиболее вероятный сценарий, т.к. в R-Mode нет других механизмов ограничения доступа, как в том-же РМ.Зато остальные регистры в порту можно менять без проблем. К примеру после общих для всех регистров, начиная со-смещения(14h) Virtio-Net хранит свой 6-байтный МАС. Чтобы проверить валидность данных в порту, я прочитал этот МАС и обнаружил, что он соответствует заданному в настройках VirtualBox адресу. Значит указанный в BAR0 порт всё-таки активный, только вот "байт-статуса" в нём закрыл нам вход на замок. Походу здесь кроется ещё нюанс, который требуется найти. На скринах ниже, байт статуса лежит по смещению(12h) в дампе PIO, а остальные регистры в порту выстроены так:
2
|
||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 23.11.2023, 19:21 [ТС] | |
|
R71MT, спасибо
на домашнем нетбуке проверил -> идентично вашему скрину с QEMU на сервере образ сейчас устанавливается и пока он устаналивается обычно отображается это возможно это будет полезно. На скрине это сам хост я так понимаю
0
|
|
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 23.11.2023, 21:24 [ТС] | |
|
R71MT, на сервере -> черный экран с мигающим курсором
Добавлено через 1 час 23 минуты R71MT, также нашёл полезную для нас инфу: 1) Настройка virtio-net: https://forum.osdev.org/viewto... 11#p289211 2) Структуры BIR и MSI-X https://groups.google.com/g/li... -7Fs2n2ScJ 3) Активация MSI-X для устройства https://github.com/managarm/ma... e.cpp#L666 Драйвера virtioNIC:
0
|
|
|
Эксперт Hardware
|
||
| 23.11.2023, 22:06 | ||
|
я сейчас запустил WinXP на виртуалке (с сетью виртио), и обнаружил интересный глюк. оказывается все регистры в порту исправно воркают, только читать их нужно строго по размеру регистров, а не как я выводил дамп сразу двордами. нужно проверить ещё раз..
2
|
||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
||
| 23.11.2023, 22:44 [ТС] | ||
|
Добавлено через 30 минут По какому адресу вы пошли после получения DeviceCfg[0xfe002000] ? Как вы получили MMIO virtQueue space dump, по какому адресу ? Также вроде если убрать jmp+$, cli и sti в начале загрузчика, то на сервере в консоли выводятся данные, а иначе курсор во тьме
0
|
||
| 23.11.2023, 22:44 | |
|
Сервер HP Primergy Econel 200 S2, Win2008R2 x64, RAID10 4x2000Gb падает скорость чтения/записи по сети
HP Pavilion g7 - 2160er переустановил Windows HP x64 на Ultimate x64 - проблема с подсветкой монитора Нестандартная ситуация, установка еще одной w7 x64 на уже установленный комп с w7 x64 Ищу обновления KB938397-x64 и KB968730-x64 для Windows Server 2003x64 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|