Re: [PATCH v2 2/3] Documentation: riscv: Add early boot document

From: Alexandre Ghiti
Date: Fri Jun 23 2023 - 04:33:13 EST


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
> -----------------