From: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> To: Christoffer Dall <christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Cc: Pranavkumar Sawargaonkar <psawargaonkar-qTEPVZfXA3Y@public.gmane.org>, "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Feng Kan <fkan-qTEPVZfXA3Y@public.gmane.org>, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>, Marc Zyngier <marc.zyngier-5wv7dgnIgG8@public.gmane.org>, "jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org" <jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, "patches-qTEPVZfXA3Y@public.gmane.org" <patches-qTEPVZfXA3Y@public.gmane.org>, "kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org" <kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org>, Tushar Jagad <tjagad-qTEPVZfXA3Y@public.gmane.org>, "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org> Subject: Re: [PATCH] arm64: dts: Fix GIC reg sizes for APM X-Gene Date: Sat, 21 Feb 2015 15:56:17 -0600 [thread overview] Message-ID: <CAL_JsqLcBOC+AnVe7oATjg2g6Fz2vqwacu8QzS4tXMaxxOP_Xg@mail.gmail.com> (raw) In-Reply-To: <20150219190348.GB24460@cbox> On Thu, Feb 19, 2015 at 1:03 PM, Christoffer Dall <christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > On Thu, Feb 19, 2015 at 12:23:15PM -0600, Rob Herring wrote: >> On Tue, Jan 27, 2015 at 1:03 AM, Pranavkumar Sawargaonkar >> <psawargaonkar-qTEPVZfXA3Y@public.gmane.org> wrote: >> > In APM X-Gene, GIC register space is 64K aligned while the sizes mentioned >> > in the dt are 4K aligned. This breaks KVM when kernel is built with 64K page >> > size due to size alignment checking in vgic driver for VCPU Control and >> > VCPU register. >> > >> > This patch corrects the sizes to be inline with the hardware spec. >> >> This does not make sense. The GIC regions are still only 4 or 8KB and >> the h/w description should reflect that. For implementations using >> gic-400 and the addressing decode trick, the rest of the register >> range is also not safe to access given it is multiple mapped. Also, >> this wastes virtual space, but I guess we don't care on 64-bit. >> >> KVM should be fixed to only check base address alignment. Size >> alignment does not matter (if it does, then you need to fix all >> register blocks). >> > It matters if you want to ensure that the 64K page you are assigning to > a guest for the GIC virtual CPU interface contains only GIC virtual CPU > mappings, and not other random stuff that the guest is not allowed to > touch. Good point. > How else should this be enforced? Rely on correct h/w design? You'll have to repeat this every time you want to do pass-thru of a device. What do you do if 64K mapping is not supported? Fallback to emulation of the CPU interface? Are there other DTSs that need to be fixed? Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: robherring2@gmail.com (Rob Herring) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] arm64: dts: Fix GIC reg sizes for APM X-Gene Date: Sat, 21 Feb 2015 15:56:17 -0600 [thread overview] Message-ID: <CAL_JsqLcBOC+AnVe7oATjg2g6Fz2vqwacu8QzS4tXMaxxOP_Xg@mail.gmail.com> (raw) In-Reply-To: <20150219190348.GB24460@cbox> On Thu, Feb 19, 2015 at 1:03 PM, Christoffer Dall <christoffer.dall@linaro.org> wrote: > On Thu, Feb 19, 2015 at 12:23:15PM -0600, Rob Herring wrote: >> On Tue, Jan 27, 2015 at 1:03 AM, Pranavkumar Sawargaonkar >> <psawargaonkar@apm.com> wrote: >> > In APM X-Gene, GIC register space is 64K aligned while the sizes mentioned >> > in the dt are 4K aligned. This breaks KVM when kernel is built with 64K page >> > size due to size alignment checking in vgic driver for VCPU Control and >> > VCPU register. >> > >> > This patch corrects the sizes to be inline with the hardware spec. >> >> This does not make sense. The GIC regions are still only 4 or 8KB and >> the h/w description should reflect that. For implementations using >> gic-400 and the addressing decode trick, the rest of the register >> range is also not safe to access given it is multiple mapped. Also, >> this wastes virtual space, but I guess we don't care on 64-bit. >> >> KVM should be fixed to only check base address alignment. Size >> alignment does not matter (if it does, then you need to fix all >> register blocks). >> > It matters if you want to ensure that the 64K page you are assigning to > a guest for the GIC virtual CPU interface contains only GIC virtual CPU > mappings, and not other random stuff that the guest is not allowed to > touch. Good point. > How else should this be enforced? Rely on correct h/w design? You'll have to repeat this every time you want to do pass-thru of a device. What do you do if 64K mapping is not supported? Fallback to emulation of the CPU interface? Are there other DTSs that need to be fixed? Rob
next prev parent reply other threads:[~2015-02-21 21:56 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-01-27 7:03 [PATCH] arm64: dts: Fix GIC reg sizes for APM X-Gene Pranavkumar Sawargaonkar 2015-01-27 7:03 ` Pranavkumar Sawargaonkar 2015-02-19 15:51 ` Christoffer Dall 2015-02-19 15:51 ` Christoffer Dall [not found] ` <1422342206-4750-1-git-send-email-psawargaonkar-qTEPVZfXA3Y@public.gmane.org> 2015-01-27 9:32 ` Jon Masters 2015-01-27 9:32 ` Jon Masters 2015-02-11 4:09 ` Pranavkumar Sawargaonkar 2015-02-11 4:09 ` Pranavkumar Sawargaonkar 2015-02-19 18:23 ` Rob Herring 2015-02-19 18:23 ` Rob Herring [not found] ` <CAL_JsqJQcuX2cp50oHod-QAbhdMg48TaRP+gLGEO2kbFnQ3B+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-02-19 19:03 ` Christoffer Dall 2015-02-19 19:03 ` Christoffer Dall 2015-02-21 21:56 ` Rob Herring [this message] 2015-02-21 21:56 ` Rob Herring [not found] ` <CAL_JsqLcBOC+AnVe7oATjg2g6Fz2vqwacu8QzS4tXMaxxOP_Xg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-02-21 23:58 ` Peter Maydell 2015-02-21 23:58 ` Peter Maydell 2015-02-23 12:07 ` Christoffer Dall 2015-02-23 12:07 ` Christoffer Dall 2015-02-23 12:24 ` Jon Masters 2015-02-23 12:24 ` Jon Masters 2015-02-23 16:39 ` Rob Herring 2015-02-23 16:39 ` Rob Herring 2015-02-24 6:34 ` Pranavkumar Sawargaonkar 2015-02-24 6:34 ` Pranavkumar Sawargaonkar [not found] ` <CANFfpkQF-8Kzq-UoP=xLpkTafGn6ScyiEb6oCs-Lxygb+ummLA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-02-24 14:30 ` Rob Herring 2015-02-24 14:30 ` Rob Herring [not found] ` <CAL_JsqLs4HdT6N=Vb4s--x3ugXKbWYQ5R2WGbiWFhhnYxnK-xw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-02-27 3:57 ` Pranavkumar Sawargaonkar 2015-02-27 3:57 ` Pranavkumar Sawargaonkar 2015-03-19 18:54 ` Marc Zyngier 2015-03-19 18:54 ` Marc Zyngier 2015-03-11 14:53 ` Marc Zyngier 2015-03-11 14:53 ` Marc Zyngier [not found] ` <550056FD.8060804-5wv7dgnIgG8@public.gmane.org> 2015-03-11 17:19 ` Feng Kan 2015-03-11 17:19 ` Feng Kan [not found] ` <CAL85gmCuB4LfNp+6B8cL9+emFqWPM6W9gevTzibyaAzL+7jVdg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-03-11 17:31 ` Marc Zyngier 2015-03-11 17:31 ` Marc Zyngier 2015-03-11 17:57 ` Feng Kan 2015-03-11 17:57 ` Feng Kan [not found] ` <CAL85gmDVfop1_roHyLTRzFY3BahzTWs7nwbpmZD7emFKcFHyLg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-03-11 18:17 ` Marc Zyngier 2015-03-11 18:17 ` Marc Zyngier [not found] ` <550086B9.4010001-5wv7dgnIgG8@public.gmane.org> 2015-03-12 3:52 ` Pranavkumar Sawargaonkar 2015-03-12 3:52 ` Pranavkumar Sawargaonkar [not found] ` <CANFfpkQ1QyWEGwwQx1g1By=uXvctJjF8AOO+uA5CFUgO4v9DFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-03-12 9:25 ` Marc Zyngier 2015-03-12 9:25 ` Marc Zyngier
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=CAL_JsqLcBOC+AnVe7oATjg2g6Fz2vqwacu8QzS4tXMaxxOP_Xg@mail.gmail.com \ --to=robherring2-re5jqeeqqe8avxtiumwx3w@public.gmane.org \ --cc=arnd-r2nGTMty4D4@public.gmane.org \ --cc=christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \ --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=fkan-qTEPVZfXA3Y@public.gmane.org \ --cc=jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org \ --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \ --cc=marc.zyngier-5wv7dgnIgG8@public.gmane.org \ --cc=patches-qTEPVZfXA3Y@public.gmane.org \ --cc=psawargaonkar-qTEPVZfXA3Y@public.gmane.org \ --cc=tjagad-qTEPVZfXA3Y@public.gmane.org \ /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.