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

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

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

Κλειδί βελτιώσειςπροστέθηκε στο QEMU 4.1:

  • Η υποστήριξη για μοντέλα CPU Hygon Dhyana και Intel SnowRidge έχει προστεθεί στον εξομοιωτή αρχιτεκτονικής x86. Προστέθηκε εξομοίωση της επέκτασης RDRAND (παραγωγός ψευδοτυχαίων αριθμών υλικού). Προστέθηκαν σημαίες
    md-clear και mds-no για έλεγχο προστασίας από επίθεση MDS (Microarchitectural Data Sampling) σε επεξεργαστές Intel. Προστέθηκε η δυνατότητα προσδιορισμού τοπολογιών ολοκληρωμένων κυκλωμάτων χρησιμοποιώντας τη σημαία “-smp ...,dies=”. Η έκδοση εκδόσεων έχει εφαρμοστεί για όλα τα μοντέλα CPU x86.

  • Το πρόγραμμα οδήγησης μπλοκ SSH έχει μετακινηθεί από τη χρήση libssh2 επί libsh;
  • Το πρόγραμμα οδήγησης virtio-gpu (εικονική GPU που αναπτύχθηκε ως μέρος του έργου Βιργίλιος) προστέθηκε υποστήριξη για τη μετακίνηση λειτουργιών απόδοσης 2D/3D σε μια εξωτερική διαδικασία vhost-user (για παράδειγμα, vhost-user-gpu).
  • Ο εξομοιωτής αρχιτεκτονικής ARM έχει προσθέσει υποστήριξη για την επέκταση ARMv8.5-RNG για τη δημιουργία ψευδοτυχαίων αριθμών. Έχει εφαρμοστεί υποστήριξη για εξομοίωση FPU για τσιπ οικογένειας Cortex-M και επιλύθηκαν προβλήματα με την εξομοίωση FPU για Cortex-R5F. Ένα νέο σύστημα για τη ρύθμιση των επιλογών κατασκευής, σχεδιασμένο στο στυλ Kconfig, έχει προταθεί. Για το SoC Exynos4210, έχει προστεθεί υποστήριξη για ελεγκτές PL330 DMA.
  • Ο εξομοιωτής αρχιτεκτονικής MIPS έχει βελτιωμένη υποστήριξη για οδηγίες MSA ASE κατά τη χρήση σειράς byte big-endian και ευθυγράμμισε τον χειρισμό της διαίρεσης με μηδενικές περιπτώσεις με το υλικό αναφοράς. Η απόδοση της εξομοίωσης εντολών MSA για υπολογισμούς ακεραίων και πράξεις μετάθεσης έχει αυξηθεί.
  • Ο εξομοιωτής αρχιτεκτονικής PowerPC υποστηρίζει πλέον την προώθηση σε GPU NVIDIA V100/NVLink2 με χρήση VFIO. Για ψευδοστοιχίες, έχει εφαρμοστεί η επιτάχυνση της εξομοίωσης ελεγκτή διακοπής XIVE και έχει προστεθεί υποστήριξη για θερμή απόφραξη γεφυρών PCI. Έχουν γίνει βελτιστοποιήσεις για την εξομοίωση διανυσματικών εντολών (Altivec/VSX).
  • Ένα νέο μοντέλο υλικού προστέθηκε στον εξομοιωτή αρχιτεκτονικής RISC-V - "spike". Προστέθηκε υποστήριξη για το ISA 1.11.0. Το ABI κλήσης συστήματος 32 bit έχει βελτιωθεί, ο χειρισμός μη έγκυρων εντολών έχει βελτιωθεί και το ενσωματωμένο πρόγραμμα εντοπισμού σφαλμάτων έχει βελτιωθεί. Προστέθηκε υποστήριξη για την τοπολογία της CPU στο δέντρο συσκευών.
  • Ο εξομοιωτής αρχιτεκτονικής s390 έχει προσθέσει υποστήριξη για την εξομοίωση όλων των διανυσματικών εντολών της ομάδας "Vector Facility" και πρόσθεσε πρόσθετα στοιχεία για την υποστήριξη συστημάτων gen15 (συμπεριλαμβανομένης της πρόσθετης υποστήριξης για το AP Queue Interruption Facility για vfio-ap). Εφαρμοσμένη υποστήριξη BIOS για εκκίνηση από το ECKD DASD συνδεδεμένο στο guest σύστημα μέσω vfio-ccw.
  • Στον εξομοιωτή αρχιτεκτονικής SPARC για συστήματα sun4m, επιλύθηκαν προβλήματα με τη χρήση της σημαίας "-vga κανένα" για το OpenBIOS.
  • Ο εξομοιωτής επεξεργαστή οικογένειας Tensilica Xtensa περιλαμβάνει επιλογές για MPU (μονάδα προστασίας μνήμης) και αποκλειστική πρόσβαση.
  • Η επιλογή "-salvage" έχει προστεθεί στην εντολή "qemu-img convert" για να απενεργοποιηθεί η κατάρρευση της διαδικασίας μετατροπής εικόνας σε περίπτωση σφαλμάτων I/O (για παράδειγμα, μπορεί να χρησιμοποιηθεί για την επαναφορά μερικώς κατεστραμμένων αρχείων qcow2). Σε μία ομάδα
    Το "qemu-img rebase" λειτουργεί όταν δεν έχει δημιουργηθεί ακόμη αρχείο υποστήριξης για το αρχείο εισόδου.

  • Προστέθηκε η δυνατότητα ανακατεύθυνσης εξόδου οργανωμένη με χρήση της τεχνολογίας "semihosting" (επιτρέπει στην εξομοιωμένη συσκευή να χρησιμοποιεί stdout, stderr και stdin για τη δημιουργία αρχείων στην πλευρά του κεντρικού υπολογιστή) στο backend του chardev ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
  • Το πρόγραμμα οδήγησης μπλοκ VMDK υποστηρίζει τώρα την υπομορφή seSparse σε λειτουργία μόνο για ανάγνωση.
  • Προστέθηκε υποστήριξη για τον ελεγκτή SiFive GPIO στο πρόγραμμα οδήγησης εξομοίωσης GPIO.

Πηγή: opennet.ru

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