|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 5/5] xen/riscv: map FDT
On Wed, 2024-07-10 at 14:38 +0200, Jan Beulich wrote:
> On 03.07.2024 12:42, Oleksii Kurochko wrote:
> > Except mapping of FDT, it is also printing command line passed by
> > a DTB and initialize bootinfo from a DTB.
>
> I'm glad the description isn't empty here. However, ...
>
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -41,6 +41,9 @@ FUNC(start)
> >
> > jal setup_initial_pagetables
> >
> > + mv a0, s1
> > + jal fdt_map
> > +
> > /* Calculate proper VA after jump from 1:1 mapping */
> > la a0, .L_primary_switched
> > sub a0, a0, s2
>
> ... it could do with clarifying why this needs calling from assembly
> code. Mapping the FDT clearly looks like something that wants doing
> from start_xen(), i.e. from C code.
fdt_map() expected to work while MMU is off as it is using
setup_initial_mapping() which is working with physical address.
>
> > @@ -33,15 +35,34 @@ static void test_macros_from_bug_h(void)
> > printk("WARN is most likely working\n");
> > }
> >
> > +void __init fdt_map(paddr_t dtb_addr)
> > +{
> > + device_tree_flattened = early_fdt_map(dtb_addr);
> > + if ( !device_tree_flattened )
> > + {
> > + printk("wrong FDT\n");
> > + die();
> > + }
> > +}
> > +
> > void __init noreturn start_xen(unsigned long bootcpu_id,
> > paddr_t dtb_addr)
> > {
> > + size_t fdt_size;
> > + const char *cmdline;
> > +
> > remove_identity_mapping();
> >
> > trap_init();
> >
> > test_macros_from_bug_h();
> >
> > + fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr);
>
> You don't use the return value anywhere below. What use is the local
> var
> then?
I returned just for debug ( to see what is the fdt size ), it can be
dropped now.
~ Oleksii
>
> Jan
>
> > + cmdline = boot_fdt_cmdline(device_tree_flattened);
> > + printk("Command line: %s\n", cmdline);
> > + cmdline_parse(cmdline);
> > +
> > printk("All set up\n");
> >
> > for ( ;; )
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |