From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Ard Biesheuvel
<ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
<matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH 1/3] arm64: spin-table: handle unmapped cpu-release-addrs
Date: Tue, 29 Jul 2014 18:13:07 +0200 [thread overview]
Message-ID: <11934363.ljlrQOGpcO@wuerfel> (raw)
In-Reply-To: <20140729160303.GA32108@leverpostej>
On Tuesday 29 July 2014 17:03:03 Mark Rutland wrote:
> On Tue, Jul 29, 2014 at 04:20:46PM +0100, Arnd Bergmann wrote:
> > On Tuesday 29 July 2014 11:15:45 Mark Salter wrote:
> > > > -
> > > > - __flush_dcache_area(release_addr, sizeof(release_addr[0]));
> > > > + writeq_relaxed(__pa(secondary_holding_pen), release_addr);
> > > > + __flush_dcache_area(release_addr, sizeof(*release_addr));
> > >
> > > __flush_dcache_area((__force void *)release_addr, ...
> > >
> > > to avoid sparse warning.
>
> Presumably we'd get this for the write_relaxed too?
writeq_relaxed() actually expects an __iomem pointer
> >
> > I think it would be cleaner to drop the __iomem annotation and use vmap()
> > rather than ioremap(). That requires having a 'struct page' though, which
> > I'm not sure you have.
>
> As far as I am aware, we'd only have a struct page for memory falling in
> the linear map, so for the cases this patch is actually required we
> wouldn't have a struct page.
>
> So it looks like I should just make release_addr a void __iomem *. Then
> this line can just be:
You mean make it a 'void *' instead of 'void __iomem *', right?
> __flush_dcache_area(release_addr, 8);
>
> Where we could replace 8 with sizeof(u64), sizeof(__le64), etc if 8 is
> too magic.
>
> How does that sound?
Not sure where you're getting at. Using a regular pointer sounds fine,
but then you have to cast the result of ioremap and do a manual
cpu_to_le64 conversion on the assignment.
Keeping the iomem annotation will also work,a nd then we only need
the cast in the __flush_dcache_area call.
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] arm64: spin-table: handle unmapped cpu-release-addrs
Date: Tue, 29 Jul 2014 18:13:07 +0200 [thread overview]
Message-ID: <11934363.ljlrQOGpcO@wuerfel> (raw)
In-Reply-To: <20140729160303.GA32108@leverpostej>
On Tuesday 29 July 2014 17:03:03 Mark Rutland wrote:
> On Tue, Jul 29, 2014 at 04:20:46PM +0100, Arnd Bergmann wrote:
> > On Tuesday 29 July 2014 11:15:45 Mark Salter wrote:
> > > > -
> > > > - __flush_dcache_area(release_addr, sizeof(release_addr[0]));
> > > > + writeq_relaxed(__pa(secondary_holding_pen), release_addr);
> > > > + __flush_dcache_area(release_addr, sizeof(*release_addr));
> > >
> > > __flush_dcache_area((__force void *)release_addr, ...
> > >
> > > to avoid sparse warning.
>
> Presumably we'd get this for the write_relaxed too?
writeq_relaxed() actually expects an __iomem pointer
> >
> > I think it would be cleaner to drop the __iomem annotation and use vmap()
> > rather than ioremap(). That requires having a 'struct page' though, which
> > I'm not sure you have.
>
> As far as I am aware, we'd only have a struct page for memory falling in
> the linear map, so for the cases this patch is actually required we
> wouldn't have a struct page.
>
> So it looks like I should just make release_addr a void __iomem *. Then
> this line can just be:
You mean make it a 'void *' instead of 'void __iomem *', right?
> __flush_dcache_area(release_addr, 8);
>
> Where we could replace 8 with sizeof(u64), sizeof(__le64), etc if 8 is
> too magic.
>
> How does that sound?
Not sure where you're getting at. Using a regular pointer sounds fine,
but then you have to cast the result of ioremap and do a manual
cpu_to_le64 conversion on the assignment.
Keeping the iomem annotation will also work,a nd then we only need
the cast in the __flush_dcache_area call.
Arnd
next prev parent reply other threads:[~2014-07-29 16:13 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-29 10:49 [PATCH 0/3] arm64/efi: improve TEXT_OFFSET handling Ard Biesheuvel
2014-07-29 10:49 ` Ard Biesheuvel
[not found] ` <1406630950-32432-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-07-29 10:49 ` [PATCH 1/3] arm64: spin-table: handle unmapped cpu-release-addrs Ard Biesheuvel
2014-07-29 10:49 ` Ard Biesheuvel
[not found] ` <1406630950-32432-2-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-07-29 15:15 ` Mark Salter
2014-07-29 15:15 ` Mark Salter
[not found] ` <1406646945.753.5.camel-PDpCo7skNiwAicBL8TP8PQ@public.gmane.org>
2014-07-29 15:17 ` Mark Salter
2014-07-29 15:17 ` Mark Salter
2014-07-29 15:20 ` Arnd Bergmann
2014-07-29 15:20 ` Arnd Bergmann
2014-07-29 15:30 ` Mark Salter
2014-07-29 15:30 ` Mark Salter
[not found] ` <1406647824.753.12.camel-PDpCo7skNiwAicBL8TP8PQ@public.gmane.org>
2014-07-29 15:38 ` Arnd Bergmann
2014-07-29 15:38 ` Arnd Bergmann
2014-07-29 16:03 ` Mark Rutland
2014-07-29 16:03 ` Mark Rutland
2014-07-29 16:13 ` Arnd Bergmann [this message]
2014-07-29 16:13 ` Arnd Bergmann
2014-07-29 16:18 ` Mark Rutland
2014-07-29 16:18 ` Mark Rutland
2014-07-29 16:24 ` Arnd Bergmann
2014-07-29 16:24 ` Arnd Bergmann
2014-07-29 10:49 ` [PATCH 2/3] arm64/efi: efistub: cover entire static mem footprint in PE/COFF .text Ard Biesheuvel
2014-07-29 10:49 ` Ard Biesheuvel
[not found] ` <1406630950-32432-3-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-07-29 15:36 ` Mark Salter
2014-07-29 15:36 ` Mark Salter
2014-07-29 10:49 ` [PATCH 3/3] arm64/efi: efistub: don't abort if base of DRAM is occupied Ard Biesheuvel
2014-07-29 10:49 ` Ard Biesheuvel
[not found] ` <1406630950-32432-4-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-07-29 15:29 ` Mark Salter
2014-07-29 15:29 ` Mark Salter
[not found] ` <1406647756.753.11.camel-PDpCo7skNiwAicBL8TP8PQ@public.gmane.org>
2014-07-29 18:17 ` Ard Biesheuvel
2014-07-29 18:17 ` Ard Biesheuvel
[not found] ` <CAKv+Gu8Pwi6GuGq9jbGfHyALcJKtAG+KVDcVwpYVCG9ZKrhaPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-29 18:27 ` Mark Salter
2014-07-29 18:27 ` Mark Salter
[not found] ` <1406658428.753.22.camel-PDpCo7skNiwAicBL8TP8PQ@public.gmane.org>
2014-07-29 18:46 ` Ard Biesheuvel
2014-07-29 18:46 ` Ard Biesheuvel
[not found] ` <CAKv+Gu-3J+1u1vcCAOgfq6JRfSc7_pykaV2OwGRNSOORTS1=1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-29 19:20 ` Mark Salter
2014-07-29 19:20 ` Mark Salter
[not found] ` <1406661621.753.34.camel-PDpCo7skNiwAicBL8TP8PQ@public.gmane.org>
2014-07-29 19:33 ` Ard Biesheuvel
2014-07-29 19:33 ` Ard Biesheuvel
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=11934363.ljlrQOGpcO@wuerfel \
--to=arnd-r2ngtmty4d4@public.gmane.org \
--cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=msalter-H+wXaHxf7aLQT0dZR+AlfA@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: link
Be 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.