[BSD] hw virtualizacio detektalasa
gabor at zahemszky.hu
gabor at zahemszky.hu
2016. Okt. 23., V, 10:26:50 CEST
2016-10-22 21:04 időpontban HalaszGabor ezt írta:
> On 2016.10.22. 13:12, Laszlo Hornyak wrote:
>> Hali!
>>
>> BSD hostokon a hw virtualizacio CPU featurek detektalasaval bibelodok,
>> egy kicsi fapados megoldast talaltam ra:
>> grep Features /var/run/dmesg.boot
>>
>> Csak egy AMD-procis gepemen fut BSD host OS-kent, a tobbi BSD mind
>> virtualis gepben fut. A fizikai gepen nagyon szepen latszik is, ott az
>> SVM cpu flag. Ami viszont furcsa, hogy a virtualis gepeken is kellene
>> latnia vagy SVM vagy VMX flaget, az osszes linux VM-em latja is.
>> Tudtok
>> errol valami hasznos olvasmanyt, hogy hogyan detektalja a freebsd vagy
>> egyeb bsd kernel a CPU flageket?
>
> Elolvastam a dmesg kimenetet:
>
> root at freebsd:~ # dmesg | grep -i svm
> AMD
> Features2=0xa10bfd<LAHF,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,XOP,FMA4,TBM,PCXC>
> SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=64
>
> vmware player 12.5-ben fut, 10.3-RELEASE.
>
> Ha okosodni akarsz, a sys/x86/x86/identcpu.c-ben van a varázslat.
> --
> Magyar BSD Levelezlista
Kiegészítem HG velősen tömör és precíz válaszát:
Nem nagyon világos, hogy mi a kérdés. Bootkor a processzor felismerését
végző
rutin írja ki, azaz a dmesg kimenetében, vagy ha az a sor már kicsordult
a
pufferből, akkor az általad is írt /var/run/dmesg.today-ben található
meg:
Intel procis gépen a CPU blokkban a "Features2" sorban lehet egy VMX,
AMD proci
esetén pedig az "AMD Features2" sorban egy SVM flag. BSD-n nincs annyira
kicicomázva a /proc (és FreeBSD-n még nem is engedélyezett alapból),
azaz
nincs mondjuk "cat /proc/cpu" . A sysctl-ek közé sincs kivezetve. *Ha*
betöltötted
a vmm kernel-modult, akkor ugyan van sysctl hw.vmm - de egyrészt
- ez sem default, hogy be lenne töltve
- guest-ben nem jellemző
- pl. régebbi (vrtualizációt amúgy támogató, de bhyve-ot nem)
processzorok esetén
be se töltődik (Intel C2D és világa)
Azaz ha kell, hogy van-e nekünk ilyenük. akkor egy
grep -i -e 'features2=.*vmx' -e 'features2=.*svm' /var/run/dmesg.today
státuszkódja eléggé egyértelmű.
Szóval mi a kérdés?
Zahy
További információk a(z) BSD levelezőlistáról