[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 04/28] ARM: GICv3 ITS: allocate device and collection table
Hi, On 30/01/17 18:31, Andre Przywara wrote: +int gicv3_its_init(struct host_its *hw_its) +{ + uint64_t reg; + int i; + + hw_its->its_base = ioremap_nocache(hw_its->addr, hw_its->size); + if ( !hw_its->its_base ) + return -ENOMEM; + + for ( i = 0; i < GITS_BASER_NR_REGS; i++ ) + { + void __iomem *basereg = hw_its->its_base + GITS_BASER0 + i * 8; + int type; + + reg = readq_relaxed(basereg); + type = (reg & GITS_BASER_TYPE_MASK) >> GITS_BASER_TYPE_SHIFT; + switch ( type ) + { + case GITS_BASER_TYPE_NONE: + continue; + case GITS_BASER_TYPE_DEVICE: + /* TODO: find some better way of limiting the number of devices */ + its_map_baser(basereg, reg, BIT(max_its_device_bits)); + break; + case GITS_BASER_TYPE_COLLECTION: + its_map_baser(basereg, reg, NR_CPUS); And I forgot to mention about the collection. Same remark as for the device collection, NR_CPUS is the maximum size. Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |