3
í«„^À ã @ sN d dl Z ddlmZ ddlmZ ddlmZ ddlmZ G dd„ deeƒZ dS ) é Né )ÚMatchContext)Ú
IomemconRange)ÚPolicyQuery)Úmatch_rangec sV e Zd ZdZdZdZdZdZdZe dd„ ƒZ
e
jdd„ ƒZ
‡ fdd„Zd 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.
NFc C s | j S )N)Ú_addr)Úself© r
ú%/usr/lib64/python3.6/iomemconquery.pyÚaddrL s zIomemconQuery.addrc C s^ t |Ž }t|ƒrT|jdk s$|jdk r2tdj|ƒƒ‚|j|jkrLtdj|ƒƒ‚|| _nd | _d S )Nr z1Memory 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 ÚvalueZpending_addrr
r
r r P s c s$ t t| ƒj|f|Ž tjtƒ| _d S )N)Úsuperr Ú__init__ÚloggingZ getLoggerÚ__name__Úlog)r ÚpolicyÚkwargs)Ú __class__r
r r b s zIomemconQuery.__init__c c s„ | j jdj| ƒƒ | j jdj| ƒƒ | j| j ƒ xN| jjƒ D ]@}| jrht|j| j| j | j
| j| jƒ rhq<| j
|jƒsvq<|V q