def __init__(self, args, name, required_options=None, **options): self.name = name if Device.__trace is None: Device.__trace = Trace.get_tracer() if required_options is not None: for optname in required_options: if optname not in options: raise RuntimeError( f'{self.name} missing required option {optname}') # handle some common options self.address = options['address'] if 'address' in options else None self.interrupt = options[ 'interrupt'] if 'interrupt' in options else None self.size = None self.debug = self.name in args.debug_device self._asserted_ipl = 0
def init(cls, args): Register.__trace = Trace.get_tracer() Register.__trace_io = args.trace_io or args.trace_everything