All of lore.kernel.org
 help / color / mirror / Atom feed
From: afzal mohammed <afzal.mohd.ma@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>
Cc: Borislav Petkov <bp@suse.de>, Eric Lin <tesheng@andestech.com>,
	alex@ghiti.fr, Alan Kao <alankao@andestech.com>,
	David Abdurachmanov <david.abdurachmanov@gmail.com>,
	Logan Gunthorpe <logang@deltatee.com>,
	Anup Patel <Anup.Patel@wdc.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-riscv@lists.infradead.org,
	Steven Price <steven.price@arm.com>,
	atish.patra@wdc.com, yash.shah@sifive.com,
	Albert Ou <aou@eecs.berkeley.edu>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Greentime Hu <green.hu@gmail.com>, Gary Guo <gary@garyguo.net>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mike Rapoport <rppt@linux.ibm.com>,
	zong.li@sifive.com, Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 0/3] Highmem support for 32-bit RISC-V
Date: Wed, 15 Apr 2020 19:24:07 +0530	[thread overview]
Message-ID: <20200415135407.GA6553@afzalpc> (raw)
In-Reply-To: <CAK8P3a0JW9x-Wk9Ec3+zLjPHbWAvPQx8MF-xe-PnWUgEjRAuTg@mail.gmail.com>

Hi,

On Tue, Apr 14, 2020 at 09:29:46PM +0200, Arnd Bergmann wrote:
> On Tue, Apr 14, 2020 at 5:17 PM afzal mohammed <afzal.mohd.ma@gmail.com> wrote:

> > + rmk

[ Forgot to provide context to Russell - this is about implementing
  VMSPLIT_4G_4G support for 32-bit ARM as a possible replacement of
  highmem ]

> > If no one have yet taken it up, i am interested in doing the work, i
> > will sponsor myself :). i will proceed at a slow pace without derailing
> > my other things normal.

> Thanks for offering to help, it's very much appreciated. Let me know how
> it goes and if you have any more detailed questions.

Okay, i will proceed initially w/ things that can be done using qemu &
available ARM boards. Right now no questions, i will probably be coming
up with questions later.

Regards
afzal

> I would recommend starting in a qemu emulated system on a PC host,
> you can just set it to emulate a Cortex-A15 or A7, and you can attach
> gdb to the qemu instance to see where it crashes (which it inevitably
> will).
> 
> You can also start by changing the functions in asm/uaccess.h to
> use the linear kernel mapping and memcpy(), like the version in
> arch/um/kernel/skas/uaccess.c does. This is slow, but will work on
> regardless of whether user space is mapped, and you can do a
> generic implementation that works on any architecture and put that
> into include/asm-generic/uaccess.h.
> 
> A second step after that could be to unmap user space when entering
> the kernel, without any change in the memory layout, this is still
> mostly hardware independent and could easily be done in qemu
> or any 32-bit ARM CPU.
> 
> Another thing to try early is to move the vmlinux virtual address
> from the linear mapping into vmalloc space. This does not require
> LPAE either, but it only works on relatively modern platforms that
> don't have conflicting fixed mappings there.
> 
> If you get that far, I'll happily buy you a Raspberry Pi 4 with 4GB
> for further experiments ;-)
> That one can run both 64-bit and 32-bit kernels (with LPAE),
> so you'd be able to test the limits and not rely on qemu to find
> all bugs such as missing TLB flushes or barriers.


WARNING: multiple messages have this Message-ID (diff)
From: afzal mohammed <afzal.mohd.ma@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>
Cc: Alan Kao <alankao@andestech.com>,
	Eric Lin <tesheng@andestech.com>, Gary Guo <gary@garyguo.net>,
	alex@ghiti.fr,
	David Abdurachmanov <david.abdurachmanov@gmail.com>,
	Anup Patel <Anup.Patel@wdc.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Steven Price <steven.price@arm.com>,
	atish.patra@wdc.com, yash.shah@sifive.com,
	Albert Ou <aou@eecs.berkeley.edu>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Greentime Hu <green.hu@gmail.com>,
	zong.li@sifive.com, Paul Walmsley <paul.walmsley@sifive.com>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@suse.de>,
	Logan Gunthorpe <logang@deltatee.com>,
	linux-riscv@lists.infradead.org
Subject: Re: [PATCH 0/3] Highmem support for 32-bit RISC-V
Date: Wed, 15 Apr 2020 19:24:07 +0530	[thread overview]
Message-ID: <20200415135407.GA6553@afzalpc> (raw)
In-Reply-To: <CAK8P3a0JW9x-Wk9Ec3+zLjPHbWAvPQx8MF-xe-PnWUgEjRAuTg@mail.gmail.com>

Hi,

On Tue, Apr 14, 2020 at 09:29:46PM +0200, Arnd Bergmann wrote:
> On Tue, Apr 14, 2020 at 5:17 PM afzal mohammed <afzal.mohd.ma@gmail.com> wrote:

> > + rmk

[ Forgot to provide context to Russell - this is about implementing
  VMSPLIT_4G_4G support for 32-bit ARM as a possible replacement of
  highmem ]

> > If no one have yet taken it up, i am interested in doing the work, i
> > will sponsor myself :). i will proceed at a slow pace without derailing
> > my other things normal.

> Thanks for offering to help, it's very much appreciated. Let me know how
> it goes and if you have any more detailed questions.

Okay, i will proceed initially w/ things that can be done using qemu &
available ARM boards. Right now no questions, i will probably be coming
up with questions later.

Regards
afzal

> I would recommend starting in a qemu emulated system on a PC host,
> you can just set it to emulate a Cortex-A15 or A7, and you can attach
> gdb to the qemu instance to see where it crashes (which it inevitably
> will).
> 
> You can also start by changing the functions in asm/uaccess.h to
> use the linear kernel mapping and memcpy(), like the version in
> arch/um/kernel/skas/uaccess.c does. This is slow, but will work on
> regardless of whether user space is mapped, and you can do a
> generic implementation that works on any architecture and put that
> into include/asm-generic/uaccess.h.
> 
> A second step after that could be to unmap user space when entering
> the kernel, without any change in the memory layout, this is still
> mostly hardware independent and could easily be done in qemu
> or any 32-bit ARM CPU.
> 
> Another thing to try early is to move the vmlinux virtual address
> from the linear mapping into vmalloc space. This does not require
> LPAE either, but it only works on relatively modern platforms that
> don't have conflicting fixed mappings there.
> 
> If you get that far, I'll happily buy you a Raspberry Pi 4 with 4GB
> for further experiments ;-)
> That one can run both 64-bit and 32-bit kernels (with LPAE),
> so you'd be able to test the limits and not rely on qemu to find
> all bugs such as missing TLB flushes or barriers.

  reply	other threads:[~2020-04-15 13:54 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31  9:32 [PATCH 0/3] Highmem support for 32-bit RISC-V Eric Lin
2020-03-31  9:32 ` Eric Lin
2020-03-31  9:32 ` [PATCH 1/3] riscv/mm: Add pkmap region and CONFIG_HIGHMEM Eric Lin
2020-03-31  9:32   ` Eric Lin
2020-03-31  9:32 ` [PATCH 2/3] riscv/mm: Implement kmap() and kmap_atomic() Eric Lin
2020-03-31  9:32   ` Eric Lin
2020-03-31  9:32 ` [PATCH 3/3] riscv/mm: Add pkmap in print_vm_layout() Eric Lin
2020-03-31  9:32   ` Eric Lin
2020-04-02  9:31 ` [PATCH 0/3] Highmem support for 32-bit RISC-V Arnd Bergmann
2020-04-02  9:31   ` Arnd Bergmann
2020-04-08  3:51   ` Alan Kao
2020-04-08  3:51     ` Alan Kao
2020-04-08 14:40     ` Arnd Bergmann
2020-04-08 14:40       ` Arnd Bergmann
2020-04-14 15:17       ` afzal mohammed
2020-04-14 15:17         ` afzal mohammed
2020-04-14 19:29         ` Arnd Bergmann
2020-04-14 19:29           ` Arnd Bergmann
2020-04-15 13:54           ` afzal mohammed [this message]
2020-04-15 13:54             ` afzal mohammed
2020-05-03 14:50             ` afzal mohammed
2020-05-03 14:50               ` afzal mohammed
2020-05-03 20:20               ` Arnd Bergmann
2020-05-03 20:20                 ` Arnd Bergmann
2020-05-04  9:10                 ` afzal mohammed
2020-05-04  9:10                   ` afzal mohammed
2020-05-04  9:10                   ` afzal mohammed
2020-05-04 11:27                   ` Arnd Bergmann
2020-05-04 11:27                     ` Arnd Bergmann
2020-05-04 11:27                     ` Arnd Bergmann
2020-05-11 14:21                     ` ARM: static kernel in vmalloc space (was Re: [PATCH 0/3] Highmem support for 32-bit RISC-V) afzal mohammed
2020-05-11 14:21                       ` afzal mohammed
2020-05-11 15:29                       ` Arnd Bergmann
2020-05-11 15:29                         ` Arnd Bergmann
2020-05-12 10:47                         ` ARM: static kernel in vmalloc space afzal mohammed
2020-05-12 10:47                           ` afzal mohammed
2020-05-12 19:49                           ` Arnd Bergmann
2020-05-12 19:49                             ` Arnd Bergmann
2020-05-14 11:17                             ` afzal mohammed
2020-05-14 11:17                               ` afzal mohammed
2020-05-14 12:41                               ` Arnd Bergmann
2020-05-14 12:41                                 ` Arnd Bergmann
2020-05-14 13:35                                 ` afzal mohammed
2020-05-14 13:35                                   ` afzal mohammed
2020-05-14 14:44                                   ` afzal mohammed
2020-05-14 14:44                                     ` afzal mohammed
2020-05-14 15:32                                   ` Arnd Bergmann
2020-05-14 15:32                                     ` Arnd Bergmann
2020-05-16  6:06                                     ` afzal mohammed
2020-05-16  6:06                                       ` afzal mohammed
2020-05-16  7:35                                       ` Arnd Bergmann
2020-05-16  7:35                                         ` Arnd Bergmann
2020-06-07 12:59                                         ` ARM: vmsplit 4g/4g afzal mohammed
2020-06-07 16:11                                           ` Russell King - ARM Linux admin
2020-06-07 16:11                                             ` Russell King - ARM Linux admin
2020-06-08 11:09                                             ` afzal mohammed
2020-06-08 11:09                                               ` afzal mohammed
2020-06-10 10:10                                               ` Linus Walleij
2020-06-10 10:10                                                 ` Linus Walleij
2020-06-12 10:25                                                 ` afzal mohammed
2020-06-12 10:25                                                   ` afzal mohammed
2020-06-15  9:11                                                   ` Linus Walleij
2020-06-15  9:11                                                     ` Linus Walleij
2020-06-15 10:01                                                     ` afzal mohammed
2020-06-15 10:01                                                       ` afzal mohammed
2020-06-07 19:26                                           ` Arnd Bergmann
2020-06-07 19:26                                             ` Arnd Bergmann
2020-06-08 11:18                                             ` afzal mohammed
2020-06-08 11:18                                               ` afzal mohammed
2020-06-08 14:43                                               ` Arnd Bergmann
2020-06-08 14:43                                                 ` Arnd Bergmann
2020-06-08 15:17                                                 ` afzal mohammed
2020-06-08 15:17                                                   ` afzal mohammed
2020-06-09 12:15                                                   ` afzal mohammed
2020-06-09 12:15                                                     ` afzal mohammed
2020-06-09 14:22                                                     ` Arnd Bergmann
2020-06-09 14:22                                                       ` Arnd Bergmann
2020-05-14 16:25                                 ` ARM: static kernel in vmalloc space Russell King - ARM Linux admin
2020-05-14 16:25                                   ` Russell King - ARM Linux admin
2020-05-14 21:12                                   ` Arnd Bergmann
2020-05-14 21:12                                     ` Arnd Bergmann
2020-05-14 23:40                                     ` Russell King - ARM Linux admin
2020-05-14 23:40                                       ` Russell King - ARM Linux admin
2020-05-15 15:41                                       ` Arnd Bergmann
2020-05-15 15:41                                         ` Arnd Bergmann
2020-07-30  9:33                                         ` Linus Walleij
2020-07-30  9:33                                           ` Linus Walleij
2020-07-30 10:17                                           ` Arnd Bergmann
2020-07-30 10:17                                             ` Arnd Bergmann

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=20200415135407.GA6553@afzalpc \
    --to=afzal.mohd.ma@gmail.com \
    --cc=Anup.Patel@wdc.com \
    --cc=akpm@linux-foundation.org \
    --cc=alankao@andestech.com \
    --cc=alex@ghiti.fr \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=atish.patra@wdc.com \
    --cc=bp@suse.de \
    --cc=david.abdurachmanov@gmail.com \
    --cc=gary@garyguo.net \
    --cc=green.hu@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=logang@deltatee.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=rppt@linux.ibm.com \
    --cc=steven.price@arm.com \
    --cc=tesheng@andestech.com \
    --cc=tglx@linutronix.de \
    --cc=yash.shah@sifive.com \
    --cc=zong.li@sifive.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 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.