From: Anup Patel <Anup.Patel@wdc.com> To: Palmer Dabbelt <palmer@sifive.com>, Albert Ou <aou@eecs.berkeley.edu> Cc: Atish Patra <Atish.Patra@wdc.com>, Christoph Hellwig <hch@infradead.org>, Paul Walmsley <paul.walmsley@sifive.com>, Mike Rapoport <rppt@linux.ibm.com>, "linux-riscv@lists.infradead.org" <linux-riscv@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Anup Patel <Anup.Patel@wdc.com> Subject: [PATCH v3 0/4] Boot RISC-V kernel from any 4KB aligned address Date: Mon, 25 Mar 2019 09:22:59 +0000 [thread overview] Message-ID: <20190325092234.5451-1-anup.patel@wdc.com> (raw) This patchset primarily extends initial page table setup using fixmap to boot Linux RISC-V kernel (64bit and 32bit) from any 4KB aligned address. We also add 32bit defconfig to allow people to try 32bit Linux RISC-V kernel as well. The patchset is based on Linux-5.1-rc2 and tested on SiFive Unleashed board and QEMU virt machine. It can also be found in riscv_setup_vm_v3 branch of https//github.com/avpatel/linux.git Changes since v2: - Dropped PATCH2 because we have separate fix for Linux-5.1-rcX - Moved PATCH5 to PATCH2 - Moved PATCH4 to PATCH3 - The "Booting kernel from any 4KB aligned address" is now PATCH4 Changes since v1: - Add kconfig option BOOT_PAGE_ALIGNED to enable 4KB aligned booting - Improved initial page table setup code to select best/biggest possible mapping size based on load address alignment - Added PATCH4 to remove redundant trampoline page table - Added PATCH5 to fix memory reservation in setup_bootmem() Anup Patel (4): RISC-V: Add separate defconfig for 32bit systems RISC-V: Fix memory reservation in setup_bootmem() RISC-V: Remove redundant trampoline page table RISC-V: Allow booting kernel from any 4KB aligned address arch/riscv/Kconfig | 12 + arch/riscv/configs/rv32_defconfig | 84 +++++++ arch/riscv/include/asm/fixmap.h | 5 + arch/riscv/include/asm/pgtable-64.h | 5 + arch/riscv/include/asm/pgtable.h | 5 + arch/riscv/kernel/head.S | 14 +- arch/riscv/kernel/setup.c | 4 +- arch/riscv/mm/init.c | 376 +++++++++++++++++++++++----- 8 files changed, 430 insertions(+), 75 deletions(-) create mode 100644 arch/riscv/configs/rv32_defconfig -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Anup Patel <Anup.Patel@wdc.com> To: Palmer Dabbelt <palmer@sifive.com>, Albert Ou <aou@eecs.berkeley.edu> Cc: Anup Patel <Anup.Patel@wdc.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Mike Rapoport <rppt@linux.ibm.com>, Christoph Hellwig <hch@infradead.org>, Atish Patra <Atish.Patra@wdc.com>, Paul Walmsley <paul.walmsley@sifive.com>, "linux-riscv@lists.infradead.org" <linux-riscv@lists.infradead.org> Subject: [PATCH v3 0/4] Boot RISC-V kernel from any 4KB aligned address Date: Mon, 25 Mar 2019 09:22:59 +0000 [thread overview] Message-ID: <20190325092234.5451-1-anup.patel@wdc.com> (raw) This patchset primarily extends initial page table setup using fixmap to boot Linux RISC-V kernel (64bit and 32bit) from any 4KB aligned address. We also add 32bit defconfig to allow people to try 32bit Linux RISC-V kernel as well. The patchset is based on Linux-5.1-rc2 and tested on SiFive Unleashed board and QEMU virt machine. It can also be found in riscv_setup_vm_v3 branch of https//github.com/avpatel/linux.git Changes since v2: - Dropped PATCH2 because we have separate fix for Linux-5.1-rcX - Moved PATCH5 to PATCH2 - Moved PATCH4 to PATCH3 - The "Booting kernel from any 4KB aligned address" is now PATCH4 Changes since v1: - Add kconfig option BOOT_PAGE_ALIGNED to enable 4KB aligned booting - Improved initial page table setup code to select best/biggest possible mapping size based on load address alignment - Added PATCH4 to remove redundant trampoline page table - Added PATCH5 to fix memory reservation in setup_bootmem() Anup Patel (4): RISC-V: Add separate defconfig for 32bit systems RISC-V: Fix memory reservation in setup_bootmem() RISC-V: Remove redundant trampoline page table RISC-V: Allow booting kernel from any 4KB aligned address arch/riscv/Kconfig | 12 + arch/riscv/configs/rv32_defconfig | 84 +++++++ arch/riscv/include/asm/fixmap.h | 5 + arch/riscv/include/asm/pgtable-64.h | 5 + arch/riscv/include/asm/pgtable.h | 5 + arch/riscv/kernel/head.S | 14 +- arch/riscv/kernel/setup.c | 4 +- arch/riscv/mm/init.c | 376 +++++++++++++++++++++++----- 8 files changed, 430 insertions(+), 75 deletions(-) create mode 100644 arch/riscv/configs/rv32_defconfig -- 2.17.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2019-03-25 9:23 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-25 9:22 Anup Patel [this message] 2019-03-25 9:22 ` [PATCH v3 0/4] Boot RISC-V kernel from any 4KB aligned address Anup Patel 2019-03-25 9:23 ` [PATCH v3 1/4] RISC-V: Add separate defconfig for 32bit systems Anup Patel 2019-03-25 9:23 ` Anup Patel 2019-03-25 9:23 ` [PATCH v3 2/4] RISC-V: Fix memory reservation in setup_bootmem() Anup Patel 2019-03-25 9:23 ` Anup Patel 2019-03-25 11:38 ` Christoph Hellwig 2019-03-25 11:38 ` Christoph Hellwig 2019-03-25 16:13 ` Mike Rapoport 2019-03-25 16:13 ` Mike Rapoport 2019-04-24 21:06 ` Palmer Dabbelt 2019-04-24 21:06 ` Palmer Dabbelt 2019-03-25 9:23 ` [PATCH v3 3/4] RISC-V: Remove redundant trampoline page table Anup Patel 2019-03-25 9:23 ` Anup Patel 2019-03-25 11:38 ` Christoph Hellwig 2019-03-25 11:38 ` Christoph Hellwig 2019-03-25 9:23 ` [PATCH v3 4/4] RISC-V: Allow booting kernel from any 4KB aligned address Anup Patel 2019-03-25 9:23 ` Anup Patel 2019-03-25 11:39 ` Christoph Hellwig 2019-03-25 11:39 ` Christoph Hellwig 2019-03-25 12:42 ` Anup Patel 2019-03-25 12:42 ` Anup Patel 2019-03-25 14:55 ` Christoph Hellwig 2019-03-25 14:55 ` Christoph Hellwig 2019-03-25 12:48 ` Anup Patel 2019-03-25 12:48 ` Anup Patel 2019-03-25 14:59 ` Christoph Hellwig 2019-03-25 14:59 ` Christoph Hellwig 2019-03-25 16:16 ` Anup Patel 2019-03-25 16:16 ` Anup Patel 2019-03-25 17:35 ` Gary Guo 2019-03-26 9:43 ` Anup Patel 2019-03-27 7:54 ` Christoph Hellwig 2019-03-27 7:54 ` Christoph Hellwig 2019-03-28 7:55 ` Mike Rapoport 2019-03-28 7:55 ` Mike Rapoport 2019-03-28 9:52 ` Anup Patel 2019-03-28 9:52 ` Anup Patel 2019-03-28 10:24 ` Anup Patel 2019-03-28 10:24 ` Anup Patel
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=20190325092234.5451-1-anup.patel@wdc.com \ --to=anup.patel@wdc.com \ --cc=Atish.Patra@wdc.com \ --cc=aou@eecs.berkeley.edu \ --cc=hch@infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=palmer@sifive.com \ --cc=paul.walmsley@sifive.com \ --cc=rppt@linux.ibm.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: 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.