Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Xen
ΠΠ΅ΡΠ²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠ»Π°Ρ Raspberry Pi 4 ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΠΈ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅Π³ΠΎ Π±ΡΠ»ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Dom0. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π² Π²ΡΠΏΡΡΠΊ Xen 4.14, Π½ΠΎ ΡΡΠ°Π·Ρ Π²ΡΠΏΠ»ΡΠ»Π° Π΄ΡΡΠ³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° — Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ Xen Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π²ΡΠ·ΠΎΠ² virt_to_phys, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π» Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠ°Π»ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ².
ΠΠ° ΡΡΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈΡΡ ΠΈ Π²ΡΠΏΠ»ΡΠ»Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ DMA — Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π² Xen ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ (x86, ARM ΠΈ ARM64) Π°Π΄ΡΠ΅ΡΠ° DMA ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π»ΠΈ, Π½ΠΎ Π² Raspberry Pi 4 ΠΎΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°Π»ΠΈΡΡ. ΠΠ°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ°ΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ DMA.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΡΠ»ΠΈ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux 5.9 ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Xen ΠΏΡΠΈΠ·Π½Π°Π½ Π³ΠΎΡΠΎΠ²ΡΠΌ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΠ»Π°ΡΠ°Ρ
Raspberry Pi 4. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° Raspberry Pi 4 ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅
ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Ρ
ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠΊΠ°Π·Π° Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru