Lines Matching +full:no +full:- +full:error +full:- +full:irq
5 # SPDX-License-Identifier: Apache-2.0
14 which is a link of the Zephyr kernel without various build-time
27 3. An array which maps configured IRQ lines to their associated
46 # These exception vectors push an error code onto the stack.
56 def error(text): function
66 gate_type = 0xE # 32-bit interrupt gate
79 gate_type = 0x5 # 32-bit task gate
90 error("entry specifies both handler function and tss")
93 error("entry does not specify either handler or tss")
118 def update_irq_vec_map(irq_vec_map, irq, vector, max_irq): argument
119 # No IRQ associated; exception or software interrupt
120 if irq == -1:
123 if irq >= max_irq:
124 error("irq %d specified, but CONFIG_MAX_IRQ_LINES is %d" %
125 (irq, max_irq))
129 if irq_vec_map[irq] != 0:
130 error("multiple vector assignments for interrupt line %d" % irq)
132 debug("assign IRQ %d to vector %d" % (irq, vector))
133 irq_vec_map[irq] = vector
140 # Pass 1: sanity check and set up hard-coded interrupt vectors
141 for handler, irq, prio, vec, dpl, tss in intlist:
142 if vec == -1:
143 if prio == -1:
144 error("entry does not specify vector or priority level")
148 error("Vector %d specified, but size of IDT is only %d vectors" %
152 error("Multiple assignments for vector %d" % vec)
155 update_irq_vec_map(irq_vec_map, irq, vec, max_irq)
157 # Pass 2: set up priority-based interrupt vectors
158 for handler, irq, prio, vec, dpl, tss in intlist:
159 if vec != -1:
169 if vec == -1:
170 error("can't find a free vector in priority level %d" % prio)
173 update_irq_vec_map(irq_vec_map, irq, vec, max_irq)
209 # int32_t irq;
230 debug("spurious handler (no code) : %s" % hex(header[1]))
236 debug("handler irq pri vec dpl")
237 debug("--------------------------")
239 for irq in intlist:
241 hex(irq[0]),
242 "-" if irq[1] == -1 else irq[1],
243 "-" if irq[2] == -1 else irq[2],
244 "-" if irq[3] == -1 else irq[3],
245 irq[4]))
256 parser.add_argument("-m", "--vector-map", required=True,
257 help="Output file mapping IRQ lines to IDT vectors")
258 parser.add_argument("-o", "--output-idt", required=True,
260 parser.add_argument("-a", "--output-vectors-alloc", required=False,
262 parser.add_argument("-k", "--kernel", required=True,
264 parser.add_argument("-v", "--verbose", action="store_true",