qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 12/21] libqtest: add in-process qtest.c tx/rx handlers


From: Stefan Hajnoczi
Subject: Re: [PATCH v6 12/21] libqtest: add in-process qtest.c tx/rx handlers
Date: Wed, 8 Jan 2020 17:03:29 +0000

On Sun, Jan 05, 2020 at 02:55:44PM -0500, Alexander Bulekov wrote:
> On 200103 1115, Stefan Hajnoczi wrote:
> > On Fri, Nov 29, 2019 at 09:34:47PM +0000, Oleinik, Alexander wrote:
> > > +QTestState *qtest_inproc_init(QTestState **s, bool log, const char* arch,
> > > +                    void (*send)(void*, const char*))
> > > +{
> > > +    QTestState *qts;
> > > +    qts = g_new0(QTestState, 1);
> > > +    *s = qts; /* Expose qts early on, since the query endianness relies 
> > > on it */
> > > +    qts->wstatus = 0;
> > > +    for (int i = 0; i < MAX_IRQ; i++) {
> > > +        qts->irq_level[i] = false;
> > > +    }
> > > +
> > > +    qtest_client_set_rx_handler(qts, qtest_client_inproc_recv_line);
> > > +
> > > +    /* send() may not have a matching protoype, so use a type-safe 
> > > wrapper */
> > > +    qts->ops.external_send = send;
> > > +    qtest_client_set_tx_handler(qts, send_wrapper);
> > > +
> > > +    qts->big_endian = qtest_query_target_endianness(qts);
> > > +    gchar *bin_path = g_strconcat("/qemu-system-", arch, NULL);
> > > +    setenv("QTEST_QEMU_BINARY", bin_path, 0);
> > > +    g_free(bin_path);
> > 
> > Is this a dummy path that is needed to make other code happy?  Or does
> > the user need to have an actual file at /qemu-system-ARCH?
> 
> Yes - with the inproc mode this is only needed to make qtest_get_arch
> happy, which simply returns the suffix of the env variable. Standard
> qtest initialization relies on it in qtest_init_without_qmp_handshake,
> but that function is not used by the fuzzer.

Cool, please add a comment to the code.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]