| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 8/9] xen/ppc: Add stub function and symbol definitions
 On 8/8/23 5:27 AM, Jan Beulich wrote:
> On 03.08.2023 01:03, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/mm-radix.c
>> +++ b/xen/arch/ppc/mm-radix.c
>> @@ -266,3 +266,47 @@ void __init setup_initial_pagetables(void)
>>      /* Turn on the MMU */
>>      enable_mmu();
>>  }
>> +
>> +
> 
> Nit: No double blank lines please.
>
Will fix.
>> +/*
>> + * TODO: Implement the functions below
>> + */
>> +unsigned long total_pages;
> 
> Hmm, yet one more prereq patch for me to make: There should be no need
> for every arch to have a definition, when common code requires the
> variable. While looking there I found max_page, which common code
> references as well. I'm surprised you get away without. I guess I'll
> learn why that is when making the patch moving both.
>
Since your patch for this has gone though, I'll drop this in v2.
>> +unsigned long frametable_base_pdx __read_mostly;
> 
> While we still have many instances like this, we prefer this form:
> 
> unsigned long __read_mostly frametable_base_pdx;
>
Will update.
>> +
>> +void put_page(struct page_info *p)
>> +{
>> +    BUG();
>> +}
>> +
>> +void arch_dump_shared_mem_info(void)
>> +{
>> +    BUG();
>> +}
> 
> And perhaps one further prereq patch to avoid the need for this.
>
Will remove from this series pending merge of your prereq patch.
>> +int xenmem_add_to_physmap_one(struct domain *d,
>> +                              unsigned int space,
>> +                              union add_to_physmap_extra extra,
>> +                              unsigned long idx,
>> +                              gfn_t gfn)
>> +{
>> +    BUG();
>> +}
>> +
>> +int destroy_xen_mappings(unsigned long s, unsigned long e)
>> +{
>> +    BUG();
>> +}
>> +
>> +int map_pages_to_xen(unsigned long virt,
>> +                     mfn_t mfn,
>> +                     unsigned long nr_mfns,
>> +                     unsigned int flags)
> 
> There's a patch in flight regarding the naming of this last parameter.
> I guess PPC would best be in sync right away.
>
I can't seem to find the patch in question and it doesn't seem like it
has been merged in the meantime. Could you provide a link?
>> --- a/xen/arch/ppc/setup.c
>> +++ b/xen/arch/ppc/setup.c
>> @@ -1,5 +1,8 @@
>>  /* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#include <xen/lib.h>
>>  #include <xen/init.h>
>> +#include <xen/mm.h>
>> +#include <public/version.h>
>>  #include <asm/boot.h>
>>  #include <asm/early_printk.h>
>>  #include <asm/processor.h>
> 
> There's no need for xen/lib.h to come ahead of xen/init.h, is there?
>
There is not -- I'll fix the ordering.
>> --- /dev/null
>> +++ b/xen/arch/ppc/stubs.c
>> @@ -0,0 +1,351 @@
>> [...]
>> +static void ack_none(struct irq_desc *irq)
>> +{
>> +    BUG();
>> +}
>> +
>> +static void end_none(struct irq_desc *irq)
>> +{
>> +    BUG();
>> +}
>> +
>> +hw_irq_controller no_irq_type = {
>> +    .typename = "none",
>> +    .startup = irq_startup_none,
>> +    .shutdown = irq_shutdown_none,
>> +    .enable = irq_enable_none,
>> +    .disable = irq_disable_none,
>> +    .ack = ack_none,
>> +    .end = end_none
>> +};
> 
> I would recommend to avoid filling pointers (and hence having private
> hook functions) where it's not clear whether they'll be required. "end",
> for example, is an optional hook on x86. Iirc common code doesn't use
> any of the hooks.
>
Alright, I'll drop the `end_none` stub and leave the .end pointer as
NULL.
> Jan
Thanks,
Shawn
 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |