ToDo:
PIC を生成するのは結構めどい、 というか綺麗な構造をまた一つ破壊する気がするなぁ。 gen_modrm で modrm 吐いてて、 そこに PIC になるような補正をかけるのが一番ラクだと思ったんだけど、 load する時は
mov (GOT), %rax mov (%rax), %rax
とかで store の時は
mov (GOT), %rax mov %rdx, (%rax)
などと違うコード吐かんといかん。 レジスタ一個余分に使うんだなぁ。
ついでに lea とかで
lea (hoge), %rax
とやってたアドレス参照とかは
mov (GOT), %rax
とかに変えんといかん。
(00:48)
http://www.vesa.org/public/VBE/vbe3.pdf
をだらだら読む。 protected mode から vesa の API を直接さわるには PMID って文字列を BIOS の空間から探して、 checksum を調べて、良さそうならコピって使う、 というようなことをすれば良いみたい。 でも qemu とかの BIOS は PMID 持ってないぽいんだよなぁ。
http://www.osdcom.info/component/option,com_mamboboard/Itemid,36/func,view/id,124/catid,1/
http://forum.osdev.org/viewtopic.php?f=1&t=19183
まぁ flipping 一発しか呼ばない BIOS コールで そんなに遅くなるとも思えないので、 遅いのは VRAM に自力書き込みしてる点かなぁとか思うと、 どっちかというと見るべきはこっちな気がしてきた。 BitBltLin とか速くなりそうだ。
http://www.vesa.org/public/VBE/VBE-AF07.pdf
(01:17)
よくわかってないけど、
って感じなのかな。 で、今のところ成功した証拠がなくて、 なんにせよ衛星&&成功は無さそうな感じ、と。
(01:38)
前 | 2009年 4月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。