2012-01-01から1年間の記事一覧
φ(・・*)ゞ ウーンとりあえず仮想cpuのfpuのデータをセーブしたりフリーしたりするところのコンパイルエラーを通すように実装だん。基本的にBHyVeに必要な関数なのでvmm/以下にvmm_fpu.[ch]として作成しました。 uma_zcreateとかはDragonFly BSDだとsys/netgrap…
φ(・・*)ゞ ウーン 今日のvmm.cは結構面倒くさそうなのでちょっとずつ進める予定に><まずは簡単なヘッダファイルの変更と、その他をちょっと。ちょっと調べたのはこれ位ですね。FreeBSDでカレントのプロセス制御ブロックの取得にPCPU_GETマクロを使ってますが…
φ(・ω・ )かきかき 今日は怒涛の2ファイル分コンパイルエラー修正( ´∀`)bグッ! まぁ、たんに簡単な修正で済んだだけですけどね(;・∀・) ともかくvdev.cとvlapic.cのコンパイルできました。 vdev.cはホント単純にs/malloc/kmallocというレベルの修正。vlapi…
φ(・・*)ゞ ウーン ppt.cのコンパイル通したけどホントにこれで動くのかは別の話(´・ω・`)やったのはFreeBSDスタイルのpci_alloc_msi()とpci_alloc_msix()をDragonFlyの方式に合わせてみたのと、msi、msixの構造体をちょっと変えてvoidポインタを使っていたcoo…
( ..)φカキカキ 今日はとりあえず簡単なやつだけ片付けておいて、次のために -------------------------------------------------------------- >>> Kernel build for BHYVE started on Mon Jul 9 21:42:33 JST 2012 ------------------------------------------…
( ..)φカキカキ iommu.cのコンパイルエラーの修正はインクルードするファイルの変更で済みましたヽ(・∀・ )ノ キャッ キャッdiffはこれだけでpci関連のヘッダファイルは昨日調べたから割と簡単に済んだのですが。 --- a/sys/platform/pc64/vmm/io/iommu.c +++ b/…
( ..)φカキカキ vtd.cをコンパイル通すの大変そうだなーとか思ってたわけですが、やってみたらできましたw 変更したのはvtd.cだけです ただ、FreeBSDのpmap_invalidate_cache()はそれらしいのがdbsdで見つけられなかったので適当に作ってます。 923 pmap_invalid…
φ(・・*)ゞ ウーン vmx.cのコンパイルエラーを消したのですが、これで良いのか微妙なところも。 ふと気づいたらコミットし忘れてたファイルが合ったのでコミット・pushした。よく分かってないところとしては、TDF_ASTPENDINGをTDF_PREEMPT_LOCKに置き換えたので…
( ..)φカキカキ vmx.cのこの行のコンパイルエラーを取るために色々調べたことはメモっとかないと100%忘れそうなのでw error = vmwrite(VMCS_HOST_TR_BASE, (u_long)PCPU_GET(tssp)); コンパイルエラーはこれ /usr/src/sys/platform/pc64/vmm/intel/vmx.c:802: er…
最新のコンパイルエラーたち ——————————————————————————————— »> Kernel build for BHYVE started on Tue Jul 3 22:17:48 JST 2012 ——————————————————————————————— ===> BHYVE cd /usr/src/sys/config; PATH=/usr/obj/usr/src/ctools_x86_64_x86_64/usr/s…
φ(.. )メモシテオコウ vmcs.cからvmcs.o作成キタ━(゜∀゜)━! ということで、vmcs.cのコンパイルが通った訳です。diffはこちら。 done: まずは無いって言われたsys/pcpu.hですが、これは特に使う必要なかったのでサクッと削除。次にFreeBSDだとcurcpuが今動いているc…
φ(.. )メモシテオコウ ついにept.cがコンパイルできた( ´∀`)bグッ! コミットはこれ done: FreeBSDのsmp_rendezvous()に該当するのはどれかーというのを探しつつ、辿り着いたのがDragonFly BSDの公式サイトにあった更新記録でですね、「Remove the now obsolete sm…
ept.cの残りはsmp_rendezvous()がないというやつφ(・・*)ゞ ウーン FreeBSDだとsys/sys/smp.hに定義があって、実体はsys/ker/subr_smp.cにいる。 -------------------------------------------------------------- >>> Kernel build for BHYVE started on Sun J…
せっかくなのでめもっとこφ(.. )メモシテオコウ crit_enter()とcrit_exit()はsys/sys/thread2.hでマクロとして定義されてて、これらの実態も同じくthred2.hで定義されてます。 #define crit_enter() _crit_enter(mycpu) #define crit_exit() crit_exit_wrapper() や…
φ(^∇^ ) メモナノラ FreeBSDのcritical_enter()とcritical_exit()はDragonFlyだとcrit_enter()でcrit_exit()の置き換えでOKだったのでコミットだん。done: ふと/usr/src/sys/kernでcriticalとかgrepすれば良いじゃんと思ってやってみたら上手いことそれらしいの…
( ..)φカキカキ コンパイルエラーで出てたcritical_enter()とcritical_exit()はFreeBSDのsys/kern/kern_switch.cにあるこれのことだな。 やってることはスレッドがクリティカルセクションに出入りするときの処理なので、DragonFlyBSDがこの辺をどうやってるのか…
__inlineのコンパイルエラーを無理やり解決φ(・・*)ゞ ウーンdone: __inlineでコンパイルエラーになってたのはvmm.hの他にこれだけあったんだけど、とりあえずs/__inline/inline/をしたのと、関数の戻り値の型のあとに__inlineがあるものは型の前にinlineを置…
ちょっと進めたからφ( ̄ー ̄ )メモメモコミットのdiff done’ sys/_cpuset.h、sys/cpuset.hをFreeBSDから持ってきて追加。これとsys/_types.hにcpusetid_tの定義を追加して、cpusetid_tのコンパイルエラーは解消と思ったら、vmm.hで#include を追加してあげる必要…
とりあえずφ(.. )メモシテオコウ変更点はgithubに。 done: sys/smp.hが無いのはmachine/smp.h(/usr/src/sys/platform/pc64/include/smp.h)に変更。FreeBSDと違う点は結構ある感じだけど、起源は同じっぽい。 vm_memattr_tを/usr/src/sys/sys/types.hに追加。todo…
BHyVeどころかDragonFlyBSDもよく分かってないおれがとりあえずやってみるw /usr/src/sys/platform/pc64/vmm/intel/ept.c:36:21: error: sys/smp.h: No such file or directoryのsys/smp.hはこれのことだよね。 コンパイル通すだけでも先は長いそうなのでだ…
autotest動かしたときに/etc/rc.d/init.d/autotestと/etc/rc5.d/S99autotestのリンクが作られるのもあんまりうれしくないので適当にコメントアウトというだけの単なるメモ。 diff --git a/client/harness_standalone.py b/client/harness_standalone.py inde…
FreeBSD 9.0でカーネルモジュールのmakeでこんなエラーになってたんだけど、/usr/src/share/mkでmake installすれば良さげというのが分かったのでやってみたらビルドできた! "/sys/conf/kmod.mk", line 116: Malformed conditional (${MK_CLANG_IS_CC} == "…
んとなく昨日の続きから。だいたいこんな流れ。 do_fork@servers/pm/forkexit.c -> sys_fork@lib/syslib/sys_fork.c -> do_fork@kernel/system /do_fork.cservers/pm/forkexit.c 31 PUBLIC int do_fork() 32 { 中略 94 /* Tell kernel and file system about…
たしか1年以上前にMinix本読書会で調べてたはずなんだけど、すっかり忘れてたのでここに書いときます。 モノリシックカーネルとマイクロカーネルの違いを忘れるとダメですねorz このメモの内容はオペレーティングシステム 第3版のP206のメモです。さて、シ…
x86_64_start_kernel()がコールフローの最初にいるパターンとしてこの2パターンがありまして、 unreferenced object 0xffff880257005a80 (size 192): comm "swapper/0", pid 0, jiffies 4294667303 (age 504.517s) hex dump (first 32 bytes): 00 00 00 00 0…
こんな感じ。 [ 203.872695] kmemleak: 127 new suspected memory leaks (see /sys/kernel/debug/k memleak) commで見るとswapper/0、modprobe、udevdの3個で内訳は以下の通り。 swapper/0:6 modprobe:5 udevd:116commがudevdの時が一番多いんだけど、コ…
redmineのユーザをcsvからインポートする機能が上手く動いてなかったのでパッチあて。だいたいこんな感じ。 diff -Naur redmine_user_import.orig/app/views/user_import/match.html.erb redmine_user_import/app/views/user_import/match.html.erb --- redm…
新規にissueを作るときにチケットのIDは予測できないようなので、新規チケットに対して子チケットを付けるのは無理ぽそうだけど、既存のチケットの変更はこれで行けた。 --- importer_controller.rb.old 2011-10-17 19:46:24.000000000 +0900 +++ importer_c…
kernel/fork.cのcopy_io()って3.2.7から多少変わってるんだけど、else if文に入ったときにtsk->io_contextにデータ設定しないのかな? tsk->io_context = new_iocとか。 static int copy_io(unsigned long clone_flags, struct task_struct *tsk) { #ifdef C…
This is a note to let you know that I’ve just added the patch titledsysfs: Fix memory leak in sysfs_sd_setsecdata().to my driver-core git tree which can be found at git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git in th…