เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™ VMM hypervisor เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเป‚เบ„เบ‡เบเบฒเบ™ OpenBSD

เปƒเบ™ hypervisor เบ—เบตเปˆเบชเบฐเปœเบญเบ‡เปƒเบซเป‰ OpenBSD เบงเบต. เบก เบเปเบฒเบ™เบปเบ” เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญ, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰, เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบขเบนเปˆเบ”เป‰เบฒเบ™เบ‚เป‰เบฒเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบ‚เบ, เป€เบžเบทเปˆเบญเบ‚เบฝเบ™เบ—เบฑเบšเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ kernel เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบˆเบปเป‰เบฒเบžเบฒเบš. เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เป€เบเบตเบ”เบกเบฒเบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ‚เบญเบ‡เปเบ‚เบ (GPA, Guest Physical Address) เบ–เบทเบเปเบœเบ™เบ—เบตเปˆเบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ virtual kernel (KVA), เปเบ•เปˆ GPA เบšเปเปˆเบกเบตเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ‚เบฝเบ™เบ—เบตเปˆเปƒเบŠเป‰เบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆ KVA เบ—เบตเปˆเบ–เบทเบเบซเบกเบฒเบเบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. . เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ‚เบฒเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ evmm_update_pvclock(), เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป‚เบญเบ™เบ—เบตเปˆเบขเบนเปˆ KVA เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป‚เบฎเบ”เป„เบ›เบซเบฒเบเบฒเบ™เป‚เบ— pmap เปเบฅเบฐเบ‚เบฝเบ™เบ—เบฑเบšเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบเปˆเบ™.

เบญเบฑเบšเป€เบ”เบ”: เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ OpenBSD เป„เบ”เป‰เบ›เปˆเบญเบเบญเบญเบเบกเบฒ patch เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบˆเบธเบ”เบญเปˆเบญเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™