Việc phát hành dự án QEMU 7.2 được trình bày. Là trình giả lập, QEMU cho phép bạn chạy chương trình được xây dựng cho một nền tảng phần cứng trên hệ thống có kiến trúc hoàn toàn khác, chẳng hạn như chạy ứng dụng ARM trên PC tương thích x86. Ở chế độ ảo hóa trong QEMU, hiệu suất thực thi mã trong môi trường biệt lập gần với hệ thống phần cứng do thực thi trực tiếp các lệnh trên CPU và sử dụng mô-đun Xen hypanneror hoặc KVM.
Dự án này ban đầu được Fabrice Bellard tạo ra nhằm cung cấp khả năng chạy các tập tin thực thi được biên dịch cho nền tảng x86. Linux Trên các kiến trúc khác ngoài x86. Trong suốt quá trình phát triển, hỗ trợ giả lập đầy đủ đã được bổ sung cho 14 kiến trúc phần cứng, và số lượng thiết bị phần cứng được giả lập đã vượt quá 400. Trong quá trình chuẩn bị phiên bản 7.2, hơn 1800 thay đổi đã được thực hiện bởi 205 nhà phát triển.
Những cải tiến chính được thêm vào trong QEMU 7.2:
- Trình giả lập kiến trúc x86 trong trình tạo mã TCG cổ điển đã được cập nhật để hỗ trợ các lệnh AVX, AVX2, F16C, FMA3 và VAES, đồng thời các tối ưu hóa hiệu năng liên quan đến việc sử dụng các lệnh SSE cũng đã được triển khai. KVM Đã thêm hỗ trợ cho cơ chế giám sát việc thoát của máy ảo ("notify vmexit"), cho phép bạn bỏ qua các lỗi CPU có thể dẫn đến tình trạng treo máy.
- Trình mô phỏng ARM hỗ trợ CPU Cortex-A35 và các phần mở rộng bộ xử lý ETS (Đồng bộ hóa dịch nâng cao), PMUv3p5 (Phần mở rộng PMU 3.5), GTG (Hạt dịch khách 4KB, 16KB, 64KB), HAFDBS (kiểm soát phần cứng của cờ truy cập và trạng thái “bẩn”) và E0PD (ngăn EL0 truy cập vào bản đồ địa chỉ được phân vùng).
- Trình mô phỏng LoongArch bổ sung hỗ trợ cho fw_cfg DMA, bộ nhớ cắm nóng và mô phỏng thiết bị TPM (Mô-đun nền tảng đáng tin cậy).
- Trình mô phỏng kiến trúc OpenRISC triển khai nền tảng “virt” để thử nghiệm các thiết bị và sử dụng chúng trong các hệ thống tích hợp liên tục. Hỗ trợ thực thi đa luồng của trình tạo mã TCG (Trình tạo mã nhỏ) cổ điển đã được triển khai.
- Trình giả lập kiến trúc RISC-V trong các máy giả lập “virt” có khả năng tải firmware từ pflash ở chế độ S-mode. Cải thiện công việc với cây thiết bị.
- Trình mô phỏng 390x cung cấp hỗ trợ cho MSA5 (Phần mở rộng hỗ trợ tin nhắn-bảo mật 5 với hướng dẫn PRNO để tạo số giả ngẫu nhiên), hướng dẫn KIMD/KLM (triển khai SHA-512) và diễn giải zPCI mở rộng cho các hệ thống khách dựa trên bộ ảo hóa KVM .
- Phần phụ trợ để làm việc với bộ nhớ cung cấp khả năng phân bổ trước bộ nhớ có tính đến kiến trúc NUMA.
- Tăng cường xác minh tiêu đề thiết bị khối được mã hóa LUKS, bổ sung khả năng tạo ảnh LUKS trong macOS.
- Phần phụ trợ 9pfs, cho phép sử dụng hệ thống tệp mạng Plan 9 để truy cập máy ảo này sang máy ảo khác, đã chuyển sang sử dụng hàm băm GHashTable trong bảng định danh, điều này trong một số trường hợp đã dẫn đến hiệu suất tăng gấp 6-12 lần.
- Đã thêm luồng phụ trợ netdev và dgram mới.
- Hỗ trợ FreeBSD đã được thêm vào đại lý dành cho khách dựa trên ARM.
- Trong các cụm GUI cho macOS Khả năng tích hợp các giao diện dựa trên Cocoa và SDL/GTK vào một tệp thực thi duy nhất đã được cung cấp.
- Mô-đun con tích hợp “slirp” đã bị xóa, thay vào đó nên sử dụng thư viện hệ thống libslirp.
- Do thiếu khả năng kiểm tra nên việc hỗ trợ hệ thống máy chủ có bộ xử lý MIPS 32 bit sử dụng thứ tự byte Big Endian đã không còn được dùng nữa.
Nguồn: opennet.ru
