Commit c12e8293 authored by John Snow's avatar John Snow Committed by Stefan Hajnoczi
Browse files

qtest/ahci: remove guest_malloc global



Make helper routines rely on the earmarked
guest allocator object with AHCIQState/QOSSTate instead.

Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Message-id: 1421698563-6977-12-git-send-email-jsnow@redhat.com
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent 7f410456
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@
#include "libqos/libqos-pc.h"
#include "libqos/ahci.h"
#include "libqos/pci-pc.h"
#include "libqos/malloc-pc.h"

#include "qemu-common.h"
#include "qemu/host-utils.h"
@@ -44,7 +43,6 @@
#define TEST_IMAGE_SIZE    (64 * 1024 * 1024)

/*** Globals ***/
static QGuestAllocator *guest_malloc;
static char tmp_path[] = "/tmp/qtest.XXXXXX";
static bool ahci_pedantic;

@@ -92,6 +90,11 @@ static void string_bswap16(uint16_t *s, size_t bytes)
    }
}

static uint64_t ahci_alloc(AHCIQState *ahci, size_t bytes)
{
    return qmalloc(ahci->parent, bytes);
}

/**
 * Locate, verify, and return a handle to the AHCI device.
 */
@@ -154,9 +157,6 @@ static AHCIQState *ahci_boot(void)
    /* Verify that we have an AHCI device present. */
    s->dev = get_ahci_device(&s->fingerprint);

    /* Stopgap: Copy the allocator reference */
    guest_malloc = s->parent->alloc;

    return s;
}

@@ -272,13 +272,13 @@ static void ahci_hba_enable(AHCIQState *ahci)

        /* Allocate Memory for the Command List Buffer & FIS Buffer */
        /* PxCLB space ... 0x20 per command, as in 4.2.2 p 36 */
        clb = guest_alloc(guest_malloc, num_cmd_slots * 0x20);
        clb = ahci_alloc(ahci, num_cmd_slots * 0x20);
        g_test_message("CLB: 0x%08x", clb);
        PX_WREG(i, AHCI_PX_CLB, clb);
        g_assert_cmphex(clb, ==, PX_RREG(i, AHCI_PX_CLB));

        /* PxFB space ... 0x100, as in 4.2.1 p 35 */
        fb = guest_alloc(guest_malloc, 0x100);
        fb = ahci_alloc(ahci, 0x100);
        g_test_message("FB: 0x%08x", fb);
        PX_WREG(i, AHCI_PX_FB, fb);
        g_assert_cmphex(fb, ==, PX_RREG(i, AHCI_PX_FB));
@@ -951,12 +951,12 @@ static void ahci_test_identify(AHCIQState *ahci)

    /* Create a Command Table buffer. 0x80 is the smallest with a PRDTL of 0. */
    /* We need at least one PRD, so round up to the nearest 0x80 multiple.    */
    table = guest_alloc(guest_malloc, CMD_TBL_SIZ(1));
    table = ahci_alloc(ahci, CMD_TBL_SIZ(1));
    g_assert(table);
    ASSERT_BIT_CLEAR(table, 0x7F);

    /* Create a data buffer ... where we will dump the IDENTIFY data to. */
    data_ptr = guest_alloc(guest_malloc, 512);
    data_ptr = ahci_alloc(ahci, 512);
    g_assert(data_ptr);

    /* Grab the Command List Buffer pointer */