[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6 2/4] xen/arm: use SYMBOL when required
On Thu, 10 Jan 2019, Jan Beulich wrote: > >>> On 10.01.19 at 00:42, <sstabellini@xxxxxxxxxx> wrote: > > @@ -1138,9 +1138,10 @@ void free_init_memory(void) > > for ( i = 0; i < nr; i++ ) > > *(p + i) = insn; > > > > - set_pte_flags_on_range(__init_begin, len, mg_clear); > > + set_pte_flags_on_range(SYMBOL(__init_begin), len, mg_clear); > > init_domheap_pages(pa, pa + len); > > - printk("Freed %ldkB init memory.\n", > > (long)(__init_end-__init_begin)>>10); > > + printk("Freed %ldkB init memory.\n", > > + (long)(SYMBOL(__init_end)-SYMBOL(__init_begin))>>10); > > I've noticed this only here, but I can't exclude I've overlooked other > instances: I think it would be really nice if you corrected formatting > at the same time (here: add the missing blanks). OK I tend not to do cleanups together with meaningful changes, because typically I find the resulting patch harder to review, but I am OK with doing cleanups if you the maintainer asks for them > > --- a/xen/arch/arm/percpu.c > > +++ b/xen/arch/arm/percpu.c > > @@ -6,7 +6,7 @@ > > > > unsigned long __per_cpu_offset[NR_CPUS]; > > #define INVALID_PERCPU_AREA (-(long)__per_cpu_start) > > -#define PERCPU_ORDER > > (get_order_from_bytes(__per_cpu_data_end-__per_cpu_start)) > > +#define PERCPU_ORDER (get_order_from_bytes(SYMBOL(__per_cpu_data_end) - > > SYMBOL(__per_cpu_start))) > > Long line. OK > > @@ -37,7 +37,7 @@ static void _free_percpu_area(struct rcu_head *head) > > { > > struct free_info *info = container_of(head, struct free_info, rcu); > > unsigned int cpu = info->cpu; > > - char *p = __per_cpu_start + __per_cpu_offset[cpu]; > > + char *p = SYMBOL(__per_cpu_start) + __per_cpu_offset[cpu]; > > free_xenheap_pages(p, PERCPU_ORDER); > > __per_cpu_offset[cpu] = INVALID_PERCPU_AREA; > > } > > As per above, to add the missing blank line would be quite nice at > this occasion. OK > > --- a/xen/arch/arm/setup.c > > +++ b/xen/arch/arm/setup.c > > @@ -772,8 +772,10 @@ void __init start_xen(unsigned long boot_phys_offset, > > > > /* Register Xen's load address as a boot module. */ > > xen_bootmodule = add_boot_module(BOOTMOD_XEN, > > - (paddr_t)(uintptr_t)(_start + > > boot_phys_offset), > > - (paddr_t)(uintptr_t)(_end - _start + 1), > > false); > > + (paddr_t)(uintptr_t)(SYMBOL(_start) + > > + boot_phys_offset), > > + (paddr_t)(uintptr_t)(SYMBOL(_end) - > > + SYMBOL(_start) + 1), > > false); > > Why you need the double casts, i.e. why does (uintptr_t) alone not > suffice? The original reason was just not to change the existing code outside of adding SYMBOL :-) But to answer your question, uintptr_t is the same size of char*, while paddr_t is always 64bit. uintptr_t casts to integer type, paddr_t casts to the right size. I don't think it is allowed to change from pointer to integer and change integer size in a single cast. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |