QEMU 7.1 thực hiện các cải tiến với truyền bộ nhớ trong Linux
Phiên bản QEMU 7.1 đã được công bố, với một loạt cải tiến cho các trình giả lập khác nhau , đáng chú ý nhất là những thay đổi dành cho ARM và RISC-V, cũng như cải tiến về truyền dữ liệu bộ nhớ cho Linux. Để chuẩn bị cho phiên bản 7.1, hơn 2800 thay đổi đã được thực hiện bởi 238 nhà phát triển.
Đối với những người mới sử dụng QEMU, bạn nên biết rằng nó 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, ví dụ như chạy ứng dụng ARM trên PC tương thích x86.
Trong chế độ ảo hóa trong QEMU, hiệu suất thực thi mã trong môi trường cô lập tương tự như của hệ thống phần cứng do thực hiện trực tiếp các lệnh trên CPU và sử dụng siêu giám sát Xen hoặc mô-đun KVM.
Tin tức chính về QEMU 7.1
Trong phiên bản mới này dành cho Linux, tùy chọn zero-copy-send được triển khai , cho phép tổ chức việc truyền tải các trang bộ nhớ trong quá trình di chuyển trực tiếp mà không cần bộ đệm trung gian.
Ngoài ra, QMP (QEMU Machine Protocol) bổ sung khả năng sử dụng lệnh `block-export-add` để xuất ảnh NBD với dữ liệu trang ở trạng thái "bẩn". Các lệnh `query-stats` và `query-stats-schema` mới cũng đã được thêm vào để truy vấn số liệu thống kê từ các hệ thống con khác nhau của QEMU.
Một thay đổi đáng chú ý khác trong phiên bản QEMU mới này là khả năng tương thích của tác nhân khách với nền tảng Solaris đã được cải thiện và bổ sung thêm các lệnh mới, 'guest-get-diskstats' và 'guest-get-cpustats', để hiển thị trạng thái ổ đĩa và CPU. Thông tin NVMe SMART đã được thêm vào lệnh 'guest-get-disks', và thông tin về loại bus NVMe đã được thêm vào lệnh 'guest-get-fsinfo'.
Ngoài ra, một trình giả lập LoongArch mới đã được thêm vào để hỗ trợ phiên bản 64-bit của kiến trúc tập lệnh LoongArch (LA64). Trình giả lập này hỗ trợ bộ xử lý Loongson 3 5000 và bộ điều khiển cầu bắc Loongson 7A1000.
Hơn nữa, bài viết cũng nhấn mạnh rằng trình giả lập ARM đã triển khai các loại máy giả lập mới: SoC Aspeed AST1030, Qualcomm và AST2600/AST1030 (fby35), ngoài việc bổ sung hỗ trợ giả lập CPU Cortex-A76 và Neoverse-N1, cũng như các phần mở rộng bộ xử lý SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) và các lệnh để chặn rò rỉ bộ nhớ cache nội bộ trong quá trình thực thi các lệnh dự đoán trong CPU.
Mặc dù trình giả lập kiến trúc RISC-V đã bổ sung hỗ trợ cho các Tập lệnh mở rộng (ISA) mới được định nghĩa trong đặc tả 1.12.0, cũng như hỗ trợ bổ sung cho phần mở rộng Sdtrig và cải thiện hỗ trợ cho các lệnh vectơ.
Những thay đổi đáng chú ý khác trong phiên bản mới này bao gồm:
- Cải thiện các tùy chọn gỡ lỗi.
- Đã thêm hỗ trợ Mô-đun nền tảng đáng tin cậy (TPM) vào máy mô phỏng 'ảo' và thêm hỗ trợ Ibex SPI cho máy 'OpenTitan'.
- Trình giả lập x86 cho KVM đã hỗ trợ thêm cho việc ảo hóa cơ chế theo dõi LBR (Bản ghi nhánh cuối).
- Đã triển khai mô phỏng trình xử lý ngắt GICv4 cho các máy 'ảo'.
- Trình mô phỏng kiến trúc HPPA cung cấp một chương trình cơ sở mới dựa trên SeaBIOS v6 hỗ trợ việc sử dụng bàn phím PS / 2 trong menu khởi động.
- Cải thiện mô phỏng cổng nối tiếp.
- Đã thêm phông chữ bảng điều khiển STI bổ sung.
- Trình mô phỏng kiến trúc MIPS cho bo mạch Nios2 (-machine 10m50-ghrd) thực hiện mô phỏng bộ điều khiển ngắt vector và bộ thanh ghi bóng.
- Cải thiện xử lý ngoại lệ.
- Đã thêm khả năng sử dụng tối đa 4 thiết bị 16550A UART trong trình mô phỏng kiến trúc OpenRISC cho máy 'or1k-sim'.
- Trình mô phỏng kiến trúc 390x cung cấp hỗ trợ cho các phần mở rộng Vector-Enhancements Facility 2 (VEF 2). BIOS s390-ccw có khả năng khởi động từ các đĩa có kích thước sector khác 512 byte.
- Đã thêm hỗ trợ cho hạt nhân lx106 và mã đối tượng kiểm tra bộ nhớ cache vào trình mô phỏng kiến trúc Xtensa.
Cuối cùng, nếu bạn muốn tìm hiểu thêm về những thay đổi và tính năng mới trong phiên bản QEMU 7.1 này, bạn có thể xem chi tiết và thông tin thêm tại liên kết sau.