qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
	"open list:RISC-V" <qemu-riscv@nongnu.org>,
	Sagar Karandikar <sagark@eecs.berkeley.edu>,
	Bastian Koppelmann <kbastian@mail.uni-paderborn.de>,
	Palmer Dabbelt <palmer@sifive.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	Atish Patra <atish.patra@wdc.com>,
	Alistair Francis <Alistair.Francis@wdc.com>,
	Alistair Francis <alistair23@gmail.com>
Subject: Re: [Qemu-devel] [PATCH] riscv: virt: Add cpu-topology DT node.
Date: Tue, 25 Jun 2019 11:41:22 +0100	[thread overview]
Message-ID: <20190625104122.GC3139@redhat.com> (raw)
In-Reply-To: <09df5e02-e241-1046-5051-909c53fe19b7@redhat.com>

On Tue, Jun 25, 2019 at 12:36:35PM +0200, Philippe Mathieu-Daudé wrote:
> On 6/25/19 1:24 AM, Alistair Francis wrote:
> > On Mon, Jun 24, 2019 at 3:57 PM Atish Patra <atish.patra@wdc.com> wrote:
> >>
> >> Currently, there is no cpu topology defined in RISC-V.
> >> Define a device tree node that clearly describes the
> >> entire topology. This saves the trouble of scanning individual
> >> cache to figure out the topology.
> >>
> >> Here is the linux kernel patch series that enables topology
> >> for RISC-V.
> >>
> >> http://lists.infradead.org/pipermail/linux-riscv/2019-June/005072.html
> >>
> >> CPU topology after applying this patch in QEMU & above series in kernel
> >>
> >> / # cat /sys/devices/system/cpu/cpu2/topology/thread_siblings_list
> >> 2
> >> / # cat /sys/devices/system/cpu/cpu2/topology/physical_package_id
> >> 0
> >> / # cat /sys/devices/system/cpu/cpu2/topology/core_siblings_list
> >> 0-7
> >>
> >> Signed-off-by: Atish Patra <atish.patra@wdc.com>
> >> ---
> >>  hw/riscv/virt.c | 21 +++++++++++++++++++--
> >>  1 file changed, 19 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
> >> index 84d94d0c42d8..da0b8aa18747 100644
> >> --- a/hw/riscv/virt.c
> >> +++ b/hw/riscv/virt.c
> >> @@ -203,9 +203,12 @@ static void *create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap,
> >>          qemu_fdt_setprop_string(fdt, nodename, "status", "okay");
> >>          qemu_fdt_setprop_cell(fdt, nodename, "reg", cpu);
> >>          qemu_fdt_setprop_string(fdt, nodename, "device_type", "cpu");
> >> +        qemu_fdt_setprop_cell(fdt, nodename, "phandle", cpu_phandle);
> >> +        qemu_fdt_setprop_cell(fdt, nodename, "linux,phandle", cpu_phandle);
> >> +        int intc_phandle = phandle++;
> > 
> > Don't declare variables in the middle of code. The variable must be
> > declared at the start of a block.
> 
> I guess this has been relaxed since we allow GNU C99:

Even though we allow GNU C99 I think it is undesirable to declare variables
in the middle of methods. This is especially true when combined with "goto"
as you end up with undefined / uninitialized vairable contents at the jump
target, if we've jumped over the variable declaration.

We can't enforce location of variable declarations, but I'd really
recommend we keep them all at the start of code blocks.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


  reply	other threads:[~2019-06-25 10:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-24 22:54 [Qemu-devel] [PATCH] riscv: virt: Add cpu-topology DT node Atish Patra
2019-06-24 23:24 ` Alistair Francis
2019-06-24 23:42   ` Atish Patra
2019-06-25 10:36   ` Philippe Mathieu-Daudé
2019-06-25 10:41     ` Daniel P. Berrangé [this message]
2019-06-25 11:27       ` Philippe Mathieu-Daudé

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=20190625104122.GC3139@redhat.com \
    --to=berrange@redhat.com \
    --cc=Alistair.Francis@wdc.com \
    --cc=alistair23@gmail.com \
    --cc=atish.patra@wdc.com \
    --cc=kbastian@mail.uni-paderborn.de \
    --cc=palmer@sifive.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=sagark@eecs.berkeley.edu \
    --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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).