多CPU的機器上在驅動中如何HOOK中斷

2021-04-16 07:13:55 字數 898 閱讀 7084

bool initmulticpuinformation()

.9u0wp95

i -

dword* dwpcraddr;

dword dwcpunumbers=1;      

)-nffjls

byte* address=(byte*)halinitializeprocessor;

7 l/o

dword i,len=128;

-w,j"m;

bool bok=false;

+/qw v>

l7knk :

memset(gcpulocalapic_id,0xff,sizeof(gcpulocalapic_id));

|1`%wq[qo

__try

" d !

dnboh

if((*(dword*)&dwpcraddr & 0x80000000)&& *(byte**)&dwpcraddr<=&address[0x80000])'xfa^v~|

a: e/z^

}u c(bqnq

}">d5z8

}'towbz_c

}__except(exception_execute_handler))s)tjxa`

if(bok)?)71?q-

gn80p

}d*xxvewe

::dbgprint("syser : found %d cpu(s)/n",gcpunumbers);zh7zyl?t

return true;/3^:@[d

}7cgtkyd.

;/0~y*

以上的函式獲得了每個cpu的 pkpcr結構的指標。你想要的資料都在這個結構裡面了。包括每個cpu的idt,gdt,tss等等資訊

在自己機器上實現apache的多網域名稱

自己機器上有3個目錄,分別是 var www html var www solaris var www aix 每乙個目錄下有乙個index.html檔案。檔案類容不一樣,通過訪問不同的網域名稱分別訪問這幾個index.html 教程網上都有,還是說機子出現的問題 修該apache的配置檔案 etc...

驅動中如何訪問CPU中的暫存器

如果都是在memory空間的話,cpu內部的暫存器 非cpu核的暫存器 和外設上的暫存器地位是同等的,因此對映方法也是2種 1是靜態對映 s3c2410的基本上是這種 2是ioremap,注意對映的單位都至少是page。當然cpu核的暫存器 如 x86的cs ds,arm的r0,r1等 只能用彙編來...

驅動中如何訪問CPU中的暫存器?

如果都是在memory空間的話,cpu內部的暫存器 非cpu核的暫存器 和外設上的暫存器地位是同等的,因此對映方法也是2種 1是靜態對映 s3c2410的基本上是這種 2是ioremap,注意對映的單位都至少是page。當然cpu核的暫存器 如x86的cs ds,arm的r0,r1等 只能用彙編來訪...