qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/3] Device tree cleanups


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] [PATCH v2 0/3] Device tree cleanups
Date: Wed, 27 Nov 2013 23:10:32 +1000

Ping!

On Mon, Nov 11, 2013 at 6:14 PM,  <address@hidden> wrote:
> From: Peter Crosthwaite <address@hidden>
>
> Fix the name stem of the devicetree API (P1 - s/qemu_devtree/qemu_fdt)
> and cleanup error report (P3). Trivial patch P2 fixing an arugment name
> along the way.
>
> Tested using:
>
> 1: Alex's e500 test vector.
> 2: Xilinx Zynq (tests arm/boot.c).
>
> I have testing using Zynq with Mem > 4gb and a bogus dts (size cells = 1)
> to give that particular error path some exercise.
>
> To give some exercise to the error paths, I hacked up my libfdt to throw
> errors randomly:
>
> --- a/libfdt/fdt_rw.c
> +++ b/libfdt/fdt_rw.c
> @@ -48,6 +48,8 @@
>   *     OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
>   *     EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>   */
> +
> +#include <stdlib.h>
>  #include "libfdt_env.h"
>
>  #include <fdt.h>
> @@ -279,6 +281,15 @@ int fdt_setprop(void *fdt, int nodeoffset, const char 
> *name,
>
>     FDT_RW_CHECK_HEADER(fdt);
>
> +    static int seeded = 0;
> +    if (!seeded) {
> +        srand(time(NULL));
> +        seeded = 1;
> +    }
> +    if (!(rand() & 0x7)) {
> +        return -((rand() & 0x3) + 1);
> +    }
> +
>
> Some sample outputs from e500 boot (Using the above tainted libfdt):
>
> -----
> qemu-system-ppc: qemu_fdt_setprop: Couldn't set /memory/reg: FDT_ERR_BADOFFSET
>
> Aborted
> -----
> qemu-system-ppc: qemu_fdt_setprop_string: Couldn't set 
> /address@hidden/device_type = soc: FDT_ERR_NOSPACE
>
> Aborted
> -----
> qemu-system-ppc: qemu_fdt_setprop_cell: Couldn't set 
> /address@hidden/#address-cells = 0x000001: FDT_ERR_NOSPACE
>
> Aborted
> -----
>
>
> Peter Crosthwaite (3):
>   device_tree: s/qemu_devtree/qemu_fdt globally
>   device_tree: qemu_fdt_setprop: Rename val_array arg
>   device_tree: qemu_fdt_setprop: Fixup error reporting
>
>  device_tree.c                | 230 +++++++++++++++++++++++++++--------------
>  hw/arm/boot.c                |  51 ++++-----
>  hw/arm/vexpress.c            |  23 +++--
>  hw/microblaze/boot.c         |  17 ++-
>  hw/ppc/e500.c                | 241 
> ++++++++++++++++++++++---------------------
>  hw/ppc/e500.h                |   3 +-
>  hw/ppc/e500plat.c            |   9 +-
>  hw/ppc/mpc8544ds.c           |   9 +-
>  hw/ppc/ppc440_bamboo.c       |  34 ++----
>  hw/ppc/spapr_rtas.c          |  40 ++-----
>  hw/ppc/virtex_ml507.c        |   5 +-
>  include/sysemu/device_tree.h | 219 ++++++++++++++++++++++++++++++---------
>  12 files changed, 519 insertions(+), 362 deletions(-)
>
> --
> 1.8.3.rc1.44.gb387c77.dirty
>



reply via email to

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