From: Peter Maydell <peter.maydell@linaro.org>
To: Pavel Fedin <p.fedin@samsung.com>
Cc: Shlomo Pongratz <shlomo.pongratz@huawei.com>,
Shlomo Pongratz <shlomopongratz@gmail.com>,
QEMU Developers <qemu-devel@nongnu.org>,
Christoffer Dall <christoffer.dall@linaro.org>,
Eric Auger <eric.auger@linaro.org>
Subject: Re: [Qemu-devel] [PATCH v8 5/5] Add gicversion option to virt machine
Date: Mon, 10 Aug 2015 18:12:26 +0100 [thread overview]
Message-ID: <CAFEAcA-bBRFi0W7PURLcaSWrTTbkFt-gUxZOe7x7DW434MCAXw@mail.gmail.com> (raw)
In-Reply-To: <dce237ace2b1ff26635d3708ab69be1eb1d845e0.1439207299.git.p.fedin@samsung.com>
On 10 August 2015 at 13:06, Pavel Fedin <p.fedin@samsung.com> wrote:
> Set kernel_irqchip_type according to value of the option and pass it
> around where necessary. Instantiate devices and fdt nodes according
> to the choice.
>
> max_cpus for virt machine increased to 64. GICv2 compatibility check
> happens inside arm_gic_common_realize().
> /* Number of external interrupt lines to configure the GIC with */
> #define NUM_IRQS 256
> @@ -108,6 +109,9 @@ static const MemMapEntry a15memmap[] = {
> [VIRT_GIC_DIST] = { 0x08000000, 0x00010000 },
> [VIRT_GIC_CPU] = { 0x08010000, 0x00010000 },
> [VIRT_GIC_V2M] = { 0x08020000, 0x00001000 },
> + [VIRT_ITS_CONTROL] = { 0x08020000, 0x00010000 },
> + [VIRT_ITS_TRANSLATION] = { 0x08030000, 0x00010000 },
We don't implement ITS yet, so are these placeholders for that?
(That's OK, but if they don't do anything yet it's worth
commenting to that effect.)
Any particular reason for having two separate VIRT_ITS_*
entries? The spec mandates that the two 64K pages of ITS
have to be consecutive, so it would make life easier for
boards if they were just a single memory region.
> + [VIRT_GIC_REDIST] = { 0x08040000, 0x00800000 },
Is this layout borrowed from any particular real world board,
by the way?
> VirtMachineState *vms = VIRT_MACHINE(obj);
> @@ -947,6 +1035,11 @@ static void virt_instance_init(Object *obj)
>
> /* Default GIC type is v2 */
> vms->parent.kernel_irqchip_type = QEMU_GIC_TYPE_V2;
> + object_property_add(obj, "gicversion", "int", virt_get_gic_version,
> + virt_set_gic_version, NULL, NULL, NULL);
> + object_property_set_description(obj, "gicversion",
> + "Set GIC version. "
> + "Valid values are 2 and 3", NULL);
> }
"gic-version" would be more in line with other property naming
styles I think.
>
> static void virt_class_init(ObjectClass *oc, void *data)
> @@ -956,7 +1049,8 @@ static void virt_class_init(ObjectClass *oc, void *data)
> mc->name = TYPE_VIRT_MACHINE;
> mc->desc = "ARM Virtual Machine",
> mc->init = machvirt_init;
> - mc->max_cpus = 8;
> + /* With gic3 full implementation (with bitops) rase the lmit to 128 */
> + mc->max_cpus = 64;
Comment disagrees with code, and in any case where does the CPU
maximum limit come from?
thanks
-- PMM
next prev parent reply other threads:[~2015-08-10 17:12 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-10 12:06 [Qemu-devel] [PATCH v8 0/5] vGICv3 support Pavel Fedin
2015-08-10 12:06 ` [Qemu-devel] [PATCH v8 1/5] Implement GIC-500 base class Pavel Fedin
2015-08-10 17:23 ` Peter Maydell
2015-08-11 7:53 ` Pavel Fedin
2015-08-11 9:20 ` Peter Maydell
2015-08-11 9:35 ` Pavel Fedin
2015-08-11 10:15 ` Peter Maydell
2015-08-11 10:39 ` Pavel Fedin
2015-08-11 10:42 ` Peter Maydell
2015-08-10 12:06 ` [Qemu-devel] [PATCH v8 2/5] Extract some reusable vGIC code Pavel Fedin
2015-08-10 17:34 ` Peter Maydell
2015-08-11 7:23 ` Pavel Fedin
2015-08-10 12:06 ` [Qemu-devel] [PATCH v8 3/5] Introduce irqchip type specification for KVM Pavel Fedin
2015-08-10 16:45 ` Peter Maydell
2015-08-12 11:44 ` Pavel Fedin
2015-08-12 11:45 ` Christoffer Dall
2015-08-12 12:27 ` Pavel Fedin
2015-08-12 12:59 ` Peter Maydell
2015-08-12 13:23 ` Christoffer Dall
2015-08-12 14:14 ` Eric Auger
2015-08-12 14:24 ` Christoffer Dall
2015-08-12 15:21 ` Eric Auger
2015-08-10 12:06 ` [Qemu-devel] [PATCH v8 4/5] Initial implementation of vGICv3 Pavel Fedin
2015-08-10 17:18 ` Peter Maydell
2015-08-10 12:06 ` [Qemu-devel] [PATCH v8 5/5] Add gicversion option to virt machine Pavel Fedin
2015-08-10 17:12 ` Peter Maydell [this message]
2015-08-13 11:02 ` Pavel Fedin
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=CAFEAcA-bBRFi0W7PURLcaSWrTTbkFt-gUxZOe7x7DW434MCAXw@mail.gmail.com \
--to=peter.maydell@linaro.org \
--cc=christoffer.dall@linaro.org \
--cc=eric.auger@linaro.org \
--cc=p.fedin@samsung.com \
--cc=qemu-devel@nongnu.org \
--cc=shlomo.pongratz@huawei.com \
--cc=shlomopongratz@gmail.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).