Skip to content
Snippets Groups Projects
  1. May 26, 2021
    • Kit Westneat's avatar
      hw/scsi: Fix sector translation bug in scsi_unmap_complete_noio · b802d14d
      Kit Westneat authored
      check_lba_range expects sectors to be expressed in original qdev blocksize, but
      scsi_unmap_complete_noio was translating them to 512 block sizes, which was
      causing sense errors in the larger LBAs in devices using a 4k block size.
      
      Resolves: https://gitlab.com/qemu-project/qemu/-/issues/345
      
      
      Signed-off-by: default avatarKit Westneat <kit.westneat@gmail.com>
      Message-Id: <20210521142829.326217-1-kit.westneat@gmail.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      b802d14d
    • Philippe Mathieu-Daudé's avatar
      hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' · cfa1f4bc
      Philippe Mathieu-Daudé authored
      
      Per the kconfig.rst:
      
        A device should be listed [...] ``imply`` if (depending on
        the QEMU command line) the board may or  may not be started
        without it.
      
      This is the case with the NVDIMM device, so use the 'imply'
      weak reverse dependency to select the symbol.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20210511155354.3069141-2-philmd@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      cfa1f4bc
    • Philippe Mathieu-Daudé's avatar
      hw/input/ps2: Use ps2_raise_irq() instead of open coding it · 96376ab1
      Philippe Mathieu-Daudé authored
      
      Inspired-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
      Message-Id: <20210513171244.3940519-1-f4bug@amsat.org>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      96376ab1
    • Volker Rümelin's avatar
      pckbd: clear outport_present in outer pre_load() · 9d74e6c3
      Volker Rümelin authored
      
      The variable outport_present is a flag to show if the outport
      subsection was loaded. Clear the outport_present flag in the
      outer pre_load() function. This method is recommended in the QEMU
      manual for developers in the chapter "Migration, Subsections".
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-12-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      9d74e6c3
    • Volker Rümelin's avatar
      pckbd: remove duplicated keyboard and mouse defines · 314f9064
      Volker Rümelin authored
      
      In 2005 the author of commit daa57963 "PS2 mouse and keyboard
      separation (Paul Brook)" and 0e43e99c "PS2 mouse and keyboard
      separation (Paul Brook)" separated the PS/2 controller code and
      the PS/2 keyboard and mouse code. It seems he forgot to remove
      a few defines. Remove them now.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-11-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      314f9064
    • Volker Rümelin's avatar
      pckbd: correctly disable PS/2 communication · f6f57a82
      Volker Rümelin authored
      
      Currently the PS/2 controller command KBD_CCMD_MOUSE_DISABLE
      doesn't disable the PS/2 mouse communication at all, and the
      PS/2 controller commands KBD_CCMD_KBD_DISABLE and
      KBD_CCMD_KBD_ENABLE only disable and enable the keyboard
      interrupt, which is very different from what a real PS/2
      controller does. A guest may notice the difference.
      
      Mask out pending data on disabled queues to correctly disable
      the PS/2 controller communication.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-10-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      f6f57a82
    • Volker Rümelin's avatar
      pckbd: add function kbd_pending() · e4697fab
      Volker Rümelin authored
      
      Replace reads of the variable s->pending with a call to a new
      function kbd_pending() to ease the review of the next patch.
      There is no functional change.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-9-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      e4697fab
    • Volker Rümelin's avatar
      pckbd: add controller response queue · aa67a42f
      Volker Rümelin authored
      
      Add a separate queue for PS/2 controller responses. The
      responses no longer get queued in the keyboard or mouse queues.
      The advantage of this can be seen after the next two patches,
      where the guest can disable the PS/2 communication with keyboard
      and mouse and still talk to the PS/2 controller.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-8-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      aa67a42f
    • Volker Rümelin's avatar
      pckbd: add state variable for interrupt source · ac9192bd
      Volker Rümelin authored
      
      Currently there is only one flag to distinguish between two
      interrupt sources and there are no available flags for more
      sources. Add an internal state variable to store the interrupt
      source. The next patch will introduce an additional interrupt
      source. There is no functional change.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-7-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      ac9192bd
    • Volker Rümelin's avatar
      pckbd: PS/2 keyboard throttle · d1e45668
      Volker Rümelin authored
      Limit the keyboard data rate to the serial link speed. Some old
      DOS software relies on being able to read an incoming scan-code
      more than once. After reading keyboard data from the i8042
      controller, the guest software has 1ms to read the same data
      again.
      
      Use -global i8042.kbd-throttle=on to enable this feature.
      
      To see how this patch works, start a FreeDOS 1.2 guest with the
      qemu option -global i8042.kbd-throttle=on and open a text file
      with the vim 7.3 32 bit for DOS executable. Then use the cursor
      keys (not the cursor keys on the numeric keypad) to move through
      the text. Without the kbd-throttle option enabled each keystroke
      will move the cursor two positions.
      
      Buglink: https://bugs.launchpad.net/bugs/1895363
      Buglink: https://bugs.launchpad.net/bugs/1897568
      
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-6-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      d1e45668
    • Volker Rümelin's avatar
      pckbd: don't update OBF flags if KBD_STAT_OBF is set · ff6e1624
      Volker Rümelin authored
      
      Don't update the OBF flags in the status register and the cor-
      responding IRQ lines if KBD_STAT_OBF is set. Otherwise this
      may change the PS/2 event type. If the guest ISR was already
      scheduled, the changed event type will be rather surprising for
      the guest.
      
      This fixes a mouse event stream corruption. To reproduce the
      problem start a FreeDOS 1.2 guest with -machine pc,accel=kvm
      and -display gtk. The KVM in-kernel irqchip has to be enabled.
      Now open a text file with edit.exe in the guest and hold down
      the cursor right key and at the same time move the mouse around.
      You will quickly notice erratic mouse movements and unexpected
      mouse clicks.
      
      A trace file shows the mouse event stream corruption. Guest
      rip 0xce93 (f000:ce93) is the in al,0x60 instruction in the
      seabios mouse ISR, guest rip 0xceca (f000:ceca) is the
      in al,0x60 instruction in the seabios keyboard ISR.
      
      qemu-system-x86-5659  [007] ....   280.971116:
       tracing_mark_write: pckbd_kbd_update_irq kbd=0 aux=1
       # gtk queues a mouse event
      
      qemu-system-x86-5665  [000] ....   280.971121:
       kvm_exit: reason EXTERNAL_INTERRUPT rip 0x22da info 0 800000fd
      qemu-system-x86-5665  [000] d..1   280.971122:
       kvm_entry: vcpu 0, rip 0x22da
      qemu-system-x86-5665  [000] ....   280.971123:
       kvm_exit: reason EXTERNAL_INTERRUPT rip 0x22da info 0 800000fd
      qemu-system-x86-5665  [000] d..1   280.971124:
       kvm_entry: vcpu 0, rip 0x22da
      qemu-system-x86-5665  [000] ....   280.971126:
       kvm_exit: reason IO_INSTRUCTION rip 0x110c8c info 640008 0
      qemu-system-x86-5665  [000] ....   280.971176:
       tracing_mark_write: pckbd_kbd_read_status 0x3d
       # KBD_STAT_OBF and KBD_STAT_MOUSE_OBF set, the mouse ISR will
       # read data from the PS/2 controller.
      
      qemu-system-x86-5665  [000] d..1   280.971180:
       kvm_entry: vcpu 0, rip 0x110c8d
      qemu-system-x86-5665  [000] ....   280.971191:
       kvm_exit: reason EXTERNAL_INTERRUPT rip 0x110c8d info 0 800000f6
      qemu-system-x86-5665  [000] d..1   280.971191:
       kvm_entry: vcpu 0, rip 0x110c8d
      qemu-system-x86-5665  [000] ....   280.971193:
       kvm_exit: reason IO_INSTRUCTION rip 0xce93 info 600048 0
       # the mouse ISR wants to read data from the PS/2 controller
      
      qemu-system-x86-5659  [007] ....   280.971231:
       tracing_mark_write: pckbd_kbd_update_irq kbd=1 aux=0
      qemu-system-x86-5659  [007] ....   280.971238:
       tracing_mark_write: pckbd_kbd_update_irq kbd=1 aux=0
       # gtk queues a keyboard event 0xe0 0x4d (key right)
      
      qemu-system-x86-5665  [000] ....   280.971257:
       tracing_mark_write: pckbd_kbd_update_irq kbd=0 aux=1
      qemu-system-x86-5665  [000] ....   280.971262:
       tracing_mark_write: pckbd_kbd_update_irq kbd=1 aux=0
       # ps2_read_data() deasserts and reasserts the keyboard IRQ
      
      qemu-system-x86-5665  [000] ....   280.971266:
       tracing_mark_write: pckbd_kbd_read_data 0xe0 kbd
       # -> the mouse ISR receives keyboard data
      
      qemu-system-x86-5665  [000] d..1   280.971268:
       kvm_entry: vcpu 0, rip 0xce95
      qemu-system-x86-5665  [000] ....   280.971269:
       kvm_exit: reason IO_INSTRUCTION rip 0xe828 info a00040 0
      qemu-system-x86-5665  [000] ....   280.971270:
       kvm_ack_irq: irqchip PIC slave pin 12
      qemu-system-x86-5665  [000] d..1   280.971270:
       kvm_entry: vcpu 0, rip 0xe82a
      qemu-system-x86-5665  [000] ....   280.971271:
       kvm_exit: reason IO_INSTRUCTION rip 0xe82a info 200040 0
      qemu-system-x86-5665  [000] ....   280.971271:
       kvm_ack_irq: irqchip PIC master pin 2
      qemu-system-x86-5665  [000] d..1   280.971271:
       kvm_entry: vcpu 0, rip 0xe82c
      qemu-system-x86-5665  [000] ....   280.971272:
       kvm_exit: reason PENDING_INTERRUPT rip 0x22da info 0 0
      qemu-system-x86-5665  [000] d..1   280.971273:
       kvm_entry: vcpu 0, rip 0x22da
      qemu-system-x86-5665  [000] ....   280.971274:
       kvm_exit: reason IO_INSTRUCTION rip 0x110c8c info 640008 0
      qemu-system-x86-5665  [000] ....   280.971275:
       tracing_mark_write: pckbd_kbd_read_status 0x1d
      qemu-system-x86-5665  [000] d..1   280.971276:
       kvm_entry: vcpu 0, rip 0x110c8d
      qemu-system-x86-5665  [000] ....   280.971277:
       kvm_exit: reason IO_INSTRUCTION rip 0xceca info 600048 0
       # the keyboard ISR wants to read data from the PS/2 controller
      
      qemu-system-x86-5665  [000] ....   280.971279:
       tracing_mark_write: pckbd_kbd_update_irq kbd=0 aux=1
      qemu-system-x86-5665  [000] ....   280.971282:
       tracing_mark_write: pckbd_kbd_read_data 0x4d kbd
       # the keyboard ISR receives the second byte of the keyboard event
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-5-vr_qemu@t-online.de>
      
      [ kraxel: add missing include ]
      
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      ff6e1624
    • Volker Rümelin's avatar
      pckbd: split out interrupt line changing code · c3c4a961
      Volker Rümelin authored
      
      Split out the interrupt line changing code from kbd_update_irq().
      This is a preparation for the next patch. There is no functional
      change.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-4-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      c3c4a961
    • Volker Rümelin's avatar
      ps2: don't deassert irq twice if queue is empty · cec32524
      Volker Rümelin authored
      
      Don't deassert the irq twice if the queue is empty. While the
      second deassertion doesn't do any harm, it's unnecessary.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-3-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      cec32524
    • Volker Rümelin's avatar
      ps2: don't raise an interrupt if queue is full · 7704bb02
      Volker Rümelin authored
      
      ps2_queue() behaves differently than the very similar functions
      ps2_queue_2() to ps2_queue_4(). The first one calls update_irq()
      even if the queue is full, the others don't. Change ps2_queue()
      to be consistent with the others.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-2-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      7704bb02
    • Volker Rümelin's avatar
      ps2: fix mouse stream corruption · 76968101
      Volker Rümelin authored
      
      Commit 7abe7eb2 "ps2: Fix mouse stream corruption due to lost data"
      added code to avoid mouse stream corruptions but the calculation of
      the needed free queue size was wrong. Fix this.
      
      To reproduce, open a text file with the vim 7.3 32 bit for DOS exe-
      cutable in a FreeDOS client started with -display sdl and move the
      mouse around for a few seconds. You will quickly see erratic mouse
      movements and unexpected mouse clicks. CuteMouse (ctmouse.exe) in
      FreeDOS doesn't try to re-sync the mouse stream.
      
      Fixes: 7abe7eb2 ("ps2: Fix mouse stream corruption due to lost data")
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210525181441.27768-1-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      76968101
    • Daniel P. Berrangé's avatar
      hw/input: expand trace info reported for ps2 device · 644f66bf
      Daniel P. Berrangé authored
      
      It is interesting to know if the PS2 keyboard is in translated mode, and
      which of the three scancode sets are in use.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20210309155804.306051-1-berrange@redhat.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      644f66bf
  2. May 25, 2021
  3. May 21, 2021
  4. May 20, 2021
    • Eric Farman's avatar
      vfio-ccw: Attempt to clean up all IRQs on error · dcc9cf38
      Eric Farman authored
      
      The vfio_ccw_unrealize() routine makes an unconditional attempt to
      unregister every IRQ notifier, though they may not have been registered
      in the first place (when running on an older kernel, for example).
      
      Let's mirror this behavior in the error cleanups in vfio_ccw_realize()
      so that if/when new IRQs are added, it is less confusing to recognize
      the necessary procedures. The worst case scenario would be some extra
      messages about an undefined IRQ, but since this is an error exit that
      won't be the only thing to worry about.
      
      And regarding those messages, let's change it to a warning instead of
      an error, to better reflect their severity. The existing code in both
      paths handles everything anyway.
      
      Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
      Acked-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
      Message-Id: <20210428143652.1571487-1-farman@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      dcc9cf38
    • Philippe Mathieu-Daudé's avatar
      hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent · a6d8b731
      Philippe Mathieu-Daudé authored
      
      Instead of having all TYPE_CCW_DEVICE children set the bus type to
      TYPE_VIRTUAL_CSS_BUS, do it once in the abstract parent.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Acked-by: default avatarEric Farman <farman@linux.ibm.com>
      Message-Id: <20210424145313.3287400-1-f4bug@amsat.org>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      a6d8b731
    • Eric Farman's avatar
      vfio-ccw: Permit missing IRQs · 6178d468
      Eric Farman authored
      
      Commit 690e29b9 ("vfio-ccw: Refactor ccw irq handler") changed
      one of the checks for the IRQ notifier registration from saying
      "the host needs to recognize the only IRQ that exists" to saying
      "the host needs to recognize ANY IRQ that exists."
      
      And this worked fine, because the subsequent change to support the
      CRW IRQ notifier doesn't get into this code when running on an older
      kernel, thanks to a guard by a capability region. The later addition
      of the REQ(uest) IRQ by commit b2f96f9e ("vfio-ccw: Connect the
      device request notifier") broke this assumption because there is no
      matching capability region. Thus, running new QEMU on an older
      kernel fails with:
      
        vfio: unexpected number of irqs 2
      
      Let's adapt the message here so that there's a better clue of what
      IRQ is missing.
      
      Furthermore, let's make the REQ(uest) IRQ not fail when attempting
      to register it, to permit running vfio-ccw on a newer QEMU with an
      older kernel.
      
      Fixes: b2f96f9e ("vfio-ccw: Connect the device request notifier")
      Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
      Message-Id: <20210421152053.2379873-1-farman@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      6178d468
  5. May 19, 2021
    • Lucas Mateus Castro (alqotel)'s avatar
      hw/ppc: moved has_spr to cpu.h · 03282a3a
      Lucas Mateus Castro (alqotel) authored
      
      Moved has_spr to cpu.h as ppc_has_spr and turned it into an inline function.
      Change spr verification in pnv.c and spapr.c to a version that can
      compile in a !TCG environment.
      
      Signed-off-by: default avatarLucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
      Message-Id: <20210507164146.67086-1-lucas.araujo@eldorado.org.br>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      03282a3a
    • Lucas Mateus Castro (alqotel)'s avatar
      target/ppc: moved function out of mmu-hash64 · fd1eb085
      Lucas Mateus Castro (alqotel) authored
      
      The function ppc_hash64_filter_pagesizes has been moved from a function
      with prototype in mmu-hash64.h and implemented in mmu-hash64.c to
      a static function in hw/ppc/spapr_caps.c as it's only used in that file.
      
      Signed-off-by: default avatarLucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
      Message-Id: <20210506163941.106984-3-lucas.araujo@eldorado.org.br>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      fd1eb085
    • Lucas Mateus Castro (alqotel)'s avatar
      hw/ppc: moved hcalls that depend on softmmu · 962104f0
      Lucas Mateus Castro (alqotel) authored
      
      The hypercalls h_enter, h_remove, h_bulk_remove, h_protect, and h_read,
      have been moved to spapr_softmmu.c with the functions they depend on. The
      functions is_ram_address and push_sregs_to_kvm_pr are not static anymore
      as functions on both spapr_hcall.c and spapr_softmmu.c depend on them.
      The hypercalls h_resize_hpt_prepare and h_resize_hpt_commit have been
      divided, the KVM part stayed in spapr_hcall.c while the softmmu part
      was moved to spapr_softmmu.c
      
      Signed-off-by: default avatarLucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
      Message-Id: <20210506163941.106984-2-lucas.araujo@eldorado.org.br>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      962104f0
    • Fabiano Rosas's avatar
      hw/ppc/spapr.c: Make sure the host supports the selected MMU mode · ab5add4c
      Fabiano Rosas authored
      Starting with Linux kernel v5.12 we dropped support[1] in KVM for
      hosts that can't have their threads running in different MMU modes
      (POWER9 < DD2.2). In these hosts, KVM will no longer report the
      KVM_CAP_PPC_MMU_HASH_V3 capability[2] when the host is running Radix.
      
      For guests that support both MMU modes, the negotiation during CAS
      will make sure it selects the correct one.
      
      For guests that only support Hash, such as P8 compat mode guests, the
      following error is currently thrown:
      
        $ ~/qemu-system-ppc64 -machine pseries,accel=kvm,max-cpu-compat=power8 ...
        error: kvm run failed Invalid argument
        NIP 0000000000000100   LR 0000000000000000 CTR 0000000000000000 XER 0000000000000000 CPU#0
        MSR 8000000000001000 HID0 0000000000000000  HF 8000000000000000 iidx 3 didx 3
        TB 00000000 00000000 DECR 0
        GPR00 0000000000000000 0000000000000000 0000000000000000 000000007ff00000
        GPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        GPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        GPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        GPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        GPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        GPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        GPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
        CR 00000000  [ -  -  -  -  -  -  -  -  ]             RES ffffffffffffffff
         SRR0 0000000000000000  SRR1 0000000000000000    PVR 00000000004e1201 VRSAVE 0000000000000000
        SPRG0 0000000000000000 SPRG1 0000000000000000  SPRG2 0000000000000000  SPRG3 0000000000000000
        SPRG4 0000000000000000 SPRG5 0000000000000000  SPRG6 0000000000000000  SPRG7 0000000000000000
        HSRR0 0000000000000000 HSRR1 0000000000000000
         CFAR 0000000000000000
         LPCR 000000000004f01f
         PTCR 0000000000000000   DAR 0000000000000000  DSISR 0000000000000000
      
      This patch adds a verification during the writing of the platform
      support vector so that we error out as soon as we determine this guest
      only supports Hash and the host doesn't.
      
        ~/qemu-system-ppc64 -machine pseries,accel=kvm,max-cpu-compat=power8 ...
        qemu-system-ppc64: Guest requested unavailable MMU mode (hash).
      
      1- https://git.kernel.org/torvalds/p/b1b1697ae0cc8
      2- https://git.kernel.org/torvalds/p/a722076e94702
      
      
      
      Signed-off-by: default avatarFabiano Rosas <farosas@linux.ibm.com>
      Message-Id: <20210505001130.3999968-3-farosas@linux.ibm.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      ab5add4c
    • Fabiano Rosas's avatar
      hw/ppc/spapr.c: Extract MMU mode error reporting into a function · 068479e1
      Fabiano Rosas authored
      
      A following patch will make use of it.
      
      Signed-off-by: default avatarFabiano Rosas <farosas@linux.ibm.com>
      Message-Id: <20210505001130.3999968-2-farosas@linux.ibm.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      068479e1
  6. May 18, 2021
Loading