El jue, 16 mar 2023 a las 19:13, Florian Fainelli (<f.fainelli@xxxxxxxxx>) escribió: > > On 3/16/23 11:07, Álvaro Fernández Rojas wrote: > > It's safe to show MMIO address. > > > > Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx> > > This is going to be the kernel virtual address, and while on MIPS it is > easy to resolve to the physical address because these platforms map > registers through KSEG0/1, on other platforms like ARM/ARM64 the kernel > virtual addresses are pretty meaningless unless what you want to debug > is how ioremap() mapped the address. > > I would rather do the following change: > > diff --git a/drivers/irqchip/irq-bcm6345-l1.c > b/drivers/irqchip/irq-bcm6345-l1.c > index 1bd0621c4ce2..832957d363a4 100644 > --- a/drivers/irqchip/irq-bcm6345-l1.c > +++ b/drivers/irqchip/irq-bcm6345-l1.c > @@ -261,6 +261,8 @@ static int __init bcm6345_l1_init_one(struct > device_node *dn, > if (!cpu->map_base) > return -ENOMEM; > > + request_mem_region(res.start, sz, res.name); > + > for (i = 0; i < n_words; i++) { > cpu->enable_cache[i] = 0; > __raw_writel(0, cpu->map_base + reg_enable(intc, i)); > > such that this shows up in /proc/iomem. WDYT? I tried doing it that way, but it still shows (ptrval): [ 0.000000] irq_bcm6345_l1: registered BCM6345 L1 intc (IRQs: 32) [ 0.000000] irq_bcm6345_l1: CPU0 at MMIO 0x(ptrval) (irq = 2) I checked /proc/iomem and it's shown: root@OpenWrt:/# cat /proc/iomem 00000000-03ffffff : System RAM 00010000-0068e96f : Kernel code 0068e970-008834ff : Kernel data 01610000-016458e7 : Kernel bss 08000000-0800ffff : BCM6348 PCI IO space 1e000000-1fffffff : 1e000000.nor nor@1e000000 30000000-37ffffff : pci@fffe1000 30000000-3000ffff : 0000:00:01.0 30000000-3000ffff : ath9k fffe0004-fffe0007 : fffe0004.clock-controller clock-controller@fffe0004 fffe000c-fffe0013 : interrupt-controller@fffe000c fffe0034-fffe0037 : fffe0034.reset-controller reset-controller@fffe0034 fffe005c-fffe0067 : fffe005c.watchdog watchdog@fffe005c fffe0100-fffe0117 : fffe0100.serial serial@fffe0100 fffe1000-fffe11ff : fffe1000.pci pci fffe1300-fffe13ff : fffe1300.usb usb@fffe1300 fffe1400-fffe14ff : fffe1400.usb usb@fffe1400 fffe1500-fffe1537 : fffe1500.usb-phy usb-phy@fffe1500 Any idea why this could be hapenning? > > > --- > > drivers/irqchip/irq-bcm6345-l1.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/irqchip/irq-bcm6345-l1.c b/drivers/irqchip/irq-bcm6345-l1.c > > index 6899e37810a8..55a2d9b31597 100644 > > --- a/drivers/irqchip/irq-bcm6345-l1.c > > +++ b/drivers/irqchip/irq-bcm6345-l1.c > > @@ -335,7 +335,7 @@ static int __init bcm6345_l1_of_init(struct device_node *dn, > > for_each_cpu(idx, &intc->cpumask) { > > struct bcm6345_l1_cpu *cpu = intc->cpus[idx]; > > > > - pr_info(" CPU%u at MMIO 0x%p (irq = %d)\n", idx, > > + pr_info(" CPU%u at MMIO 0x%px (irq = %d)\n", idx, > > cpu->map_base, cpu->parent_irq); > > } > > > > -- > Florian > Álvaro