On Thu, Jun 22, 2023 at 7:41 PM Conor Dooley <conor@xxxxxxxxxx> wrote: > > On Thu, Jun 22, 2023 at 07:32:23PM +0200, Alexandre Ghiti wrote: > > On Thu, Jun 22, 2023 at 7:24 PM Andrew Jones <ajones@xxxxxxxxxxxxxxxx> wrote: > > > > > > On Wed, Jun 21, 2023 at 02:19:50PM +0200, Andrew Jones wrote: > > > > On Wed, Jun 21, 2023 at 09:22:33AM +0200, Alexandre Ghiti wrote: > > > ... > > > > > +Hardware description > > > > > +-------------------- > > > > > + > > > > > +The firmware can pass either a devicetree or ACPI tables to the RISC-V kernel. > > > > > + > > > > > +The devicetree is either passed directly to the kernel from the previous stage > > > > > +using the `$a1` register, or when booting with UEFI, it can be passed using the > > > > > +EFI configuration table. > > > > > + > > > > > +The ACPI tables are passed to the kernel using the EFI configuration table. In > > > > > +this case, a tiny devicetree is still created by the EFI stub. Please refer to > > > > > +"EFI stub and devicetree" tree section below for details about this devicetree. > > > > ^ redundant 'tree' here > > > > > > > > > > Can whoever applies this drop this 'tree' I pointed while applying? > > > > Yes, sorry: @Conor Dooley give me the overly long lines you wanted me > > to break and I'll send a v3, it won't take much time and I'll fix this > > too! > > Look, I said it was pure pedantry on my part, and not something that > helps with understanding. You've been warned! > > diff --git a/Documentation/riscv/boot.rst b/Documentation/riscv/boot.rst > index 019ee818686d..a52793fd9f6c 100644 > --- a/Documentation/riscv/boot.rst > +++ b/Documentation/riscv/boot.rst > @@ -143,11 +143,12 @@ be carefully examined. > Device-tree mapping via fixmap > ------------------------------ > > -The RISC-V kernel uses the fixmap region to map the devicetree because the > -devicetree virtual mapping must remain the same between :c:func:`setup_vm` and > -:c:func:`setup_vm_final` calls since the :c:var:`reserved_mem` array is > -initialized with virtual addresses established by :c:func:`setup_vm` and used > -with the mapping established by :c:func:`setup_vm_final`. > + > +As the :c:var:`reserved_mem` array is initialized with virtual addresses > +established by :c:func:`setup_vm`, and used with the mapping established by > +:c:func:`setup_vm_final`, the RISC-V kernel uses the fixmap region to map the > +devicetree. This ensures that the same virtual mapping is used by both > +functions. > Oh my, so pedantic...:) I don't like the last sentence though, I'll change it for: "This ensures that the devicetree remains accessible by both virtual mappings." Thanks! > Pre-MMU execution > -----------------