c4597fd756
x86/apic/uv: Silence a shift wrapping warning
...
'm_io' is stored in 6 bits so it's a number in the 0-63 range. Static
analysis tools complain that 1 << 63 will wrap so I have changed it to
1ULL << m_io.
This code is over three years old so presumably the bug doesn't happen
very frequently in real life or someone would have complained by now.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Cc: Alex Thorlton <athorlton@sgi.com >
Cc: Dimitri Sivanich <sivanich@sgi.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Mike Travis <travis@sgi.com >
Cc: Nathan Zimmer <nzimmer@sgi.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: kernel-janitors@vger.kernel.org
Fixes: b15cc4a12b
("x86, uv, uv3: Update x2apic Support for SGI UV3")
Link: http://lkml.kernel.org/r/20161123221908.GA23997@mwanda
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-11-24 06:01:05 +01:00
597f03f9d1
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
...
Pull CPU hotplug updates from Thomas Gleixner:
"Yet another batch of cpu hotplug core updates and conversions:
- Provide core infrastructure for multi instance drivers so the
drivers do not have to keep custom lists.
- Convert custom lists to the new infrastructure. The block-mq custom
list conversion comes through the block tree and makes the diffstat
tip over to more lines removed than added.
- Handle unbalanced hotplug enable/disable calls more gracefully.
- Remove the obsolete CPU_STARTING/DYING notifier support.
- Convert another batch of notifier users.
The relayfs changes which conflicted with the conversion have been
shipped to me by Andrew.
The remaining lot is targeted for 4.10 so that we finally can remove
the rest of the notifiers"
* 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
cpufreq: Fix up conversion to hotplug state machine
blk/mq: Reserve hotplug states for block multiqueue
x86/apic/uv: Convert to hotplug state machine
s390/mm/pfault: Convert to hotplug state machine
mips/loongson/smp: Convert to hotplug state machine
mips/octeon/smp: Convert to hotplug state machine
fault-injection/cpu: Convert to hotplug state machine
padata: Convert to hotplug state machine
cpufreq: Convert to hotplug state machine
ACPI/processor: Convert to hotplug state machine
virtio scsi: Convert to hotplug state machine
oprofile/timer: Convert to hotplug state machine
block/softirq: Convert to hotplug state machine
lib/irq_poll: Convert to hotplug state machine
x86/microcode: Convert to hotplug state machine
sh/SH-X3 SMP: Convert to hotplug state machine
ia64/mca: Convert to hotplug state machine
ARM/OMAP/wakeupgen: Convert to hotplug state machine
ARM/shmobile: Convert to hotplug state machine
arm64/FP/SIMD: Convert to hotplug state machine
...
2016-10-03 19:43:08 -07:00
a8adc0f091
Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
...
Pull x86 cleanups from Ingo Molnar:
"Header file and a wrapper functions cleanup"
* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86: Migrate exception table users off module.h and onto extable.h
x86: Clean up various simple wrapper functions
2016-10-03 17:18:52 -07:00
b067a7be41
x86/apic/uv: Convert to hotplug state machine
...
Install the callbacks via the state machine.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160906170457.32393-19-bigeasy@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2016-09-19 21:44:33 +02:00
f148b41e8b
x86: Clean up various simple wrapper functions
...
Remove unneeded variables and assignments.
While we are here, let's fix the following as well:
- Remove unnecessary parentheses
- Remove unnecessary unsigned-suffix 'U' from constant values
- Reword the comment in set_apic_id() (suggested by Thomas Gleixner)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com >
Cc: Alex Thorlton <athorlton@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Borislav Petkov <bp@suse.de >
Cc: Daniel J Blueman <daniel@numascale.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: Dimitri Sivanich <sivanich@sgi.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Matt Fleming <matt@codeblueprint.co.uk >
Cc: Mike Travis <travis@sgi.com >
Cc: Nathan Zimmer <nzimmer@sgi.com >
Cc: Paul Gortmaker <paul.gortmaker@windriver.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Steffen Persvold <sp@numascale.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Toshi Kani <toshi.kani@hpe.com >
Cc: Wei Jiangang <weijg.fnst@cn.fujitsu.com >
Link: http://lkml.kernel.org/r/1473573502-27954-1-git-send-email-yamada.masahiro@socionext.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-09-13 20:42:58 +02:00
2b3061c77c
Merge branch 'x86/mm' into x86/asm, to unify the two branches for simplicity
...
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-09-08 08:41:52 +02:00
5a52e8f822
x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV systems
...
The latest UV kernel support panics when RHEL7 kexec's the kdump kernel
to make a dumpfile. This patch fixes the problem by turning off all UV
support if NUMA is off.
Tested-by: Frank Ramsay <framsay@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Reviewed-by: Nathan Zimmer <nzimmer@sgi.com >
Cc: Alex Thorlton <athorlton@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160801184050.577755634@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-08-10 15:55:39 +02:00
22ac2bca92
x86/platform/UV: Fix problem with UV4 BIOS providing incorrect PXM values
...
There are some circumstances where the UV4 BIOS cannot provide the
correct Proximity Node values to associate with specific Sockets and
Physical Nodes. The decision was made to remove these values from BIOS
and for the kernel to get these values from the standard ACPI tables.
Tested-by: Frank Ramsay <framsay@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Reviewed-by: Nathan Zimmer <nzimmer@sgi.com >
Cc: Alex Thorlton <athorlton@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160801184050.414210079@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-08-10 15:55:38 +02:00
054f621fd5
x86/platform/UV: Fix problem with UV4 Socket IDs not being contiguous
...
The UV4 Socket IDs are not guaranteed to equate to Node values which
can cause the GAM (Global Addressable Memory) table lookups to fail.
Fix this by using an independent index into the GAM table instead of
the Socket ID to reference the base address.
Tested-by: Frank Ramsay <framsay@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Reviewed-by: Nathan Zimmer <nzimmer@sgi.com >
Cc: Alex Thorlton <athorlton@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160801184050.048755337@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-08-10 15:55:38 +02:00
404f6aac9b
x86: Apply more __ro_after_init and const
...
Guided by grsecurity's analogous __read_only markings in arch/x86,
this applies several uses of __ro_after_init to structures that are
only updated during __init, and const for some structures that are
never updated. Additionally extends __init markings to some functions
that are only used during __init, and cleans up some missing C99 style
static initializers.
Signed-off-by: Kees Cook <keescook@chromium.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Andy Lutomirski <luto@kernel.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brad Spengler <spender@grsecurity.net >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: David Brown <david.brown@linaro.org >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: Emese Revfy <re.emese@gmail.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Josh Poimboeuf <jpoimboe@redhat.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Mathias Krause <minipli@googlemail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: PaX Team <pageexec@freemail.hu >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: kernel-hardening@lists.openwall.com
Link: http://lkml.kernel.org/r/20160808232906.GA29731@www.outflux.net
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-08-10 14:55:05 +02:00
aeb35d6b74
Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
...
Pull x86 header cleanups from Ingo Molnar:
"This tree is a cleanup of the x86 tree reducing spurious uses of
module.h - which should improve build performance a bit"
* 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86, crypto: Restore MODULE_LICENSE() to glue_helper.c so it loads
x86/apic: Remove duplicated include from probe_64.c
x86/ce4100: Remove duplicated include from ce4100.c
x86/headers: Include spinlock_types.h in x8664_ksyms_64.c for missing spinlock_t
x86/platform: Delete extraneous MODULE_* tags fromm ts5500
x86: Audit and remove any remaining unnecessary uses of module.h
x86/kvm: Audit and remove any unnecessary uses of module.h
x86/xen: Audit and remove any unnecessary uses of module.h
x86/platform: Audit and remove any unnecessary uses of module.h
x86/lib: Audit and remove any unnecessary uses of module.h
x86/kernel: Audit and remove any unnecessary uses of module.h
x86/mm: Audit and remove any unnecessary uses of module.h
x86: Don't use module.h just for AUTHOR / LICENSE tags
2016-08-01 14:23:42 -04:00
55392c4c06
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
...
Pull timer updates from Thomas Gleixner:
"This update provides the following changes:
- The rework of the timer wheel which addresses the shortcomings of
the current wheel (cascading, slow search for next expiring timer,
etc). That's the first major change of the wheel in almost 20
years since Finn implemted it.
- A large overhaul of the clocksource drivers init functions to
consolidate the Device Tree initialization
- Some more Y2038 updates
- A capability fix for timerfd
- Yet another clock chip driver
- The usual pile of updates, comment improvements all over the place"
* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (130 commits)
tick/nohz: Optimize nohz idle enter
clockevents: Make clockevents_subsys static
clocksource/drivers/time-armada-370-xp: Fix return value check
timers: Implement optimization for same expiry time in mod_timer()
timers: Split out index calculation
timers: Only wake softirq if necessary
timers: Forward the wheel clock whenever possible
timers/nohz: Remove pointless tick_nohz_kick_tick() function
timers: Optimize collect_expired_timers() for NOHZ
timers: Move __run_timers() function
timers: Remove set_timer_slack() leftovers
timers: Switch to a non-cascading wheel
timers: Reduce the CPU index space to 256k
timers: Give a few structs and members proper names
hlist: Add hlist_is_singular_node() helper
signals: Use hrtimer for sigtimedwait()
timers: Remove the deprecated mod_timer_pinned() API
timers, net/ipv4/inet: Initialize connection request timers as pinned
timers, drivers/tty/mips_ejtag: Initialize the poll timer as pinned
timers, drivers/tty/metag_da: Initialize the poll timer as pinned
...
2016-07-25 20:43:12 -07:00
102bb9fef6
x86/apic: Remove the unused struct apic::apic_id_mask field
...
The only user verify_local_APIC() had been removed by commit:
4399c03c67
("x86/apic: Remove verify_local_APIC()")
... so there is no need to keep it.
Signed-off-by: Wei Jiangang <weijg.fnst@cn.fujitsu.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: boris.ostrovsky@oracle.com
Cc: bsd@redhat.com
Cc: david.vrabel@citrix.com
Cc: jgross@suse.com
Cc: konrad.wilk@oracle.com
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/1468463046-20849-1-git-send-email-weijg.fnst@cn.fujitsu.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-07-15 10:39:05 +02:00
186f43608a
x86/kernel: Audit and remove any unnecessary uses of module.h
...
Historically a lot of these existed because we did not have
a distinction between what was modular code and what was providing
support to modules via EXPORT_SYMBOL and friends. That changed
when we forked out support for the latter into the export.h file.
This means we should be able to reduce the usage of module.h
in code that is obj-y Makefile or bool Kconfig. The advantage
in doing so is that module.h itself sources about 15 other headers;
adding significantly to what we feed cpp, and it can obscure what
headers we are effectively using.
Since module.h was the source for init.h (for __init) and for
export.h (for EXPORT_SYMBOL) we consider each obj-y/bool instance
for the presence of either and replace as needed. Build testing
revealed some implicit header usage that was fixed up accordingly.
Note that some bool/obj-y instances remain since module.h is
the header for some exception table entry stuff, and for things
like __init_or_module (code that is tossed when MODULES=n).
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160714001901.31603-4-paul.gortmaker@windriver.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-07-14 15:06:41 +02:00
920a4a70c5
timers, x86/apic/uv: Initialize the UV heartbeat timer as pinned
...
Pinned timers must carry the pinned attribute in the timer structure
itself, so convert the code to the new API.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arjan van de Ven <arjan@infradead.org >
Cc: Chris Mason <clm@fb.com >
Cc: Eric Dumazet <edumazet@google.com >
Cc: George Spelvin <linux@sciencehorizons.net >
Cc: Josh Triplett <josh@joshtriplett.org >
Cc: Len Brown <lenb@kernel.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Rik van Riel <riel@redhat.com >
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160704094341.133837204@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-07-07 10:25:14 +02:00
3cd0b53553
Merge branch 'x86/urgent' into x86/platform, to resolve conflict
...
Conflicts:
arch/x86/kernel/apic/x2apic_uv_x.c
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-05 09:56:10 +02:00
08914f436b
x86/platform/UV: Bring back the call to map_low_mmrs in uv_system_init
...
A while back the following commit:
d394f2d9d8
("x86/platform/UV: Remove EFI memmap quirk for UV2+")
changed uv_system_init() to only call map_low_mmrs() on older UV1 hardware,
which requires EFI_OLD_MEMMAP to be set in order to boot.
The recent changes to the EFI memory mapping code in:
d2f7cbe7b2
("x86/efi: Runtime services virtual mapping")
exposed some issues with the fact that we were relying on the EFI memory
mapping mechanisms to map in our MMRs for us, after commit d394f2d9d8
.
Rather than revert the entire commit and go back to forcing
EFI_OLD_MEMMAP on all UVs, we're going to add the call to map_low_mmrs()
back into uv_system_init(), and then fix up our EFI runtime calls to use
the appropriate page table.
For now, UV2+ will still need efi=old_map to boot, but there will be
other changes soon that should eliminate the need for this.
Signed-off-by: Alex Thorlton <athorlton@sgi.com >
Cc: Matt Fleming <matt@codeblueprint.co.uk >
Cc: Adam Buchbinder <adam.buchbinder@gmail.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Borislav Petkov <bp@suse.de >
Cc: Russ Anderson <rja@sgi.com >
Cc: Dimitri Sivanich <sivanich@sgi.com >
Link: http://lkml.kernel.org/r/1462401592-120735-1-git-send-email-athorlton@sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-05 09:55:02 +02:00
f68376fc9e
x86/platform/UV: Fix incorrect nodes and pnodes for cpuless and memoryless nodes
...
This patch fixes the problem of incorrect nodes and pnodes being returned
when referring to nodes that either have no cpus (AKA "headless") or no
memory.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Dimitri Sivanich <sivanich@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215406.192644884@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:51 +02:00
c85375cd19
x86/platform/UV: Update physical address conversions for UV4
...
This patch builds support for the new conversions of physical addresses
to and from sockets, pnodes and nodes in UV4. It is designed to be as
efficient as possible as lookups are done inside an interrupt context
in some cases. It will be further optimized when physical hardware is
available to measure execution time.
Tested-by: Dimitri Sivanich <sivanich@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215405.841051741@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:50 +02:00
6e27b91cf4
x86/platform/UV: Build GAM reference tables
...
An aspect of the UV4 system architecture changes involve changing the
way sockets, nodes, and pnodes are translated between one another.
Decode the information from the BIOS provided EFI system table to build
the needed conversion tables.
Tested-by: Dimitri Sivanich <sivanich@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215405.673495324@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:50 +02:00
1de329c10d
x86/platform/UV: Support UV4 socket address changes
...
With the UV4 system architecture addressing changes, BIOS now provides
this information via an EFI system table. This is the initial decoding
of that system table. It also collects the sizing information for
later allocation of dynamic conversion tables.
Tested-by: Dimitri Sivanich <sivanich@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215405.503022681@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:50 +02:00
405422d88c
x86/platform/UV: Add UV4 addressing discovery function
...
UV4 requires early system wide addressing values. This involves the use
of the CPUID instruction to obtain these values. The current function
(detect_extended_topology()) in the kernel has been copied and streamlined,
with the limitation that only CPU's used by UV architectures are supported.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215405.155660884@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:49 +02:00
906f3b20da
x86/platform/UV: Fold blade info into per node hub info structs
...
Migrate references from the blade info structs to the per node hub info
structs. This phases out the allocation of the list of per blade info
structs on node 0, in favor of a per node hub info struct allocated on
the node's local memory.
There are also some minor cosemetic changes in the comments and whitespace
to clean things up a bit.
Tested-by: Dimitri Sivanich <sivanich@sgi.com >
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215404.987204515@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:49 +02:00
3edcf2ff7a
x86/platform/UV: Allocate common per node hub info structs on local node
...
Allocate and setup per node hub info structs. CPU 0/Node 0 hub info
is statically allocated to be accessible early in system startup. The
remaining hub info structs are allocated on the node's local memory,
and shared among the CPU's on that node. This leaves the small amount
of info unique to each CPU in the per CPU info struct.
Memory is saved by combining the common per node info fields to common
node local structs. In addtion, since the info is read only only after
setup, it should stay in the L3 cache of the local processor socket.
This should therefore improve the cache hit rate when a group of cpus
on a node are all interrupted for a common task.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Reviewed-by: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215404.813051625@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:49 +02:00
5627a8251f
x86/platform/UV: Move blade local processor ID to the per cpu info struct
...
Move references to blade local processor ID to the new per cpu info
structs. Create an access function that makes this move, and other
potential moves opaque to callers of this function. Define a flag
that indicates to callers in external GPL modules that this function
replaces any local definition. This allows calling source code to be
built for both pre-UV4 kernels as well as post-UV4 kernels.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215404.644173122@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:49 +02:00
d38bb135d8
x86/platform/UV: Move scir info to the per cpu info struct
...
Change the references to the SCIR fields to the new per cpu info structs.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215404.452538234@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:49 +02:00
0045ddd23f
x86/platform/UV: Create per cpu info structs to replace per hub info structs
...
The major portion of the hub info is common to all cpus on that hub.
This is step one of moving the per cpu hub info to a per node hub info
struct. This patch creates the small per cpu info struct that will
contain only information specific to each CPU.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215404.282265563@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:48 +02:00
a2f28e6950
x86/platform/UV: Update MMIOH setup function to work for both UV3 and UV4
...
Since UV3 and UV4 MMIOH regions are setup the same, we can use a common
function to setup both.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215404.100504077@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:48 +02:00
b608f87fe8
x86/platform/UV: Clean up redunduncies after merge of UV4 MMR definitions
...
Clean up any redundancies caused by new UV4 MMR definitions superseding
any previously definitions local to functions.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Reviewed-by: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215403.934728974@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:48 +02:00
c443c03dd0
x86/platform/UV: Prep for UV4 MMR updates
...
Cleanup patch to rearrange code and modify some defines so the next
patch, the new UV4 MMR definitions can be merged cleanly.
* Clean up the M/N related address constants (M is # of address bits per
blade, N is the # of blade selection bits per SSI/partition).
* Fix the lookup of the alias overlay addresses and NMI definitions to
allow for flexibility in newer UV architecture types.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215403.401604203@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:47 +02:00
7563421b13
x86/platform/UV: Add UV MMR Illegal Access Function
...
This new function is generated by the UV MMR generation script to
identify MMR registers and fields that are not defined for a specific
UV architecture. With this switch, the immediate panic can be replaced
with a message and a bad return value allowing either hardware or the
emulator to diagnose the problem. It allows functions common to some
UV arches to use common defines that might not be fully defined for all
arches, as long as they do not reference them on the unsupported arches.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215403.231926687@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:47 +02:00
a0ec83f316
x86/platform/UV: Add UV4 Specific Defines
...
Add UV4 specific defines to determine if current system type is a
UV4 system.
Tested-by: John Estabrook <estabrook@sgi.com >
Tested-by: Gary Kroening <gfk@sgi.com >
Tested-by: Nathan Zimmer <nzimmer@sgi.com >
Signed-off-by: Mike Travis <travis@sgi.com >
Reviewed-by: Dimitri Sivanich <sivanich@sgi.com >
Cc: Andrew Banman <abanman@sgi.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Russ Anderson <rja@sgi.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160429215403.072323684@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-05-04 08:48:47 +02:00
f47ab81aca
x86/apic/uv: Fix the hotplug notifier
...
The notifier is missing the CPU_DOWN_FAILED transition. That leaves the
heartbeat disabled when CPU_DOWN_PREPARE fails.
It also does not handle the FROZEN transition variants. That might not be an
issue for UV, but it's inconsistent.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Dimitri Sivanich <sivanich@sgi.com >
2016-03-19 13:40:08 +01:00
6a6256f9e0
x86: Fix misspellings in comments
...
Signed-off-by: Adam Buchbinder <adam.buchbinder@gmail.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: trivial@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-02-24 08:44:58 +01:00
d394f2d9d8
x86/platform/UV: Remove EFI memmap quirk for UV2+
...
Commit a5d90c923b
("x86/efi: Quirk out SGI UV") added a quirk
to efi_apply_memmap_quirks to force SGI UV systems to fall back
to the old EFI memmap mechanism. We have a BIOS fix for this
issue on all systems except for UV1. This commit fixes up the
EFI quirk/MMR mapping code so that we only apply the special
case to UV1 hardware.
Signed-off-by: Alex Thorlton <athorlton@sgi.com >
Reviewed-by: Matt Fleming <matt@codeblueprint.co.uk >
Cc: Dimitri Sivanich <sivanich@sgi.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Hedi Berriche <hedi@sgi.com >
Cc: Len Brown <len.brown@intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Mike Travis <travis@sgi.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/1449867585-189233-2-git-send-email-athorlton@sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-01-19 11:58:56 +01:00
8642ea953d
x86/apic: Wire up single IPI for x2apic_uv
...
The function already exists.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@kernel.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Borislav Petkov <bp@alien.de >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Travis <travis@sgi.com >
Cc: Daniel J Blueman <daniel@numascale.com >
Link: http://lkml.kernel.org/r/20151104220849.376775625@linutronix.de
2015-11-05 13:07:53 +01:00
656bba3068
x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted
...
Both the per-APIC flag ".wait_for_init_deassert",
and the global atomic_t "init_deasserted"
are dead code -- remove them.
For all APIC types, "wait_for_master()"
prevents an AP from proceeding until the BSP has set
cpu_callout_mask, making "init_deasserted" {unnecessary}:
BSP: <de-assert INIT>
...
BSP: {set init_deasserted}
AP: wait_for_master()
set cpu_initialized_mask
wait for cpu_callout_mask
BSP: test cpu_initialized_mask
BSP: set cpu_callout_mask
AP: test cpu_callout_mask
AP: {wait for init_deasserted}
...
AP: <touch APIC>
Deleting the {dead code} above is necessary to enable
some parallelism in a future patch.
Signed-off-by: Len Brown <len.brown@intel.com >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Arjan van de Ven <arjan@linux.intel.com >
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Dave Hansen <dave.hansen@linux.intel.com >
Cc: Igor Mammedov <imammedo@redhat.com >
Cc: Jan H. Schönherr <jschoenh@amazon.de >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Zhu Guihua <zhugh.fnst@cn.fujitsu.com >
Link: http://lkml.kernel.org/r/de4b3a9bab894735e285870b5296da25ee6a8a5a.1439739165.git.len.brown@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-08-17 10:42:28 +02:00
1912c7afa3
x86/apic/uv: Update the UV APIC HUB check
...
Update the check for UV2000/3000. Note when the HUB is not recognized.
Signed-off-by: Mike Travis <travis@sgi.com >
Acked-by: Hedi Berriche <hedi@sgi.com >
Acked-by: Dimitri Sivanich <sivanich@sgi.com >
Link: http://lkml.kernel.org/r/20150409182629.267239403@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-04-10 10:16:08 +02:00
379b97e280
x86/apic/uv: Update the UV APIC driver check
...
Fix a bug in the OEM check function that determines if the
system is a UV system and the BIOS is compatible with the
kernel's UV apic driver. This prevents some possibly obscure
panics and guards the system against being started on SGI
hardware that does not have the required kernel support.
Signed-off-by: Mike Travis <travis@sgi.com >
Acked-by: Hedi Berriche <hedi@sgi.com >
Acked-by: Dimitri Sivanich <sivanich@sgi.com >
Link: http://lkml.kernel.org/r/20150409182629.112998930@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-04-10 10:16:07 +02:00
7a4e017041
x86/apic/uv: Update the APIC UV OEM check
...
Optimize the first "SGI" OEM check to return faster if the
system is not an SGI or UV system.
Signed-off-by: Mike Travis <travis@sgi.com >
Acked-by: Hedi Berriche <hedi@sgi.com >
Acked-by: Dimitri Sivanich <sivanich@sgi.com >
Link: http://lkml.kernel.org/r/20150409182628.952357922@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-04-10 10:16:07 +02:00
77654908ff
Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
...
Pull x86 ras, uv and vdso fixlets from Ingo Molnar:
"ras: tone down a kernel message to only occur during initial bootup,
not during suspend/resume cycles.
uv: a cleanup commit
vdso: a fix to error checking"
* 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mce: Avoid showing repetitive message from intel_init_thermal()
* 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/apic/uv: Remove unnecessary #ifdef
* 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/vdso: Fix vdso2c's special_pages[] error checking
2014-10-14 02:31:22 +02:00
8091c1f8ea
x86/apic/uv: Remove unnecessary #ifdef
...
In the file x2apic_uv_x.c, some code is compiled conditionally
depending on CONFIG_SMP. However, the file is only built, if
CONFIG_X86_UV is enabled.
CONFIG_X86_UV depends on CONFIG_NUMA, which itself depends on
CONFIG_SMP, so the #ifdef will always evaluate to true, if the
file is compiled. Thus, it is unnecessary and can be removed.
Signed-off-by: Andreas Ruprecht <rupran@einserver.de >
Cc: David Rientjes <rientjes@google.com >
Cc: Dimitri Sivanich <sivanich@sgi.com >
Cc: Hedi Berriche <hedi@sgi.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Mike Travis <travis@sgi.com >
Cc: Russ Anderson <rja@sgi.com >
Link: http://lkml.kernel.org/r/1408522561-23389-1-git-send-email-rupran@einserver.de
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-08-20 15:05:30 +02:00
2f078b9cb8
x86, apic: Remove enable_apic_mode callback
...
The enable_apic_mode() apic callback is never called, so remove it.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302352320.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:44 -07:00
11a8318ef5
x86, apic: Remove setup_portio_remap callback
...
Since commit b5660ba76b
("x86, platforms: Remove NUMAQ") removed NUMAQ,
the setup_portio_remap() apic callback has been obsolete. Remove it.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302351480.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:44 -07:00
e76661ba09
x86, apic: Remove multi_timer_check callback
...
Since commit b5660ba76b
("x86, platforms: Remove NUMAQ") removed NUMAQ,
the multi_timer_check() apic callback has been obsolete. Remove it.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302351120.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:43 -07:00
658ffd7e6f
x86, apic: Remove check_apicid_present callback
...
The check_apicid_present() apic callback is never called, so remove it
and functions that implement it.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302350160.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:42 -07:00
c460b5d340
x86, apic: Remove mps_oem_check callback
...
Since commit b5660ba76b
("x86, platforms: Remove NUMAQ") removed NUMAQ,
the mps_oem_check() apic callback has been obsolete. Remove it.
This allows generic_mps_oem_check() to be removed as well.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302349390.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:42 -07:00
300eddf967
x86, apic: Remove smp_callin_clear_local_apic callback
...
Since commit b5660ba76b
("x86, platforms: Remove NUMAQ") removed NUMAQ,
the smp_callin_clear_local_apic() apic callback has been obsolete.
Remove it.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302349040.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:41 -07:00
6ab1b27c84
x86, apic: Replace trampoline physical addresses with defaults
...
The trampoline_phys_{high,low} members of struct apic are always
initialized to DEFAULT_TRAMPOLINE_PHYS_HIGH and TRAMPOLINE_PHYS_LOW,
respectively. Hardwire the constants and remove the unneeded members.
Signed-off-by: David Rientjes <rientjes@google.com >
Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1407302348330.17503@chino.kir.corp.google.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2014-07-31 08:05:41 -07:00
5f40f7d938
x86/UV: Set n_lshift based on GAM_GR_CONFIG MMR for UV3
...
The value of n_lshift for UV is currently set based on the
socket m_val.
For UV3, set the n_lshift value based on the GAM_GR_CONFIG MMR.
This will allow bios to control the n_lshift value independent
of the socket m_val. Then n_lshift can be assigned a fixed value
across a multi-partition system, allowing for a fixed common
global physical address format that is independent of socket
m_val.
Cleanup unneeded macros.
Signed-off-by: Dimitri Sivanich <sivanich@sgi.com >
Link: http://lkml.kernel.org/r/20140331143700.GB29916@sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-04-01 12:10:44 +02:00