Commit 3c07587d authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/dgibson/tags/ppc-next-20151111' into staging



ppc patch queue - 2015-11-11

Highlights:
  - Updated SLOF version for "pseries machine
  - Bugfix / cleanup for KVM hash page table allocation

# gpg: Signature made Wed 11 Nov 2015 02:30:51 GMT using RSA key ID 20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-next-20151111:
  spapr: Handle failure of KVM_PPC_ALLOCATE_HTAB ioctl
  ppc: Let kvmppc_reset_htab() return 0 for !CONFIG_KVM
  pseries: Update SLOF firmware image to qemu-slof-20151103
  ppc: Add/Re-introduce MMU model definitions needed by PR KVM

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents d93ae5b6 b41d320f
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -1021,9 +1021,19 @@ static void spapr_alloc_htab(sPAPRMachineState *spapr)
     * RAM */

    shift = kvmppc_reset_htab(spapr->htab_shift);

    if (shift > 0) {
        /* Kernel handles htab, we don't need to allocate one */
    if (shift < 0) {
        /*
         * For HV KVM, host kernel will return -ENOMEM when requested
         * HTAB size can't be allocated.
         */
        error_setg(&error_abort, "Failed to allocate HTAB of requested size, try with smaller maxmem");
    } else if (shift > 0) {
        /*
         * Kernel handles htab, we don't need to allocate one
         *
         * Older kernels can fall back to lower HTAB shift values,
         * but we don't allow booting of such guests.
         */
        if (shift != spapr->htab_shift) {
            error_setg(&error_abort, "Failed to allocate HTAB of requested size, try with smaller maxmem");
        }
@@ -1055,7 +1065,9 @@ static void spapr_reset_htab(sPAPRMachineState *spapr)
    int index;

    shift = kvmppc_reset_htab(spapr->htab_shift);
    if (shift > 0) {
    if (shift < 0) {
        error_setg(&error_abort, "Failed to reset HTAB");
    } else if (shift > 0) {
        if (shift != spapr->htab_shift) {
            error_setg(&error_abort, "Requested HTAB allocation failed during reset");
        }
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
  implementation for certain IBM POWER hardware.  The sources are at
  https://github.com/aik/SLOF, and the image currently in qemu is
  built from git tag qemu-slof-20150813.
  built from git tag qemu-slof-20151103.

- sgabios (the Serial Graphics Adapter option ROM) provides a means for
  legacy x86 software to communicate with an attached serial console as
−872 B (893 KiB)

File changed.

No diff preview for this file type.

SLOF @ b4c93802

Original line number Diff line number Diff line
Subproject commit 811277ac91f674a9273e2b529791e9b75350f3e8
Subproject commit b4c93802a5b2c72f096649c497ec9ff5708e4456
+6 −0
Original line number Diff line number Diff line
@@ -122,9 +122,15 @@ enum powerpc_mmu_t {
    /* Architecture 2.06 variant                               */
    POWERPC_MMU_2_06       = POWERPC_MMU_64 | POWERPC_MMU_1TSEG
                             | POWERPC_MMU_AMR | 0x00000003,
    /* Architecture 2.06 "degraded" (no 1T segments)           */
    POWERPC_MMU_2_06a      = POWERPC_MMU_64 | POWERPC_MMU_AMR
                             | 0x00000003,
    /* Architecture 2.07 variant                               */
    POWERPC_MMU_2_07       = POWERPC_MMU_64 | POWERPC_MMU_1TSEG
                             | POWERPC_MMU_AMR | 0x00000004,
    /* Architecture 2.07 "degraded" (no 1T segments)           */
    POWERPC_MMU_2_07a      = POWERPC_MMU_64 | POWERPC_MMU_AMR
                             | 0x00000004,
#endif /* defined(TARGET_PPC64) */
};

Loading