能力值:
( LV12,RANK:760 )
|
-
-
2 楼
Map成内核内存再get物理地址,基本操作,基本操作,基本操作
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
@cvcvxk 谢谢你的回答,我还是不太明白,可以把相关函数告诉一下吗?非常感谢.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
pMDL = IoAllocateMdl(dwVirtualPoint, sizeof(GET_SMBIOS_STRUCTURE), FALSE, TRUE, Irp);
//MmProbeAndLockPages(pMDL, KernelMode, IoWriteAccess | IoReadAccess);
//MmBuildMdlForNonPagedPool(pMDL);
pSysAddr = MmGetSystemAddressForMdlSafe(pMDL, LowPagePriority);
phyAddr = MmGetPhysicalAddress(pSysAddr);
dwVirtualPoint 是APP的变量地址(虚拟内存地址)
这些代码会导致 机器 直接 蓝屏
|
能力值:
( LV12,RANK:760 )
|
-
-
5 楼
wx会飞的鱼
pMDL = IoAllocateMdl(dwVirtualPoint, sizeof(GET_SMBIOS_STRUCTURE),&nb ...
baidu搜索mdl内存访问,然后就懂了,从你的代码看,你不适合你的工作,还是好好baidu学习吧
最后于 2018-4-4 21:11
被cvcvxk编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
@cvcvxk 我就是因为不明白原因才来这里请教,我看到这里对驱动研究比较多,所以选择来这里请教,你可以选择回答(我很感激你),你也可以选择不回答,. 你们牛X,只有你们适合写驱动相关的是吧,术业有专攻,每个人研究的方向不一样,专注也不一样,但你上面的回答真的合适吗?
|
能力值:
( LV12,RANK:760 )
|
-
-
7 楼
wx会飞的鱼
@cvcvxk 我就是因为不明白原因才来这里请教,我看到这里对驱动研究比较多,所以选择来这里请教,你可以选择回答(我很感激你),你也可以选择不回答,.
你们牛X,只有你们适合写驱动相关的是吧,术业有 ...
工作发帖求助...baidu需要术业专攻?懒得口水了。你要觉得我说话很重,是我说话重了,我的错。
最后于 2018-4-8 20:22
被cvcvxk编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
wx会飞的鱼
@cvcvxk 我就是因为不明白原因才来这里请教,我看到这里对驱动研究比较多,所以选择来这里请教,你可以选择回答(我很感激你),你也可以选择不回答,.
你们牛X,只有你们适合写驱动相关的是吧,术业有 ...
你丫的跑这里来问了,分配MDL,虚拟地址跟MDL关联起来,然后获得虚拟地址,再Get物理地址。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
cvcvxk
wx会飞的鱼
@cvcvxk 我就是因为不明白原因才来这里请教,我看到这里对驱动研究比较多,所以选择来这里请教,你可以选择回答(我很感激你),你也可以选择不回 ...
这里不允许发贴求助吗?或者不允许发贴讨论吗?那这个BBS是做什么用的? 再说了,工作发贴请求别人帮助,这个有问题吗? 我也不想和你口水,本来上想来这个网站看的,一个群的朋友居然也来这看到我发的贴了.....所以点进来了. Android group上面,全是发贴问ANDROID相关问题的,那也是不应该了? 不懂就问,向别人请教,这个多么正常的事,可以说你是多么的不要脸. 不知道你的9级到底有多少水份.
|
能力值:
( LV1,RANK:0 )
|
-
-
10 楼
楼主你好!我最近也遇到了类似的问题,能请教下linux下应该如何获得user app的物理地址吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
少一个WCHAR* dwVirtualPoint2 = MmMapLockedPagesSpecifyCache(mdl, 另外/MmProbeAndLockPages不要注掉
你自己分配的内核地址对应物理地址可能是分页,不连续的,用于os/driver 低irq没问题,因为有分页机制(缺页中断) 但到了硬件设备层面(dma或者smi handler/bios)只能访问连续的物理地址,碰到地址断档(空地址)就挂了 所以map的目的就是把它整成连续的非分页物理内存对应内核地址再获取起物理首地址
其实更好的是自己MmAllocateContiguousMemor,到需要自己对内存结构和偏移进行微操
其实最后多说一句,在windows平台 call bios do 的最好做法不是发smi,而是call acpi method
|
能力值:
( LV1,RANK:0 )
|
-
-
12 楼
学习学习,这东西我看的也是一头污水
|
|
|