[panda-users] Announcing PANDA 2.0

Juan Caballero juan.caballero at imdea.org
Wed Nov 30 13:48:28 EST 2016


Sweet. Kudos to the PANDA team!

Juan

-----Original Message-----
From: panda-users-bounces at mit.edu [mailto:panda-users-bounces at mit.edu] On
Behalf Of Brendan Dolan-Gavitt
Sent: Monday, November 28, 2016 11:46 PM
To: panda-users at mit.edu
Subject: [panda-users] Announcing PANDA 2.0

The PANDA team is pleased to announce the initial release of PANDA 2.0.
It's been roughly four years since we first released PANDA, and it's come a
long way, becoming more stable, featureful, and easier to use -- in large
part because of fantastic contributions from developers around the world.

At the same time, though, QEMU has undergone huge changes, and PANDA hasn't
kept up. QEMU now supports new platforms like Mac OS X, has improved the TCG
emulator's performance, and includes countless security fixes. The main goal
of PANDA 2.0 is to re-sync with upstream QEMU, allowing us to take advantage
of all of these improvements. We've also restructured the repository, which
will make it easier to keep up with upstream changes in the future.

PANDA 1.0 is still available at https://github.com/moyix/panda, but all new
development will be done on PANDA 2.0. Associated projects like PANDA malrec
will be moving to PANDA 2.0 soon.

Getting PANDA 2.0
-----------------

To make migrating to PANDA 2.0 easier, we've left PANDA 1.0 in place at its
original URL. PANDA 2.0 can be found at:

https://github.com/panda-re/panda

PANDA 2.0 can be built on Ubuntu by doing:

curl
https://raw.githubusercontent.com/panda-re/panda/master/panda/scripts/instal
l_ubuntu.sh
| bash

If you want to install and run PANDA 2.0 in Docker, you can do:

docker pull pandare/panda

Porting Plugins to PANDA 2.0
----------------------------

We are currently a bit short on documentation on precisely how to migrate
your existing plugins to PANDA 2.0. We will be writing up a migration guide,
but in the meantime you can have a look at what changes the asidstory plugin
needed to work with PANDA 2.0. Most of the changes stem from the fact that
QEMU has split up the CPU state into two parts rather than a single
monolithic CPUState *env.

Known Issues
------------

* Android support has been dropped. PANDA's original support for Android
  was a huge undertaking that required porting over a large number of
  emulated devices from the Android emulator. QEMU's device APIs have
  changed significantly since then, and updating them was not feasible.
  If anyone wants to take on this task, we'd be happy to incorporate the
  changes!
* Record/replay currently does not work with QEMU's q35 machine. The
  underlying issue that QEMU's emulated AHCI controller does DMA in a
  way that bypasses the standard QEMU DMA APIs, which leads to
  record/replay divergence.
* ARM support is currently not finished. We're working on this!
* Because of the large number of changes made to the emulated hardware
  and memory APIs in QEMU, recordings made in PANDA 1.0 will not replay
  under PANDA 2.0.
* Not all plugins have been ported over (and some of the less useful
  ones will probably be left out entirely). More will follow soon!

If you discover any additional issues, please open an issue on Github!

--
Brendan Dolan-Gavitt
Assistant Professor, Department of Computer Science and Engineering NYU
Tandon School of Engineering _______________________________________________
panda-users mailing list
panda-users at mit.edu
http://mailman.mit.edu/mailman/listinfo/panda-users



More information about the panda-users mailing list