From: Andrew Jones <drjones@redhat.com> To: David Gibson <david@gibson.dropbear.id.au> Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, thuth@redhat.com, dgibson@redhat.com, agraf@suse.de, lvivier@redhat.com, pbonzini@redhat.com Subject: Re: [kvm-unit-tests PATCH v4 12/17] powerpc/ppc64: adapt arm's setup Date: Wed, 17 Feb 2016 13:45:40 +0100 [thread overview] Message-ID: <20160217124540.2i3ews7k3odq5yvd@hawk.localdomain> (raw) In-Reply-To: <20160217021158.GE5239@voom.redhat.com> On Wed, Feb 17, 2016 at 01:11:58PM +1100, David Gibson wrote: > On Mon, Feb 15, 2016 at 02:49:21PM +0100, Andrew Jones wrote: > > Copy arm's setup code (also DT based) over to powerpc, adapting > > it a bit. Also bring over arm's setup selftest, giving powerpc > > its first test. > > > > Signed-off-by: Andrew Jones <drjones@redhat.com> > > Reviewed-by: Thomas Huth <thuth@redhat.com> > > Tested-by: Laurent Vivier <lvivier@redhat.com> > > --- > > lib/powerpc/asm/setup.h | 36 +++++++++++++++ > > lib/powerpc/setup.c | 119 ++++++++++++++++++++++++++++++++++++++++++++++++ > > lib/ppc64/asm/setup.h | 1 + > > powerpc/Makefile.common | 1 + > > powerpc/cstart64.S | 16 +++++++ > > powerpc/selftest.c | 63 +++++++++++++++++++++++-- > > 6 files changed, 233 insertions(+), 3 deletions(-) > > create mode 100644 lib/powerpc/asm/setup.h > > create mode 100644 lib/powerpc/setup.c > > create mode 100644 lib/ppc64/asm/setup.h > > > > diff --git a/lib/powerpc/asm/setup.h b/lib/powerpc/asm/setup.h > > new file mode 100644 > > index 0000000000000..0b9f04b4b7289 > > --- /dev/null > > +++ b/lib/powerpc/asm/setup.h > > @@ -0,0 +1,36 @@ > > +#ifndef _ASMPOWERPC_SETUP_H_ > > +#define _ASMPOWERPC_SETUP_H_ > > +/* > > + * Copyright (C) 2016, Red Hat Inc, Andrew Jones <drjones@redhat.com> > > + * > > + * This work is licensed under the terms of the GNU LGPL, version 2. > > + */ > > +#include <libcflat.h> > > +#include <alloc.h> /* phys_addr_t */ > > + > > +#define NR_CPUS 8 /* arbitrarily set for now */ > > +extern u32 cpus[NR_CPUS]; > > +extern int nr_cpus; > > + > > +#define NR_MEM_REGIONS 8 > > +#define MR_F_PRIMARY (1U << 0) > > +struct mem_region { > > + phys_addr_t start; > > + phys_addr_t end; > > + unsigned int flags; > > +}; > > +extern struct mem_region mem_regions[NR_MEM_REGIONS]; > > +extern phys_addr_t __physical_start, __physical_end; > > + > > +#define PHYSICAL_START (__physical_start) > > +#define PHYSICAL_END (__physical_end) > > + > > +#ifdef __powerpc64__ > > +#define L1_CACHE_SHIFT 7 > > +#else > > +#define L1_CACHE_SHIFT 5 > > +#endif > > These aren't necessarily true for all systems, although it's probably > right for all BE, BookS systems supporting KVM at present. It would > be better to get the cache alignment from the device tree if possible. Ah, I hadn't considered being able to do that. I presume I can expect i-cache-line-size to always == d-cache-line-size, right? > > Also, is this correct for LE, which I imagine you'll want to support > soon (I don't recall if __powerpc64__ is defined for both BE and LE > systems). This use of __powerpc64__ will go away with the above change, but I have another one in rtas.c. I don't know if it's valid for LE, but I'd prefer to ignore LE for now, and then create a new series that modifies everything necessary for enabling both BE and LE compiles. Thanks, drew
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Jones <drjones@redhat.com> To: David Gibson <david@gibson.dropbear.id.au> Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, thuth@redhat.com, dgibson@redhat.com, agraf@suse.de, lvivier@redhat.com, pbonzini@redhat.com Subject: Re: [kvm-unit-tests PATCH v4 12/17] powerpc/ppc64: adapt arm's setup Date: Wed, 17 Feb 2016 12:45:40 +0000 [thread overview] Message-ID: <20160217124540.2i3ews7k3odq5yvd@hawk.localdomain> (raw) In-Reply-To: <20160217021158.GE5239@voom.redhat.com> On Wed, Feb 17, 2016 at 01:11:58PM +1100, David Gibson wrote: > On Mon, Feb 15, 2016 at 02:49:21PM +0100, Andrew Jones wrote: > > Copy arm's setup code (also DT based) over to powerpc, adapting > > it a bit. Also bring over arm's setup selftest, giving powerpc > > its first test. > > > > Signed-off-by: Andrew Jones <drjones@redhat.com> > > Reviewed-by: Thomas Huth <thuth@redhat.com> > > Tested-by: Laurent Vivier <lvivier@redhat.com> > > --- > > lib/powerpc/asm/setup.h | 36 +++++++++++++++ > > lib/powerpc/setup.c | 119 ++++++++++++++++++++++++++++++++++++++++++++++++ > > lib/ppc64/asm/setup.h | 1 + > > powerpc/Makefile.common | 1 + > > powerpc/cstart64.S | 16 +++++++ > > powerpc/selftest.c | 63 +++++++++++++++++++++++-- > > 6 files changed, 233 insertions(+), 3 deletions(-) > > create mode 100644 lib/powerpc/asm/setup.h > > create mode 100644 lib/powerpc/setup.c > > create mode 100644 lib/ppc64/asm/setup.h > > > > diff --git a/lib/powerpc/asm/setup.h b/lib/powerpc/asm/setup.h > > new file mode 100644 > > index 0000000000000..0b9f04b4b7289 > > --- /dev/null > > +++ b/lib/powerpc/asm/setup.h > > @@ -0,0 +1,36 @@ > > +#ifndef _ASMPOWERPC_SETUP_H_ > > +#define _ASMPOWERPC_SETUP_H_ > > +/* > > + * Copyright (C) 2016, Red Hat Inc, Andrew Jones <drjones@redhat.com> > > + * > > + * This work is licensed under the terms of the GNU LGPL, version 2. > > + */ > > +#include <libcflat.h> > > +#include <alloc.h> /* phys_addr_t */ > > + > > +#define NR_CPUS 8 /* arbitrarily set for now */ > > +extern u32 cpus[NR_CPUS]; > > +extern int nr_cpus; > > + > > +#define NR_MEM_REGIONS 8 > > +#define MR_F_PRIMARY (1U << 0) > > +struct mem_region { > > + phys_addr_t start; > > + phys_addr_t end; > > + unsigned int flags; > > +}; > > +extern struct mem_region mem_regions[NR_MEM_REGIONS]; > > +extern phys_addr_t __physical_start, __physical_end; > > + > > +#define PHYSICAL_START (__physical_start) > > +#define PHYSICAL_END (__physical_end) > > + > > +#ifdef __powerpc64__ > > +#define L1_CACHE_SHIFT 7 > > +#else > > +#define L1_CACHE_SHIFT 5 > > +#endif > > These aren't necessarily true for all systems, although it's probably > right for all BE, BookS systems supporting KVM at present. It would > be better to get the cache alignment from the device tree if possible. Ah, I hadn't considered being able to do that. I presume I can expect i-cache-line-size to always = d-cache-line-size, right? > > Also, is this correct for LE, which I imagine you'll want to support > soon (I don't recall if __powerpc64__ is defined for both BE and LE > systems). This use of __powerpc64__ will go away with the above change, but I have another one in rtas.c. I don't know if it's valid for LE, but I'd prefer to ignore LE for now, and then create a new series that modifies everything necessary for enabling both BE and LE compiles. Thanks, drew
next prev parent reply other threads:[~2016-02-17 12:45 UTC|newest] Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-02-15 13:49 [kvm-unit-tests PATCH v4 00/17] ppc64: initial drop Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 01/17] arm/arm64: trivial: another assert fix Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 02/17] Makefile: cscope: also look in arch shared asm Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 03/17] lib: asm-generic: add missing casts Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 04/17] devicetree: fix dt_get_memory_params Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-16 6:11 ` David Gibson 2016-02-16 6:11 ` David Gibson 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 05/17] arm/arm64: setup improvements Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-16 6:15 ` David Gibson 2016-02-16 6:15 ` David Gibson 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 06/17] lib: share arm-selftest utility functions Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 0:14 ` David Gibson 2016-02-17 0:14 ` David Gibson 2016-02-17 12:17 ` Andrew Jones 2016-02-17 12:17 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 07/17] config: no need to mix arch makefiles Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 1:18 ` David Gibson 2016-02-17 1:18 ` David Gibson 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 08/17] powerpc/ppc64: start skeleton framework Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 09/17] powerpc/ppc64: ppc-ify makefiles and linker script Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 1:45 ` David Gibson 2016-02-17 1:45 ` David Gibson 2016-02-17 12:21 ` Andrew Jones 2016-02-17 12:21 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 10/17] powerpc/ppc64: add a boot rom Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 1:50 ` David Gibson 2016-02-17 1:50 ` David Gibson 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 11/17] powerpc/ppc64: add hcall support and putchar Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 2:04 ` David Gibson 2016-02-17 2:04 ` David Gibson 2016-02-17 12:34 ` Andrew Jones 2016-02-17 12:34 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 12/17] powerpc/ppc64: adapt arm's setup Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 2:11 ` David Gibson 2016-02-17 2:11 ` David Gibson 2016-02-17 12:45 ` Andrew Jones [this message] 2016-02-17 12:45 ` Andrew Jones 2016-02-17 17:34 ` Andrew Jones 2016-02-17 17:34 ` Andrew Jones 2016-02-18 0:05 ` David Gibson 2016-02-18 0:05 ` David Gibson 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 13/17] powerpc/ppc64: relocate linker VMAs Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 2:14 ` David Gibson 2016-02-17 2:14 ` David Gibson 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 14/17] powerpc/ppc64: add run script and unittests.cfg Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 15/17] mkstandalone: add support for powerpc Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-17 12:51 ` Andrew Jones 2016-02-17 12:51 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 16/17] powerpc/ppc64: add RTAS support Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-15 13:49 ` [kvm-unit-tests PATCH v4 17/17] powerpc/ppc64: make a fake debug-exit Andrew Jones 2016-02-15 13:49 ` Andrew Jones 2016-02-16 17:32 ` [kvm-unit-tests PATCH v4 00/17] ppc64: initial drop Paolo Bonzini 2016-02-16 17:32 ` Paolo Bonzini 2016-02-16 17:44 ` Andrew Jones 2016-02-16 17:44 ` Andrew Jones
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20160217124540.2i3ews7k3odq5yvd@hawk.localdomain \ --to=drjones@redhat.com \ --cc=agraf@suse.de \ --cc=david@gibson.dropbear.id.au \ --cc=dgibson@redhat.com \ --cc=kvm-ppc@vger.kernel.org \ --cc=kvm@vger.kernel.org \ --cc=lvivier@redhat.com \ --cc=pbonzini@redhat.com \ --cc=thuth@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.