· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Dva вопроса

<< . 1 . 2 . 3 .

Посл.отвђт Сообщенiе


Дата: Июн 8, 2004 02:08:50

Маленький экскримент на моём ноуте.

1. Взял KmdKit\tools\GdtDump
00D8  00000000  00000000   0   NP  1b   Reserved
00E0  F3C50000  0000FFFF   0   P   1b   Execute/Read-Only, conforming, accessed
00E8  00000000  0000FFFF   0   P   1b   Read/Write

2. Взял самописную (не дописанную) тулзу AddrToPdePte (приаттачена). Запихнул в неё F3C50000 - получил:
PDE:
Index       975
Address     C0300F3C
Contains    01000163
PFN         1000

PTE:
Index       80
Address     C03CF140
Contains    000F0163
PFN         F0

Для селектора E0 лимит = 16 страницам (по 4Кб). PFN первой страницы = F0. Сталобыть нужно пролистать 16 страниц от физического адреса F0000.


3. Взял KmdKit\tools\PhysMemBrowser и пролистал эти самые страницы. Вот интересные места:
000F1250:  00 00 C7 52 30 32 30 34-4B 32 00 30 38 2F 32 38  ..CR0204K2.08/28
000F1260:  2F 30 30 00 50 68 6F 65-6E 69 78 20 54 65 63 68  /00.Phoenix Tech
000F1270:  6E 6F 6C 6F 67 69 65 73-20 4C 54 44 00 00 01 19  nologies LTD....

000F57B0:  91 A7 97 A7 50 68 6F 65-6E 69 78 42 49 4F 53 20  ‘§—§PhoenixBIOS 
000F57C0:  34 2E 30 20 52 65 6C 65-61 73 65 20 36 2E 30 20  4.0 Release 6.0 
000F57D0:  20 20 20 20 00 43 6F 70-79 72 69 67 68 74 20 31      .Copyright 1
000F57E0:  39 38 35 2D 32 30 30 30-20 50 68 6F 65 6E 69 78  985-2000 Phoenix
000F57F0:  20 54 65 63 68 6E 6F 6C-6F 67 69 65 73 20 4C 74   Technologies Lt
000F5800:  64 2E 0D 41 6C 6C 20 52-69 67 68 74 73 20 52 65  d..All Rights Re
000F5810:  73 65 72 76 65 64 00 00-E8 F8 FC CB A9 55 66 C1  served..eouE©UfA

000F73E0:  08 42 43 50 53 59 53 03-02 80 00 04 06 00 00 00  .BCPSYS..€......
000F73F0:  30 38 2F 32 38 2F 30 30-00 31 31 3A 30 32 3A 30  08/28/00.11:02:0
000F7400:  31 00 30 30 2F 30 30 2F-30 30 00 30 30 3A 30 30  1.00/00/00.00:00
000F7410:  3A 30 30 00 64 F1 B8 EA-44 45 56 45 4C 32 41 58  :00.dn?eDEVEL2AX

000FFFF0:  EA 5B E0 00 F0 30 38 2F-32 38 2F 30 30 00 FC CB  e[a.?08/28/00.uE


ЗЫ: Айса на ноуте нет и не было.


_2141960524__AddrToPdePte.rar


Дата: Июн 8, 2004 15:27:14

этот факт можно объяснить (неправильным?) менеджментом G-флага;

если записать в PTE физический адрес вместе с G-флагам,
то с обновлением CR3 данная линеарная память не обновится изза G-флагаже,
нужно будет дополнительно INVLPG сделать.

(можно также дописывать G после обновления CR3)

вот тык.

в вашем драйвере добавьте INVLPG и так пробуйте.


Дата: Июн 14, 2004 15:48:45

ядро BIOS не маппит
Оно может происходить периодически и изменять линейный адресс.
Но без него нельзя. Ты не сможешь подать M/IO# на шинный интерфейс иначе.

<< . 1 . 2 . 3 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081