адреса биоса

Тема в разделе "WASM.ASSEMBLER", создана пользователем Narkomanius, 12 дек 2004.

  1. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    расковырял я биос на куски(прога 150кб - вырезает все кусочки в формате lha).

    теперь вопрос - в какие адреса распаковываются эти кусочки? не очень хочется писать наугад, так как возможны перекрытия(с 0xe0000 например идет logo, и остаток памяти там меньше 128к, соотвественно сама прошивка не влазит).



    где можно почитать про сабж?
     
  2. ViKT0R

    ViKT0R New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2004
    Сообщения:
    38
    Адрес:
    Russia
  3. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    наверно я неточно выразился

    в биосе есть бутблок который инициализует память, и насколько архивов lha с прошивкой и кусочками. яхочу заменить самый главный кусок, чтоб впихнуть туда ось и минимальный setup. надо - знать каков будет порядок загрузки кусков, и куда они попадут, так как при их перекрытии есть риск что важная часть кода будет потерта(затирание - это единственная угроза, код я перекопирую куда захочу) и еще неплохо бы знать где в прошивке (orginial.tmp) точка входа.
     
  4. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    сорри, уже отыскал инфу

    Порядок инициализации BIOS:

    1) =main= init hardware (cpu-chipset)

    2) init controller SDRAM

    3) set 'enable RAM'

    4) quick memory test

    5) copy first segment FLASH to 'shadow' RAM E0000h-FFFFFh

    6) copy second segment FLASH to 'shadow' RAM A0000h-DFFFFh

    7) run main BIOS.

    (точно не помню, возможно пункты 6 7 переставлены)



    кусок в биосе будет один, и можно будет копировать с адреса CS*16+EIP-entrypoint_offset до CS*16+EIP-entrypoint_offset+131072 в любой нужный адрес.

    BIOS построен на технологии распаковщика и без RAM не может нечего сделать.
     
  5. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    Слушай а твою ось на любой комп можно будет установить?
     
  6. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    DRAM timing будет зависеть от чипсета. по определению.



    потому что чтоб выставить тайминг надо поправить регистры чипсета.

    этот кусок будет целиком зависеть от чипсета. грубо говоря - по мере поддержки чипсета ьудет пояляться поддержка мамок. Hyperthreading появится вместе с Symmetric multiprocessing. пока ессно не поддерживается изза scheduler.asm
     
  7. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    итак, готовы основные сискаллы - для работы с процессами и для ввода/вывода.



    теперь надо еще дебуговую часть сделать. посоветуйте какие возможности надо вставить.
     
  8. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    и если кто захочет потестить сие чудо - напишите чипсет и железо которое у вас стоит. пока что рамер ядра 23кб, так что дров можно напихать порядком.
     
  9. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка


    то есть полностью комп или что?
     
  10. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    с тестированием будут небольщие траблы, т.к после прошивки биос будет полностью несовместим со стандартым, и ессно ни одно из его прерываний работать не будет, потому предложение скорее к владельцам старых компов которые не жалко уделать ради науки. гыыы.



    пишите вот что.

    чипсет, надписи на камнях и возле разъемов PCI(те что огромные)

    колво кэша на мамке, и сколько оперативки

    размер флэшины(64/128/256/до хрена) или хотя бы надпись на ней.

    тип биоса, то что он пишет при запуске внизу экрана.

    какие фичи и разъемы есть на мамке(USB1/2 COM LPT IDE etc)

    проц(тип, то что возвращает CPUID, но чтоб не ниже 386).

    видео(шина(ISA\PCI\etc), тип, память)

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

    аудио, а какже без него(шина и тип, добавочные фичи вроде набортной памяти для SB16 vibra)

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

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



    и самое главное!!!!!

    предложение нащот дебаговых syscalloв все еще актуально, т.к эта часть в ядре начисто отсутствует.
     
  11. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    чуть не забыл - железо встроенное в мамку писать тоже.



    и в планировщике есть команда rdtsc. соотвецтвенно, на 486 и 386 надо поизвращаться будет малость.