gen/interrupts: add a bit more logging

This commit is contained in:
Dario Nieuwenhuis 2024-01-03 01:50:13 +01:00
parent 760125dee1
commit 61a6ceab16

View File

@ -120,6 +120,10 @@ impl ChipInterrupts {
let exists_irq: HashSet<String> = core.interrupts.iter().map(|i| i.name.clone()).collect(); let exists_irq: HashSet<String> = core.interrupts.iter().map(|i| i.name.clone()).collect();
for i in &exists_irq {
trace!(" irq in header: {i}");
}
for nvic_string in nvic_strings { for nvic_string in nvic_strings {
trace!(" irq={nvic_string:?}"); trace!(" irq={nvic_string:?}");
let parts = { let parts = {
@ -154,7 +158,10 @@ impl ChipInterrupts {
.iter() .iter()
.find(|(irq, _)| irq == &name) .find(|(irq, _)| irq == &name)
.unwrap_or(&("", &[])); .unwrap_or(&("", &[]));
let Some(new_name) = eq_irqs.iter().find(|i| exists_irq.contains(**i)) else { continue }; let Some(new_name) = eq_irqs.iter().find(|i| exists_irq.contains(**i)) else {
trace!(" irq missing in C header, ignoring");
continue;
};
header_name = new_name.to_string(); header_name = new_name.to_string();
} }
@ -200,8 +207,7 @@ impl ChipInterrupts {
// pass // pass
} else if flags } else if flags
.iter() .iter()
.map(|flag| ["DMA", "DMAL0", "DMAF0", "DMAL0_DMAMUX", "DMAF0_DMAMUX"].contains(flag)) .any(|flag| ["DMA", "DMAL0", "DMAF0", "DMAL0_DMAMUX", "DMAF0_DMAMUX"].contains(flag))
.any(std::convert::identity)
{ {
let mut dmas_iter = parts[3].split(','); let mut dmas_iter = parts[3].split(',');
let mut chans_iter = parts[4].split(';'); let mut chans_iter = parts[4].split(';');
@ -240,6 +246,7 @@ impl ChipInterrupts {
interrupt_signals.insert(("RCC".to_string(), "GLOBAL".to_string())); interrupt_signals.insert(("RCC".to_string(), "GLOBAL".to_string()));
} else { } else {
if parts[2].is_empty() { if parts[2].is_empty() {
trace!(" skipping because parts[2].is_empty()");
continue; continue;
} }
@ -249,6 +256,8 @@ impl ChipInterrupts {
.map(ToString::to_string) .map(ToString::to_string)
.collect(); .collect();
trace!(" peri_names: {peri_names:?}");
let name2 = { let name2 = {
if name == "USBWakeUp" || name == "USBWakeUp_RMP" { if name == "USBWakeUp" || name == "USBWakeUp_RMP" {
"USB_WKUP" "USB_WKUP"
@ -269,6 +278,8 @@ impl ChipInterrupts {
// Parse IRQ interrupt_signals from the IRQ name. // Parse IRQ interrupt_signals from the IRQ name.
for part in tokenize_name(name2) { for part in tokenize_name(name2) {
trace!(" part={part}");
let part = { let part = {
if part == "TAMPER" { if part == "TAMPER" {
"TAMP".to_string() "TAMP".to_string()