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: <20090401162250.GA22517@elte.hu>
Date:	Wed, 1 Apr 2009 18:22:50 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Cyrill Gorcunov <gorcunov@...il.com>
Cc:	hpa@...or.com, tglx@...utronix.de, linux-kernel@...r.kernel.org,
	xemul@...nvz.org, yhlu.kernel@...il.com
Subject: Re: [patch 4/6] x86: irqinit - merge native_init_IRQ


* Cyrill Gorcunov <gorcunov@...il.com> wrote:

> [Ingo Molnar - Wed, Apr 01, 2009 at 04:53:28PM +0200]
> ...
> | > Index: linux-2.6.git/arch/x86/kernel/setup.c
> | > ===================================================================
> | > --- linux-2.6.git.orig/arch/x86/kernel/setup.c
> | > +++ linux-2.6.git/arch/x86/kernel/setup.c
> | > @@ -1087,3 +1087,11 @@ void __init x86_quirk_time_init(void)
> | >  	setup_irq(0, &irq0);
> | >  }
> | >  #endif /* CONFIG_X86_32 */
> | > +
> | > +#ifdef CONFIG_X86_64
> | > +void x86_quirk_pre_intr_init(void)
> | > +{
> | > +	init_ISA_irqs();
> | > +}
> | > +void x86_quirk_intr_init(void) { }
> | > +#endif
> | 
> | Hm, wouldnt it be cleaner to add it as a new quirk function vector 
> | in struct x86_quirks? See arch/x86/include/asm/setup.h.
> | 
> | 	Ingo
> | 
> 
> I just remember -- I thought about that and since 
> x86_quirk_pre_intr_init described as external BUT implemented for 
> x86-32 only I needed to indroduce new x86-64 versions for this 
> (and since I know that there no need to do anything else except 
> calling init_ISA_irqs I desided to have separate wrapper for 
> that).
> 
> And btw x86-32 already has init_ISA_irqs call and quirks are used 
> in x86-32 mode only so for 64bit it will be just a not needed 
> check. Which means - I could just use original 
> x86_quirk_pre_intr_init function which will call all I need.
> 
> Or you meant something else?

The typical solution there is to make the entry NULL in the 64-bit 
case. All the quirk handlers are conditional like this:

arch/x86/kernel/mpparse.c:      if (x86_quirks->mpc_apic_id)
arch/x86/kernel/mpparse.c:              apicid = x86_quirks->mpc_apic_id(m);

or am i missing something?

	Ingo
--
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