rustx86 ネットワーク編

Rust

RustとWASMで作るx86エミュレータ、18日間・226PRの完走記 — ブラウザでLinuxとDOOMが動くまで(ポストモーテム)

Rust製x86エミュレータrustx86を18日間・226本のPRで完結させた。ブラウザで32bit Linuxが起動し、Xが上がり、DOS版DOOMが音付きで遊べるまでの到達点と、13→133 MIPSの最適化戦記、作って捨てたCranelift JIT、検証の多層防御、そして「なぜここで終えるのか」を記録するポストモーテム。
Rust

装置を速くしても0.6%だった — 犯人はNE2000の受信リングで、wgetが3倍になった【rustx86 ネットワーク編 #5】

連載「rustx86 ネットワーク編」: Rust + WebAssembly の x86 エミュレータをインターネットに繋ぐまでの開発記。#1 は SLiRP backend「wsslirp」(Go + gVisor netstack)、...
Rust

wget https:// が通るまでの壁は6枚あった — MMX・SSE2の語彙・RTC・CA束【rustx86 ネットワーク編 #4】

連載「rustx86 ネットワーク編」: Rust + WebAssemblyのx86エミュレータをインターネットに繋ぐまでの開発記。#1はSLiRP backend「wsslirp」(Go + gVisor netstack)、#2はIS...
Rust

sleep 3 が20msで返る — PCIバスとRTL8029をRustで実装したら、真犯人はx87 FPUだった【rustx86 ネットワーク編 #3】

連載「rustx86 ネットワーク編」: Rust + WebAssemblyのx86エミュレータをインターネットに繋ぐまでの開発記。#1はSLiRP backendとなるユーザーモードNATデーモン「wsslirp」(Go + gViso...
16bit

1993年のDOSから ping 1.1.1.1 — ISAバスのNE2000をRustで実装する【rustx86 ネットワーク編 #2】

連載「rustx86 ネットワーク編」: Rust + WebAssemblyのx86エミュレータをインターネットに繋ぐまでの開発記。#1はSLiRP backendとなるユーザーモードNATデーモン「wsslirp」(Go + gViso...
Go

Go + gVisor netstackでユーザーモードNAT「wsslirp」を書く【rustx86 ネットワーク編 #1】

連載「rustx86 ネットワーク編」: Rust + WebAssemblyのx86エミュレータをインターネットに繋ぐまでの開発記。#1はSLiRP backendとなるユーザーモードNATデーモン(Go)、#2はゲスト側の仮想NIC(R...