3 í«„^Àã@sNddlZddlmZddlmZddlmZddlmZGdd„deeƒZ dS) éNé)Ú MatchContext)Ú IomemconRange)Ú PolicyQuery)Ú match_rangecsVeZdZdZdZdZdZdZdZe dd„ƒZ e j dd„ƒZ ‡fdd„Z d d „Z ‡ZS) Ú IomemconQuerya÷ Iomemcon context query. Parameter: policy The policy to query. Keyword Parameters/Class attributes: addr A 2-tuple of the memory addr range to match. (Set both to the same value for a single mem addr) addr_subset If true, the criteria will match if it is a subset of the iomemcon's range. addr_overlap If true, the criteria will match if it overlaps any of the iomemcon's range. addr_superset If true, the criteria will match if it is a superset of the iomemcon's range. addr_proper If true, use proper superset/subset operations. No effect if not using set operations. user The criteria to match the context's user. user_regex If true, regular expression matching will be used on the user. role The criteria to match the context's role. role_regex If true, regular expression matching will be used on the role. type_ The criteria to match the context's type. type_regex If true, regular expression matching will be used on the type. range_ The criteria to match the context's range. range_subset If true, the criteria will match if it is a subset of the context's range. range_overlap If true, the criteria will match if it overlaps any of the context's range. range_superset If true, the criteria will match if it is a superset of the context's range. range_proper If true, use proper superset/subset operations. No effect if not using set operations. NFcCs|jS)N)Ú_addr)Úself©r ú%/usr/lib64/python3.6/iomemconquery.pyÚaddrLszIomemconQuery.addrcCs^t|Ž}t|ƒrT|jdks$|jdkr2tdj|ƒƒ‚|j|jkrLtdj|ƒƒ‚||_nd|_dS)Nrz1Memory address must be positive: {0.low}-{0.high}zIThe low mem addr must be smaller than the high mem addr: {0.low}-{0.high})rÚallZlowZhighÚ ValueErrorÚformatr)r ÚvalueZ pending_addrr r r r Ps c s$tt|ƒj|f|Žtjtƒ|_dS)N)ÚsuperrÚ__init__ÚloggingZ getLoggerÚ__name__Úlog)r ÚpolicyÚkwargs)Ú __class__r r rbszIomemconQuery.__init__ccs„|jjdj|ƒƒ|jjdj|ƒƒ|j|jƒxN|jjƒD]@}|jrht|j|j|j |j |j |j ƒ rhq<|j |jƒsvq<|Vqs