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]
Date:	Tue, 1 Jan 2013 16:16:09 +0530
From:	Vineet Gupta <Vineet.Gupta1@...opsys.com>
To:	Thomas Gleixner <tglx@...utronix.de>
CC:	<linux-arch@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v1 12/31] ARC: Interrupt Handling

On Tuesday 13 November 2012 01:38 AM, Thomas Gleixner wrote:
> On Wed, 7 Nov 2012, Vineet Gupta wrote:
>> +void __init init_IRQ(void)
>> +{
>> +	const int irq = TIMER0_IRQ;
>> +
>> +	/*
>> +	 * Each CPU needs to register irq of it's private TIMER0.
>> +	 * The APIs request_percpu_irq()/enable_percpu_irq() will not be
>> +	 * functional, if we don't "prep" the generic IRQ sub-system with
>> +	 * the following:
>> +	 * -Ensure that devid passed to request_percpu_irq() is indeed per cpu
>> +	 * -disable NOAUTOEN, w/o which the device handler never gets called
> 
> What sets NOAUTOEN in the first place? The core code definitely does
> not.

So this is based off of my orig 3.2 port and I can see similar flow even in 3.7

(1) start_kernel
     early_irq_initd
       desc_set_defaults
         irqd_set(IRQD_IRQ_DISAB)

(2) For setting up IRQ dev to be per-cpu
     irq_set_percpu_devid
         irq_set_percpu_devid_flags
                irq_set_status_flags(IRQ_NOAUTOEN | ....)  <----

Am I missing/overlooking something ?


> 
>> +	 */
>> +	irq_set_percpu_devid(irq);
>> +	irq_modify_status(irq, IRQ_NOAUTOEN, 0);
> 
> Aside of that we have irq_clear_status_flags() for this.

OK ! I can use that.


> 
>> +	plat_init_IRQ();
>> +}
> 
>> +int __init get_hw_config_num_irq(void)
> 
> How is that function used ?


This is used in the SMP port patch to verify that number of IRQs have been
configured properly in hardware. This is again in mini-series #2 of v1 patchset
https://lkml.org/lkml/2012/11/12/160

Thx,
-Vineet
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ