back to article QEMU 4 arrives with toys for Arm admirers, RISC-V revolutionaries, POWER patriots... you get the idea

Emulation fans, rejoice! Version 4 of open-source emulator QEMU has dropped with features aplenty and, sadly, one or two omissions. First the bad news – x86 Memory Protection Extensions (MPX) support has been dropped from all CPU modes. The QEMU team is blunt in its reasoning, declaring the tech a "failed experiment by Intel" …

  1. Waseem Alkurdi

    x86 Memory Protection Extensions (MPX) support has been dropped from all CPU modes.

    Ah damn ... QEMU and older operating systems already don't play well. Now with that, it's probably going to be even worse!

    Why not just keep it in there but disabled unless enabled at compile time? Is it really *that* much of a complex piece of junk code?

    1. Warm Braw

      Re: x86 Memory Protection Extensions (MPX) support has been dropped from all CPU modes.

      MPX has been around for less than 4 years, so its loss is hardly a threat to elderly operating systems that pre-date it.

      Analysis of its performance and effectiveness has not been kind, so it's unlikely to be popular with future developers either - it looks like it was only ever used in Linux and then not for long...

    2. Anonymous Coward
      Anonymous Coward

      Re: x86 Memory Protection Extensions (MPX) support has been dropped from all CPU modes.

      As a summary of just how bad MPX is:

      https://en.wikipedia.org/wiki/Intel_MPX

      TL;DR: MPX provides no advantage over software protections while missing a number of protections and displaying significant performance penalties (over and above those present in MPX/software) on older architectures.

    3. bombastic bob Silver badge
      WTF?

      Re: x86 Memory Protection Extensions (MPX) support has been dropped from all CPU modes.

      none of my intel CPUs have that "feature", and it almost sounds like a reason to go with AMD

  2. karlkarl Silver badge

    Hmm, I am not sure about

    "The gang has also dropped the "pc-0.10" and "pc-0.11" machine types, urging users to switch to something a bit newer instead."

    Arguably the whole reason I use QEmu is to use old stuff. One day they will remove CPU support for i.e Windows 3.1 or DOS and then what exactly is the point of this emulator? To serve as a base for cloud / virtualisation companies.

    Digital preservation cannot work if things are called "legacy" and removed. Many users don't give two craps about emulating ARM6 or RISC-V because we can still buy actual hardware. However a Pentium 1 is getting harder and harder to obtain. Windows NT 4.0 will simply bluescreen unless we specifically set that as a command line option in QEmu (untill it gets removed I suppose).

    1. karlkarl Silver badge

      And I am going to reply to my own post like a weirdo to add:

      The QEmu team can do what they want of course, however what I think really annoys me is in academic literature they basically state that "Digital preservation is generally solved because we have QEmu" but this is obviously not the case if QEmu simply slows the process but doesn't halt it.

      QEmu is a massive feat of engineering so we can't exactly maintain our own older versions either.

      Some source state that the solution is the Dioscuri Emulator with a specific aim for digital preservation... but they wrote the sodding thing in Java! How silly is that? Java is the first thing to die in the future!

      1. John Brown (no body) Silver badge

        "The QEmu team can do what they want of course, however what I think really annoys me is in academic literature they basically state that "Digital preservation is generally solved because we have QEmu" but this is obviously not the case if QEmu simply slows the process but doesn't halt it."

        So you keep the old QEMU and when it fails to run on modern hardware, you install the latest QEMU and build a VM to run the older QEMU. Eventually, it'll be QEMU all the way down!

    2. CrazyOldCatMan Silver badge

      then what exactly is the point of this emulator

      My home proxmox setup uses QEMU to provide native VMs - I have about 10 VMs (linux, FreeBSD, Windows) running on a single server.

      So, as far as I'm concerned, it's an open-source version of VMWare or Hyper-V and I don't use it for anything exotic. And QEMU works perfectly for that.

    3. Mike Moyle

      Well, now that you know that their roadmap apparently involves dropping support for older tech, your solution should probably be to not upgrade that version on that hardware and keep it as a "time machine" for that yet-older tech while getting a new box and new version of the program to run more-recent --> future tech. Then, when something in THAT version is, inevitably, broken in the next update, save THAT configuration as TimeMachine-02 and keep doing so as long as you actually NEED the aged tech.

      Alternatively, can the OLD version run on a VM emulated under the NEW version? ("It's VMs all the way down!")

    4. FIA Silver badge

      Hmm, I am not sure about

      "The gang has also dropped the "pc-0.10" and "pc-0.11" machine types, urging users to switch to something a bit newer instead."

      Surely you just use a newer QEMU to run an older build of QEMU to run Windows or DOS?

      In 10 years it'll be QEMU all the way down....

      1. karlkarl Silver badge

        Because QEMU can be run 100% in software, yes this kind of nested use would work... slowly.

        Wouldn't be great for games but would allow me to keep running my MS-DOS version of TurboTax ;)

        1. Anonymous Coward
          Anonymous Coward

          Hmmm... If it's the MS-DOS version of TurboTax, you'd probably be better to use either DosEMU or DOSBOX.

          PC-0-10 and PC-0-11 were deprecated with the release of QEMU 3.0 - and PC-0-12, PC-0-13, PC-0-14 and PC-0-15 are deprecated by QEMU 4.0.

          Also, looking through the change for that *addition* of PC-0-10 reveals this was added to:

          Add a pc-0-10 machine type to allow a pc machine to be created with virtio block and console devices compatibilty with qemu-0.10.x.

          So it's more of a driver compatibility issue than anything else.

          Looking at the downloads on the QEMU source downloads website, 0.11.1 was released in December 2009 - or there abouts. (0.11.0 was released in March) 0.15 takes us up to about August or October 2011. (0.15.0 and 0.15.1, respectively)

    5. Anonymous Coward
      Anonymous Coward

      "Arguably the whole reason I use QEmu is to use old stuff. One day they will remove CPU support for i.e Windows 3.1 or DOS and then what exactly is the point of this emulator?"

      By that time, other emulators designed for "legacy" hardware (such as MAME's computer support and DOSBOX) will likely already exist for the purpose.

  3. Steve Cooper

    Argh I can't read QEMU without reading QEMM(386)

    1. Anonymous Coward
      Anonymous Coward

      I don't believe you.

      If you said you tried reading it as QEMM(386) a couple of times, rebooted, had problems and tweaked it some more and then it eventually sort of worked, I'd believe you...

    2. Michael B.

      Me too, I just assumed that this had grown naturally out of QEMM.

  4. Paul Johnston

    ./configure

    >Those keen to bash out the odd wget, tar and make can get their hands on the update now. ®

    What about ./configure that's where all the fun is!

  5. Erikur

    Is qemu 4 slower?

    I find the new qemu-4.0.0 slower and more sluggish then qemu-3.1.0 on my RavenRidge 2500u hardware.

    Have anyone else a similar experience?

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon