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, 10 Mar 2009 17:02:32 -0500
From:	James Bottomley <James.Bottomley@...senPartnership.com>
To:	Yinghai Lu <yinghai@...nel.org>
Cc:	LKML <linux-kernel@...r.kernel.org>,
	Thomas Gleixner <tglx@...utronix.de>,
	"H. Peter Anvin" <hpa@...ux.intel.com>, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH 00/13] convert voyager over to the x86 quirks model

On Tue, 2009-03-10 at 14:58 -0700, Yinghai Lu wrote:
> On Sun, Mar 8, 2009 at 9:48 AM, James Bottomley
> <James.Bottomley@...senpartnership.com> wrote:
> > Given the lack of feedback, I went ahead and implemented the additions
> > to smp_ops and x86_quirks (and a dynamic mca NMI hook) to allow
> > voyager to be plumbed in.
> >
> > There also needs to be changes in the boot setup to make voyager work
> > dynamically: It has to be detected first, so the a20 gate check is
> > only executed if a voyager is not found.
> >
> > I also completed some of the subarchitecture eliminations, so all the
> > include file infrastructure should be gone.
> >
> > The result is that I can boot both my PC SMP x86 boxes and voyager
> > with the same kernel.
> >
> > This patch series applies on the x86/apic branch of the x86 tree
> > (obviously with 965c7ecaf2e2b083d711a01ab33735a4bdeee1a4 reverted)
> >
> > James
> >
> > ---
> >
> >  [VOYAGER] x86: add {safe,hard}_smp_processor_id to smp_ops
> >  [VOYAGER] x86/mca: make mca_nmi_hook external
> >  [VOYAGER] x86: add prefill_possible_map to x86_quirks
> >  [VOYAGER] x86: use boot_cpu_id instead of zero for checking boot
> >    processor
> >  [VOYAGER] x86/voyager: Move voyager detection to a new bootparam area
> >  [VOYAGER] x86: eliminate subarchitecture file setup_arch.h
> >  [VOYAGER] x86: eliminate subarchitecture file entry_arch.h
> >  [VOYAGER] x86: eliminate subarchitecture file do_timer.h
> >  [VOYAGER] x86: redo irq2 cascade setup
> >  [VOYAGER] x86: make disabling the apics functional instead of a flag
> >  [VOYAGER] x86/Voyager: add missing QIC call function single gate
> >  [VOYAGER] x86/Voyager: replace inline io area reads with readX
> >    accessors
> >  [VOYAGER] x86/Voyager: Plumb voyager back into the build
> >
> >  arch/x86/Kconfig                               |    4 +-
> >  arch/x86/Makefile                              |    2 +
> >  arch/x86/boot/Makefile                         |    4 +-
> >  arch/x86/boot/a20.c                            |   13 +-
> >  arch/x86/boot/boot.h                           |    2 +-
> >  arch/x86/boot/voyager.c                        |    5 +-
> >  arch/x86/include/asm/apic.h                    |    6 +
> >  arch/x86/include/asm/bootparam.h               |    5 +-
> >  arch/x86/include/asm/do_timer.h                |   16 -
> >  arch/x86/include/asm/entry_arch.h              |   57 ---
> >  arch/x86/include/asm/hw_irq.h                  |   11 +
> >  arch/x86/include/asm/mach-voyager/do_timer.h   |   17 -
> >  arch/x86/include/asm/mach-voyager/entry_arch.h |   26 --
> >  arch/x86/include/asm/mach-voyager/setup_arch.h |   12 -
> 
> could remove "mach-" here.

This directory is actually gone after the patch.

> >  arch/x86/include/asm/mca.h                     |    3 +
> >  arch/x86/include/asm/setup.h                   |    6 +-
> >  arch/x86/include/asm/setup_arch.h              |    3 -
> >  arch/x86/include/asm/smp.h                     |   13 +-
> >  arch/x86/include/asm/voyager.h                 |   80 ++---
> >  arch/x86/include/asm/voyager_bios.h            |   21 +
> >  arch/x86/include/asm/voyager_boot.h            |   27 ++
> >  arch/x86/include/asm/voyager_vectors.h         |   37 ++
> >  arch/x86/kernel/apic/apic.c                    |    8 +-
> >  arch/x86/kernel/apic/ipi.c                     |    2 +-
> >  arch/x86/kernel/apic/probe_32.c                |    3 +
> >  arch/x86/kernel/entry_32.S                     |   70 +++-
> >  arch/x86/kernel/irqinit_32.c                   |   15 +-
> >  arch/x86/kernel/mca_32.c                       |   12 +
> >  arch/x86/kernel/probe_roms_32.c                |    1 -
> >  arch/x86/kernel/setup.c                        |   35 +--
> >  arch/x86/kernel/smp.c                          |    7 +
> >  arch/x86/kernel/smpboot.c                      |    2 +-
> >  arch/x86/kernel/time_32.c                      |   11 +-
> >  arch/x86/kernel/visws_quirks.c                 |    7 -
> >  arch/x86/mach-voyager/setup.c                  |   66 ++--
> >  arch/x86/mach-voyager/voyager_basic.c          |   98 ++---
> >  arch/x86/mach-voyager/voyager_smp.c            |  544 ++++++++----------------
> >  arch/x86/mach-voyager/voyager_thread.c         |    5 +-
> 
> same here

Heh, that would blow my nice diffstat out of the water ...

It's useful to keep code like this separated, since you don't
necessarily want some kernelnewby wandering across it as an example of
how to do SMP on x86 ... I'm not wedded to the name, but mach-voyager is
as good a descriptive directory name as any other.

James


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