Re: [kvm-unit-tests PATCH v3 16/17] powerpc/ppc64: add RTAS support

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

 



On 13.02.2016 17:28, Andrew Jones wrote:
> Add enough RTAS support to start adding RTAS commands. Just add
> power-off for now.
> 
> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
> ---
>  lib/powerpc/asm/rtas.h  |  26 +++++++++
>  lib/powerpc/io.c        |   2 +
>  lib/powerpc/rtas.c      | 139 ++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/ppc64/asm/rtas.h    |   1 +
>  powerpc/Makefile.common |   1 +
>  5 files changed, 169 insertions(+)
>  create mode 100644 lib/powerpc/asm/rtas.h
>  create mode 100644 lib/powerpc/rtas.c
>  create mode 100644 lib/ppc64/asm/rtas.h
...
> diff --git a/lib/powerpc/rtas.c b/lib/powerpc/rtas.c
> new file mode 100644
> index 0000000000000..b6ae7391181f9
> --- /dev/null
> +++ b/lib/powerpc/rtas.c
> @@ -0,0 +1,139 @@
> +/*
> + * powerpc RTAS
> + *
> + * Copyright (C) 2016, Red Hat Inc, Andrew Jones <drjones@xxxxxxxxxx>
> + *
> + * This work is licensed under the terms of the GNU LGPL, version 2.
> + */
> +#include <libcflat.h>
> +#include <libfdt/libfdt.h>
> +#include <devicetree.h>
> +#include <asm/spinlock.h>
> +#include <asm/hcall.h>
> +#include <asm/io.h>
> +#include <asm/rtas.h>
> +
> +#if defined(__powerpc64__)
> +struct func_ptr {
> +	unsigned long ptr;
> +	unsigned long toc;
> +};
> +static struct func_ptr rtas_entry_funcptr;
> +#endif
> +typedef void (*rtas_entry_t)(unsigned long);
> +static rtas_entry_t enter_rtas;
> +static struct rtas_args rtas_args;
> +static struct spinlock lock;

I'd maybe name the lock variable "rtas_lock" instead (in case we ever
use more locks in this file, it's then more obvious what this lock is
about) ... but apart from that, and the bug in the sc1 loop that you
already mentioned, the patch looks fine to me.

 Thomas

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux