From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751722AbdF1S4B (ORCPT ); Wed, 28 Jun 2017 14:56:01 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35711 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751505AbdF1Szx (ORCPT ); Wed, 28 Jun 2017 14:55:53 -0400 From: Palmer Dabbelt To: peterz@infradead.org To: mingo@redhat.com To: mcgrof@kernel.org To: viro@zeniv.linux.org.uk To: sfr@canb.auug.org.au To: nicolas.dichtel@6wind.com To: rmk+kernel@armlinux.org.uk To: msalter@redhat.com To: tklauser@distanz.ch To: will.deacon@arm.com To: james.hogan@imgtec.com To: paul.gortmaker@windriver.com To: linux@roeck-us.net To: linux-kernel@vger.kernel.org To: linux-arch@vger.kernel.org To: albert@sifive.com Subject: RISC-V Linux Port v3 Date: Wed, 28 Jun 2017 11:55:29 -0700 Message-Id: <20170628185538.1804-1-palmer@dabbelt.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170606230007.19101-1-palmer@dabbelt.com> References: <20170606230007.19101-1-palmer@dabbelt.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thanks to everyone who has particpated in the review process so far. We've made a handful of changes since the v2 port, and at this point aside from a handful of FIXMEs floating around the code I don't think there's anything left I know about that's still missing for a minimal port. I believe I've addressed every review comment so far, if I've missed yours then I'm sorry but I'd like to request you resend it. A highlight of the changes since the v1 patch set includes: * We've split out all our drivers into separate patch sets, which I've already sent out to the relevant maintainers. I haven't included those patches in this patch set, but some of them are necessary to build our port. A git tree that contains all our patch sets merged together lives at . * The patch set is now split up differently: rather than being split per directory it is split per topic. Hopefully this will make it easier to review the port on the mailing list. The split is a bit rough, so you probably still want to look at the patch set as a whole. * atomic.h has been completely rewritten and is hopefully now correct. I've attempted to sanitize the various other memory model related code as well, and I think it should all be sane now aside from a handful of FIXMEs commented in the code. * We've changed the cmpexchg syscall to always exist and to not be multiplexed. There is also a VDSO entry for compare and exchange, which allows kernels with the A extension to execute user code without the A extension reasonably fast. * Our user-visible register state now contains enough space for the Q extension for 128-bit floating point, as well as a few words to allow extensibility to future ISA extensions like the eventual V extension for vectors. * A handful of driver cleanups, but these have been split into separate patch sets now so I won't duplicate them here. The full list of patches is below [PATCH 1/9] RISC-V: Init and Halt Code [PATCH 2/9] RISC-V: Atomic and Locking Code [PATCH 3/9] RISC-V: Generic library routines and assembly [PATCH 4/9] RISC-V: ELF and module implementation [PATCH 5/9] RISC-V: Task implementation [PATCH 6/9] RISC-V: Device, timer, IRQs, and the SBI [PATCH 7/9] RISC-V: Paging and MMU [PATCH 8/9] RISC-V: User-facing API [PATCH 9/9] RISC-V: Build Infastructure In case one gets eaten by the mailing list, this is also availiable as a git tree on our Git Hub https://github.com/riscv/riscv-linux/tree/riscv-for-submission-arch-v3 This patch set just contains the arch code, we have various drivers that are required to build and boot a RISC-V system. A tree that contains this patch set merged with all our other patch sets lives at https://github.com/riscv/riscv-linux/tree/riscv-for-submission-v3 commit 319a127e0685ed294996e0e6b25b229f42ec1d6e Merge: a980edd4a4b7 e67734c51bc9 Author: Palmer Dabbelt Date: Wed Jun 28 10:45:14 2017 -0700 Merge branch 'riscv-for-submission-arch-v3' into riscv-for-submission-v3 If you're going to try to build or boot the kernel, I'd recommend using that. Thanks to everyone who has helped review our port!