Lines Matching full:vectors
25 2. A bitfield indicating which vectors in the IDT are free for
46 # These exception vectors push an error code onto the stack.
113 # Priority levels are represented as groups of 16 vectors within the IDT
138 vectors = [None for i in range(max_vec)]
140 # Pass 1: sanity check and set up hard-coded interrupt vectors
148 error("Vector %d specified, but size of IDT is only %d vectors" %
151 if vectors[vec] is not None:
154 vectors[vec] = (handler, tss, dpl)
157 # Pass 2: set up priority-based interrupt vectors
165 if vectors[vi] is None:
172 vectors[vec] = (handler, tss, dpl)
175 # Pass 3: fill in unused vectors with spurious handler at dpl=0
177 if vectors[i] is not None:
185 vectors[i] = (handler, 0, 0)
187 return vectors, irq_vec_map
257 help="Output file mapping IRQ lines to IDT vectors")
260 parser.add_argument("-a", "--output-vectors-alloc", required=False,
261 help="Output file indicating allocated vectors")
271 def create_irq_vectors_allocated(vectors, spur_code, spur_nocode, filename): argument
272 # Construct a bitfield over all the IDT vectors, where if bit n is 1,
273 # that vector is free. those vectors have either of the two spurious
276 num_chars = (len(vectors) + 7) // 8
278 for i, (handler, _, _) in enumerate(vectors):
303 vectors, irq_vec_map = setup_idt(spur_code, spur_nocode, intlist, max_vec,
306 create_idt_binary(vectors, args.output_idt)
309 create_irq_vectors_allocated(vectors, spur_code, spur_nocode,