lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKR-sGcuKoDyZSmprbFPHoHdKjk9N=q1SDLE0+qTVuXmuF=saA@mail.gmail.com>
Date:   Thu, 16 Mar 2023 20:04:51 +0100
From:   Álvaro Fernández Rojas <noltari@...il.com>
To:     Florian Fainelli <f.fainelli@...il.com>
Cc:     jonas.gorski@...il.com, bcm-kernel-feedback-list@...adcom.com,
        tglx@...utronix.de, maz@...nel.org, linux-mips@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] irqchip/bcm-6345-l1: show MMIO address

El jue, 16 mar 2023 a las 19:13, Florian Fainelli
(<f.fainelli@...il.com>) 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@...il.com>
>
> 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@...nWrt:/# 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@...00000
30000000-37ffffff : pci@...e1000
  30000000-3000ffff : 0000:00:01.0
    30000000-3000ffff : ath9k
fffe0004-fffe0007 : fffe0004.clock-controller clock-controller@...e0004
fffe000c-fffe0013 : interrupt-controller@...e000c
fffe0034-fffe0037 : fffe0034.reset-controller reset-controller@...e0034
fffe005c-fffe0067 : fffe005c.watchdog watchdog@...e005c
fffe0100-fffe0117 : fffe0100.serial serial@...e0100
fffe1000-fffe11ff : fffe1000.pci pci
fffe1300-fffe13ff : fffe1300.usb usb@...e1300
fffe1400-fffe14ff : fffe1400.usb usb@...e1400
fffe1500-fffe1537 : fffe1500.usb-phy usb-phy@...e1500

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ