Έκδοση του εξομοιωτή QEMU 7.1

Παρουσιάστηκε η κυκλοφορία του έργου QEMU 7.1. Ως εξομοιωτής, το QEMU σάς επιτρέπει να εκτελέσετε ένα πρόγραμμα μεταγλωττισμένο για μια πλατφόρμα υλικού σε ένα σύστημα με εντελώς διαφορετική αρχιτεκτονική, για παράδειγμα, να εκτελέσετε μια εφαρμογή ARM σε υπολογιστή συμβατό με x86. Στη λειτουργία εικονικοποίησης στο QEMU, η απόδοση της εκτέλεσης κώδικα σε ένα απομονωμένο περιβάλλον είναι κοντά σε αυτήν ενός συστήματος υλικού λόγω της άμεσης εκτέλεσης εντολών στην CPU και της χρήσης του Xen hypervisor ή της μονάδας KVM.

Το έργο δημιουργήθηκε αρχικά από τον Fabrice Bellard για να παρέχει τη δυνατότητα εκτέλεσης εκτελέσιμων αρχείων Linux που έχουν μεταγλωττιστεί για την πλατφόρμα x86 σε αρχιτεκτονικές που δεν είναι x86. Με τα χρόνια της ανάπτυξης, προστέθηκε υποστήριξη για πλήρη εξομοίωση για 14 αρχιτεκτονικές υλικού, ο αριθμός των εξομοιούμενων συσκευών υλικού ξεπέρασε τις 400. Κατά την προετοιμασία της έκδοσης 7.1, έγιναν περισσότερες από 2800 αλλαγές από 238 προγραμματιστές.

Βασικές βελτιώσεις που προστέθηκαν στο QEMU 7.1:

  • Στην πλατφόρμα Linux, εφαρμόζεται η επιλογή zero-copy-send, η οποία σας επιτρέπει να οργανώσετε τη μεταφορά σελίδων μνήμης κατά τη διάρκεια της ζωντανής μετεγκατάστασης χωρίς ενδιάμεσο buffering.
  • Το QMP (QEMU Machine Protocol) έχει προσθέσει τη δυνατότητα χρήσης της εντολής block-export-add για την εξαγωγή εικόνων NBD με δεδομένα σελίδας σε κατάσταση "βρώμικη". Νέες εντολές 'query-stats' και 'query-stats-schema' έχουν επίσης προστεθεί στα στατιστικά ερωτημάτων από διάφορα υποσυστήματα QEMU.
  • Το Guest Agent βελτίωσε την υποστήριξη για την πλατφόρμα Solaris και πρόσθεσε νέες εντολές «guest-get-diskstats» και «guest-get-cpustats» για την εμφάνιση της κατάστασης του δίσκου και της CPU. Προστέθηκε έξοδος πληροφοριών από το NVMe SMART στην εντολή "guest-get-disks" και έξοδος πληροφοριών σχετικά με τον τύπο διαύλου NVMe στην εντολή "guest-get-fsinfo".
  • Προστέθηκε ένας νέος εξομοιωτής LoongArch με υποστήριξη για την παραλλαγή 64-bit της αρχιτεκτονικής συνόλου εντολών LoongArch (LA64). Ο εξομοιωτής υποστηρίζει επεξεργαστές Loongson 3 5000 και βόρειες γέφυρες Loongson 7A1000.
  • Ο εξομοιωτής ARM εφαρμόζει νέους τύπους προσομοιωμένων μηχανών: Aspeed AST1030 SoC, Qaulcomm και AST2600/AST1030 (fby35). Προστέθηκε υποστήριξη για εξομοίωση CPU Cortex-A76 και Neoverse-N1, καθώς και επεκτάσεις επεξεργαστή SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) και εντολές για τον αποκλεισμό διαρροών από την εσωτερική μνήμη cache κατά την κερδοσκοπική εκτέλεση εντολών στο ΕΠΕΞΕΡΓΑΣΤΗΣ. Για μηχανές 'virt' έχει εφαρμοστεί εξομοίωση του ελεγκτή διακοπής GICv4.
  • Στον εξομοιωτή αρχιτεκτονικής x86 για το KVM, έχει προστεθεί υποστήριξη για εικονικοποίηση του μηχανισμού ανίχνευσης LBR (Last Branch Record).
  • Ο εξομοιωτής αρχιτεκτονικής HPPA προσφέρει νέο υλικολογισμικό που βασίζεται στο SeaBIOS v6, το οποίο υποστηρίζει τη χρήση πληκτρολογίου PS/2 στο μενού εκκίνησης. Βελτιωμένη εξομοίωση σειριακής θύρας. Προστέθηκαν πρόσθετες γραμματοσειρές κονσόλας STI.
  • Ο εξομοιωτής αρχιτεκτονικής MIPS για πλακέτες Nios2 (-μηχάνημα 10m50-ghrd) υλοποιεί την εξομοίωση ενός ελεγκτή διανυσματικών διακοπών και ενός συνόλου σκιών καταχωρητών. Βελτιωμένος χειρισμός εξαιρέσεων.
  • Ο εξομοιωτής αρχιτεκτονικής OpenRISC για το μηχάνημα 'or1k-sim' έχει προσθέσει τη δυνατότητα χρήσης έως και 4 συσκευών UART 16550A.
  • Ο εξομοιωτής αρχιτεκτονικής RISC-V έχει προσθέσει υποστήριξη για τις νέες επεκτάσεις συνόλου εντολών (ISA) που ορίζονται στην προδιαγραφή 1.12.0, καθώς και πρόσθετη υποστήριξη για την επέκταση Sdtrig και βελτιωμένη υποστήριξη για διανυσματικές εντολές. Βελτιωμένες δυνατότητες εντοπισμού σφαλμάτων. Η υποστήριξη TPM (Trusted Platform Module) έχει προστεθεί στο μηχάνημα εξομοίωσης «virt» και η υποστήριξη Ibex SPI έχει προστεθεί στον υπολογιστή «OpenTitan».
  • Ο εξομοιωτής αρχιτεκτονικής 390x παρέχει υποστήριξη για επεκτάσεις VEF 2 (Vector-Enhancements Facility 2). Το BIOS s390-ccw παρέχει τη δυνατότητα εκκίνησης από δίσκους με μέγεθος τομέα διαφορετικό από 512 byte.
  • Ο εξομοιωτής αρχιτεκτονικής Xtensa έχει προσθέσει υποστήριξη για πυρήνες lx106 και κωδικούς αντικειμένων για δοκιμή προσωρινής μνήμης.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο