2012-01-01から1年間の記事一覧

BHyVeビルドめも16

φ(・・*)ゞ ウーンとりあえず仮想cpuのfpuのデータをセーブしたりフリーしたりするところのコンパイルエラーを通すように実装だん。基本的にBHyVeに必要な関数なのでvmm/以下にvmm_fpu.[ch]として作成しました。 uma_zcreateとかはDragonFly BSDだとsys/netgrap…

BHyVeビルドめも15

φ(・・*)ゞ ウーン 今日のvmm.cは結構面倒くさそうなのでちょっとずつ進める予定に><まずは簡単なヘッダファイルの変更と、その他をちょっと。ちょっと調べたのはこれ位ですね。FreeBSDでカレントのプロセス制御ブロックの取得にPCPU_GETマクロを使ってますが…

BHyVeビルドめも14

φ(・ω・ )かきかき 今日は怒涛の2ファイル分コンパイルエラー修正( ´∀`)bグッ! まぁ、たんに簡単な修正で済んだだけですけどね(;・∀・) ともかくvdev.cとvlapic.cのコンパイルできました。 vdev.cはホント単純にs/malloc/kmallocというレベルの修正。vlapi…

BHyVeビルドめも13

φ(・・*)ゞ ウーン ppt.cのコンパイル通したけどホントにこれで動くのかは別の話(´・ω・`)やったのはFreeBSDスタイルのpci_alloc_msi()とpci_alloc_msix()をDragonFlyの方式に合わせてみたのと、msi、msixの構造体をちょっと変えてvoidポインタを使っていたcoo…

BHyVeビルドめも12

( ..)φカキカキ 今日はとりあえず簡単なやつだけ片付けておいて、次のために -------------------------------------------------------------- >>> Kernel build for BHYVE started on Mon Jul 9 21:42:33 JST 2012 ------------------------------------------…

BHyVeビルドめも11

( ..)φカキカキ iommu.cのコンパイルエラーの修正はインクルードするファイルの変更で済みましたヽ(・∀・ )ノ キャッ キャッdiffはこれだけでpci関連のヘッダファイルは昨日調べたから割と簡単に済んだのですが。 --- a/sys/platform/pc64/vmm/io/iommu.c +++ b/…

BHyVeビルドめも10

( ..)φカキカキ vtd.cをコンパイル通すの大変そうだなーとか思ってたわけですが、やってみたらできましたw 変更したのはvtd.cだけです ただ、FreeBSDのpmap_invalidate_cache()はそれらしいのがdbsdで見つけられなかったので適当に作ってます。 923 pmap_invalid…

BHyVeビルドめも9

φ(・・*)ゞ ウーン vmx.cのコンパイルエラーを消したのですが、これで良いのか微妙なところも。 ふと気づいたらコミットし忘れてたファイルが合ったのでコミット・pushした。よく分かってないところとしては、TDF_ASTPENDINGをTDF_PREEMPT_LOCKに置き換えたので…

BHyVeビルドめも8

( ..)φカキカキ 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…

BHyVeビルドめも7

φ(.. )メモシテオコウ vmcs.cからvmcs.o作成キタ━(゜∀゜)━! ということで、vmcs.cのコンパイルが通った訳です。diffはこちら。 done: まずは無いって言われたsys/pcpu.hですが、これは特に使う必要なかったのでサクッと削除。次にFreeBSDだとcurcpuが今動いているc…

BHyVeビルドめも6

φ(.. )メモシテオコウ ついにept.cがコンパイルできた( ´∀`)bグッ! コミットはこれ done: FreeBSDのsmp_rendezvous()に該当するのはどれかーというのを探しつつ、辿り着いたのがDragonFly BSDの公式サイトにあった更新記録でですね、「Remove the now obsolete sm…

BHyVeビルドめも5

ept.cの残りはsmp_rendezvous()がないというやつφ(・・*)ゞ ウーン FreeBSDだとsys/sys/smp.hに定義があって、実体はsys/ker/subr_smp.cにいる。 -------------------------------------------------------------- >>> Kernel build for BHYVE started on Sun J…

DragonFlyBSDのcrit_enter()とcrit_exit()めも

せっかくなのでめもっとこφ(.. )メモシテオコウ crit_enter()とcrit_exit()はsys/sys/thread2.hでマクロとして定義されてて、これらの実態も同じくthred2.hで定義されてます。 #define crit_enter() _crit_enter(mycpu) #define crit_exit() crit_exit_wrapper() や…

BHyVeビルドめも4

φ(^∇^ ) メモナノラ FreeBSDのcritical_enter()とcritical_exit()はDragonFlyだとcrit_enter()でcrit_exit()の置き換えでOKだったのでコミットだん。done: ふと/usr/src/sys/kernでcriticalとかgrepすれば良いじゃんと思ってやってみたら上手いことそれらしいの…

めも:critical_enter()とcritical_exit()

( ..)φカキカキ コンパイルエラーで出てたcritical_enter()とcritical_exit()はFreeBSDのsys/kern/kern_switch.cにあるこれのことだな。 やってることはスレッドがクリティカルセクションに出入りするときの処理なので、DragonFlyBSDがこの辺をどうやってるのか…

BHyVeビルドめも3

__inlineのコンパイルエラーを無理やり解決φ(・・*)ゞ ウーンdone: __inlineでコンパイルエラーになってたのはvmm.hの他にこれだけあったんだけど、とりあえずs/__inline/inline/をしたのと、関数の戻り値の型のあとに__inlineがあるものは型の前にinlineを置…

BHyVeビルドめも2

ちょっと進めたからφ( ̄ー ̄ )メモメモコミットのdiff done’ sys/_cpuset.h、sys/cpuset.hをFreeBSDから持ってきて追加。これとsys/_types.hにcpusetid_tの定義を追加して、cpusetid_tのコンパイルエラーは解消と思ったら、vmm.hで#include を追加してあげる必要…

BHyVeビルドめも1

とりあえずφ(.. )メモシテオコウ変更点は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…

DragonFlyBSDでBHyVeをビルドしてみるテスト

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でサービスへのsymlink作るのを適当に止めとく

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めも カーネルモジュールのビルドエラーfix

FreeBSD 9.0でカーネルモジュールのmakeでこんなエラーになってたんだけど、/usr/src/share/mkでmake installすれば良さげというのが分かったのでやってみたらビルドできた! "/sys/conf/kmod.mk", line 116: Malformed conditional (${MK_CLANG_IS_CC} == "…

minix3のforkめも

んとなく昨日の続きから。だいたいこんな流れ。 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…

minix3のシステムコール呼び出しメモ 

たしか1年以上前にMinix本読書会で調べてたはずなんだけど、すっかり忘れてたのでここに書いときます。 モノリシックカーネルとマイクロカーネルの違いを忘れるとダメですねorz このメモの内容はオペレーティングシステム 第3版のP206のメモです。さて、シ…

kernel 3.4-rc3のメモリリーク追っかけ2

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…

kernel 3.4-rc3のメモリリーク追っかけ

こんな感じ。 [ 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からインポートする機能をおれおれfix

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…

redmineのチケットをcsvからインポートするプラグインの機能でチケットの親子関係をサポートさせたい。

新規にissueを作るときにチケットのIDは予測できないようなので、新規チケットに対して子チケットを付けるのは無理ぽそうだけど、既存のチケットの変更はこれで行けた。 --- importer_controller.rb.old 2011-10-17 19:46:24.000000000 +0900 +++ importer_c…

linux 3.3のcopy_io()

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…

gregさんにパッチがアクセプトされるとこんなメールが届くんだ。

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…