A kernel hack to try to get realtime in Windows (NT/XP)

Тема в разделе "WASM.NT.KERNEL", создана пользователем diombre, 1 июн 2009.

  1. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    bugaga
    ерундой маешься чесслово
     
  2. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    SashaTalakin а вам не пох?
    или есть что по теме "A kernel hack to try.. " добавить?

    материалов на эту тему, особено по пэйджингу в венде -и нет нифига..
    разве что пара статеек
    http://www.wasm.ru/article.php?article=1021009
    http://vx.netlux.org/lib/vzo55.html
    и то касаемо w9х-сакса..
     
  3. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    все что можно было сказать уже сказано. надо мапить самому физ адрес. а в идеале физ адрес должен определяться по соотв. алгоритмам по которым его д0лжно искать и после этого только маппить. это норм. подход. а у тебя ерунда. и виндоус тут непричем. виндоус все средства для этого предоставляет документированные.
     
  4. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    физ. адрес иоапик если на то пошло это у вас понятие от незнания того что такое апик потому что иоапиков может быть много соотв. у каждого свой физ адрес и тп
     
  5. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    да, респект Chingachguk-у, и ведь действительно!
    римейк его примера, c кой какими правочками, пашет на ура под NT-шкой... http://pastebin.com/f14345b86

    Заодно и дров упростил. (много было нафик ненужного).

    SashaTalakin
    знаете, вот свое когда свой код покажете, уровня хай-тех, тогда и с мнением лезьте, насчет того как "нада", как "правельней", как не "ерундовей"...
    а то на словах мы фсе кул'кодер-кернел-хакеры, - а на деле так сопле сосем..
     
  6. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    тякс... уже не столь тупым перебором, удалось установить что читабельная база для CR3 есть константа постоянная (наверно) и равная $C0300000...

    это хорошо - удалось сократить функционал сканера mapping-а до одного вызова
    MmapIOSpace... http://pastebin.com/f32ef4093

    пустячок конечна, (скорость полного перебора cост. гдет 0.5 сек) но пока еще не труЪ - осталось втупить, как PTE согласовывать с зоной $C0000000 и выкинуть нафик MmapIOSpace))

    а и кстати... после IOAPIC-а, по верхним адресам $FFD06000, идет LAPIC ($FFD07000).. вот это я уже понимаю - логичненько. да.
     
  7. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    ик.. /бох ф шоке... да..
    Код (Text):
    1.     function LinToPhys(LinearAddr:integer):integer;
    2.     var R:integer;
    3.     begin
    4.      R := (LinearAddr shr 10 + $C0000000);
    5.      R := (pInteger(R)^) and not $FFF;
    6.      result := R;
    7.     end;
    ..... тут все мапики - лапики фигапики. и синтки нет.

    как хорошо))
     
  8. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    ндя.. ох скока нам открытий чудных (и в принципе-нафик не нужных).. после "скана" страниц (по новому методу) наблюдаеццо дикая утечка памяти в диспетчере задач (-2..3 метра за пуск)... полагаю аппаратные фишки связаные с битом "грязная"? хотя странно вроде как только читал с них..
     
  9. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    хе.. page-fault-ы происходили. тихонько так и незаментно (без синечьки)))...

    тупил с CR3/invlpg, пока не перехватил ехсепшены - елки - а их 0AD000 случилось, практически большая часть цикла от 0-до FFFFF.. ололо!

    кстати.. тото я думал - а что это скорости не особо возросло на "новом движке" бугагОС.. кажеццо уже манускрипта..да
     
  10. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    не перестаю поражаться, убийственой простоте "зла... точней, практически не убиваемово, на всем этом глюкодроме к-модеса венды..

    заюзал возможности по try-except, (дабы не пропадать выразительным возможностям языка... да и выкинуть лишний глюко-код (а-ля goto __try: ))

    http://pastebin.com/f1e1c1e20

    хорошо, в коллекции фишек, прибыло... ибо толку -0 от seh-виндов (который то не работает, а то вообще синячит, если r0-еxсеpt из user-space))))...

    дзеню насчет техники переключения с APIC-а на старый добрый PIC...
    пока тупо имею ресет после wrmsr))
    прям жесть.. покруче переключения в prot-mode/и наоборот..

    и рекомендейшенов у интеля по этому делу чет нема..