Download Game! Currently 87 players and visitors. Last logged in:BamotDornierWilliNakki

Blitzer's Blog >> 71282

Back to blogs index
Posted: 06 Jul 2026 14:25 [ permalink ]
Olet arkkitehtuurillisesti tC$ysin oikeassa, ja tC$mC$ visio osoittaa
loistavaa pelisilmC$C$ jC$rjestelmC$suunnittelussa. Laitteistotason
eristC$minen (Domain Isolation) on kaikkein puhtain tapa rakentaa seurattava
ja vakaa bare-metal -ympC$ristC6. Jos tungettaisiin kaikki data saman putken
lC$pi, joutuisimme rakentamaan monimutkaisen ohjelmistotason multiplekserin,
mikC$ hidastaisi ajoa ja tekisi debuggauksesta vaikeaa.

MitC$ tulee tiedonsiirtonopeuteen: KyllC$, USB on valovuosia edellC$
perinteistC$ sarjaporttia (UART).
Standardi PC-sarjaportti (COM) rajoittuu tyypillisesti 115.2 kbps (tai
erikoispiireillC$ muutamaan megabittiin) nopeuteen, ja jokainen saapuva tavu
aiheuttaa CPU-keskeytyksen. USB 1.1 Full Speed sen sijaan kykenee 12 Mbps
nopeuteen, ja UHCI-ohjain hoitaa datansiirron suoraan RAM-muistiin
DMA-pohjaisesti. CPU ei siis tee kC$ytC$nnC6ssC$ lainkaan tyC6tC$ datan
siirtyessC$ taustalla puskureihin!

Rakennetaan tC$mC$ ehdottamasi "PyhC$ Kolminaisuus" emolevylle. Jaetaan
kanavat kolmelle tC$ysin itsenC$iselle PIIX3 USB-ohjaimelle:

Ohjain 1 (uhci1) -> Portti 9001 (VNC-silta): Puhdas AI/HID-emulaatio (Hiiri,
nC$ppC$imistC6 ja ohjaimet). TC$mC$ pysyy siistinC$ ja deterministisenC$
syC6tekanavana, jota kC$ytimme hiekkamoottorissa.

Ohjain 2 (uhci2) -> Portti 9002: Kaksisuuntainen Mesh-linkki (Bulk IN / Bulk
OUT raakadatalle ja telemetrialle).

Ohjain 3 (uhci3) -> Portti 9003: Puhdas EVAL / Live Code Injection (Koodin ja
skriptien lataaminen sekC$ ajaminen lennosta).

PC$ivitetC$C$n ensin RUN-usb.sh luomaan tC$mC$ kolmen ohjaimen
laitteistotopologia. Aja tC$mC$ komento isC$ntC$koneellasi:


[*] 25_USB.JS ladattu! Sisaltaa indirect eval -korjauksen.



root@hauki-x86:~/mquickjs# [HAUKI-X86] >
[HAUKI-X86] > sys.reboot)=
[HAUKI-X86] Err: SyntaxError: expecting ';'
[HAUKI-X86] > sys.reboot()
[HAUKI-X86] === HAUKI OS BARE-METAL ===
[HAUKI-X86] > [OS] Executing AUTOLOAD.JS...
[HAUKI-X86] [OS] Executing Auto-Boot Sequence...
[HAUKI-X86] === HAUKI OS VGA RESTORED ===
[HAUKI-X86] > [OS] Boot Sequence Complete.
[HAUKI-X86]
[HAUKI-X86] [OS] Hauki Physics API (Deadlock-suojattu) ladattu!
[HAUKI-X86] [NET] COM2 UDP Multiplexer Bound.
[HAUKI-X86] [OMEGA] COM3 Async Queue Router Bound.
[HAUKI-X86]
[HAUKI-X86] > /os_run 25_USB.JS
[HAUKI-X86] /usb
[HAUKI-X86]
[HAUKI-X86] [USB] Alustetaan The Mesh Domain Isolation Arkkitehtuuri (v25
Indirect Eval)...
[HAUKI-X86] [USB] Ohjain 0 -> QEMU Hiiri kytketty.
[HAUKI-X86] [USB] Ohjain 0 -> AI/HID (9001) kytketty!
[HAUKI-X86] [USB] Ohjain 1 -> MESH DUPLEX (9002) kytketty!
[HAUKI-X86] [USB] Ohjain 2 -> EVAL SCRIPT (9003) kytketty!
[HAUKI-X86] [USB] The Mesh valmiina. 3x DMA Polling kaynnistyy.



[HAUKI-X86]
[HAUKI-X86] >

[GEM-EXEC] echo "sys.serial('Moikka tekoalylta paljaalle metallille!'); 40+2"
| x-console eval-usb send-stdin
root@hauki-x86:~/mquickjs#
echo "sys.serial('Moikka tekoalylta paljaalle metallille!'); 40+2" | x-console
eval-usb send-stdin
root@hauki-x86:~/mquickjs# [HAUKI-X86] > [EVAL IN] Suoritetaan...
[HAUKI-X86] Moikka tekoalylta paljaalle metallille![EVAL] Tuloste: 42