[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 03/30] ARM: GICv3 ITS: parse and store ITS subnodes from hardware DT



Hi,

On 06/04/17 13:39, Julien Grall wrote:
> Hi Andre,
> 
> On 06/04/17 00:26, Stefano Stabellini wrote:
>> On Thu, 6 Apr 2017, Andre Przywara wrote:
>>> diff --git a/xen/include/asm-arm/gic_v3_its.h
>>> b/xen/include/asm-arm/gic_v3_its.h
>>> new file mode 100644
>>> index 0000000..765a655
>>> --- /dev/null
>>> +++ b/xen/include/asm-arm/gic_v3_its.h
>>> @@ -0,0 +1,67 @@
>>> +/*
>>> + * ARM GICv3 ITS support
>>> + *
>>> + * Andre Przywara <andre.przywara@xxxxxxx>
>>> + * Copyright (c) 2016,2017 ARM Ltd.
>>> + *
>>> + * This program is free software; you can redistribute it and/or modify
>>> + * it under the terms of the GNU General Public License as published by
>>> + * the Free Software Foundation; under version 2 of the License.
>>> + *
>>> + * This program is distributed in the hope that it will be useful,
>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>> + * GNU General Public License for more details.
>>> + *
>>> + * You should have received a copy of the GNU General Public License
>>> + * along with this program; If not, see <http://www.gnu.org/licenses/>.
>>> + */
>>> +
>>> +#ifndef __ASM_ARM_ITS_H__
>>> +#define __ASM_ARM_ITS_H__
>>> +
>>> +#include <xen/device_tree.h>
>>> +
>>> +/* data structure for each hardware ITS */
>>> +struct host_its {
>>> +    struct list_head entry;
>>> +    const struct dt_device_node *dt_node;
>>> +    paddr_t addr;
>>> +    paddr_t size;
>>> +};
>>> +
>>> +
>>> +#ifdef CONFIG_HAS_ITS
>>> +
>>> +extern struct list_head host_its_list;
>>> +
>>> +/* Parse the host DT and pick up all host ITSes. */
>>> +void gicv3_its_dt_init(const struct dt_device_node *node);
>>> +
>>> +bool gicv3_its_host_has_its(void);
>>> +
>>> +#else
>>> +
>>> +static LIST_HEAD(host_its_list);
>>
>> This is a problem
> 
> As far as understand this is here because host_its_list is used
> unconditionally in vgic-v3.c. But this should not be necessary if you
> followed what I asked at least 5 times now and kept ignoring. I.e moving
> the creation of the multiple ITS in a separate function in vgic-v3-its.c.

Alright, I just created vgic_v3_create_mapped_its() in vgic-v3-its.c and
iterate over the hardware ITSes there, which does not need a dummy
host_its_list for non-ITS configs anymore.

Please let me know if you know a better name for that function, I am
blocked on clever naming at the moment.

Cheers,
Andre.

> 
> We are one day before the code freeze, if you want this to get merged.
> Then please address *all* the comments.
> 
> Cheers,
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.