hardware_gen.py: Address some warning messages

CMake treats any text output that is generated by tools during the
configuration phase as important if it isn't part of a message(STATUS)
command. Output generated by hardware_gen.py often shows up as warnings
about device tree properties that are usually uninformative. Resolving
some of the warning conditions removes these messages for most
platforms.

- Setting kernel_size in hardware.yml to 0x1000 to handle cases where
  the kernel only needs the first page of a device that has a
  device-tree definition larger than that.
- Remove status print about each Interrupt processed as it's usually not
  useful information.
- Only process IRQs for a selected kernel device if the rule for that
  device has any interrupt queries. This prevents warnings for IRQ
  controllers that the script doesn't know how to process when it
  doesn't need to.

Signed-off-by: Kent McLeod <kent@kry10.com>
This commit is contained in:
Kent McLeod
2021-06-21 12:17:12 +10:00
committed by Gerwin Klein
parent d93aa01459
commit 379bf5abe3
2 changed files with 9 additions and 2 deletions

View File

@@ -21,13 +21,16 @@ devices:
# distributor
- index: 0
kernel: GIC_V2_DISTRIBUTOR_PPTR
kernel_size: 0x1000
# controller
- index: 1
kernel: GIC_V2_CONTROLLER_PPTR
kernel_size: 0x1000
# GICV
- index: 2
kernel: GIC_V2_VCPUCTRL_PPTR
macro: CONFIG_ARM_HYPERVISOR_SUPPORT
kernel_size: 0x1000
interrupts:
INTERRUPT_VGIC_MAINTENANCE: 0
# ARM GICv3
@@ -75,6 +78,7 @@ devices:
regions:
- index: 0
kernel: AVIC_PPTR
kernel_size: 0x1000
# ARM PL310 L2 cache controller (arm/l2c2x0.txt)
- compatible:
- arm,pl310-cache
@@ -178,6 +182,7 @@ devices:
regions:
- index: 0
kernel: EPIT_PPTR
kernel_size: 0x1000
interrupts:
KERNEL_TIMER_IRQ: 0
# i.MX GPT
@@ -212,6 +217,7 @@ devices:
- index: 0
kernel: CMPER_PPTR
user: true
kernel_size: 0x1000
# TI watchdog
- compatible:
- ti,omap3-wdt
@@ -241,6 +247,7 @@ devices:
kernel: UART_PPTR
macro: CONFIG_PRINTING
user: true
kernel_size: 0x1000
# RISC-V PLIC
- compatible:

View File

@@ -141,8 +141,8 @@ def get_interrupts(tree: fdt.FdtParser, rules: rule.HardwareYaml):
irqs = []
for dev in kernel_devices:
dev_rule = rules.get_rule(dev)
print(f"interrupts for device {dev.path}")
irqs += dev_rule.get_interrupts(tree, dev)
if len(dev_rule.interrupts.items()) > 0:
irqs += dev_rule.get_interrupts(tree, dev)
ret = {}
for irq in irqs: