Commit fd261590 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branches 'core-objtool-for-linus', 'x86-cleanups-for-linus' and...

Merge branches 'core-objtool-for-linus', 'x86-cleanups-for-linus' and 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 objtool, cleanup, and apic updates from Ingo Molnar:
 "Objtool:

   - Fix a gawk 5.0 incompatibility in gen-insn-attr-x86.awk. Most
     distros are still on gawk 4.2.x.

  Cleanup:

   - Misc cleanups, plus the removal of obsolete code such as Calgary
     IOMMU support, which code hasn't seen any real testing in a long
     time and there's no known users left.

  apic:

   - Two changes: a cleanup and a fix for an (old) race for oneshot
     threaded IRQ handlers"

* 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/insn: Fix awk regexp warnings

* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86: Remove unused asm/rio.h
  x86: Fix typos in comments
  x86/pci: Remove #ifdef __KERNEL__ guard from <asm/pci.h>
  x86/pci: Remove pci_64.h
  x86: Remove the calgary IOMMU driver
  x86/apic, x86/uprobes: Correct parameter names in kernel-doc comments
  x86/kdump: Remove the unused crash_copy_backup_region()
  x86/nmi: Remove stale EDAC include leftover

* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/ioapic: Rename misnamed functions
  x86/ioapic: Prevent inconsistent state when moving an interrupt
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -3649,16 +3649,6 @@ L: cake@lists.bufferbloat.net (moderated for non-subscribers)
S:	Maintained
F:	net/sched/sch_cake.c
CALGARY x86-64 IOMMU
M:	Muli Ben-Yehuda <mulix@mulix.org>
M:	Jon Mason <jdmason@kudzu.us>
L:	iommu@lists.linux-foundation.org
S:	Maintained
F:	arch/x86/kernel/pci-calgary_64.c
F:	arch/x86/kernel/tce_64.c
F:	arch/x86/include/asm/calgary.h
F:	arch/x86/include/asm/tce.h
CAN NETWORK DRIVERS
M:	Wolfgang Grandegger <wg@grandegger.com>
M:	Marc Kleine-Budde <mkl@pengutronix.de>
+0 −30
Original line number Diff line number Diff line
@@ -932,36 +932,6 @@ config GART_IOMMU

	  If unsure, say Y.

config CALGARY_IOMMU
	bool "IBM Calgary IOMMU support"
	select IOMMU_HELPER
	select SWIOTLB
	depends on X86_64 && PCI
	---help---
	  Support for hardware IOMMUs in IBM's xSeries x366 and x460
	  systems. Needed to run systems with more than 3GB of memory
	  properly with 32-bit PCI devices that do not support DAC
	  (Double Address Cycle). Calgary also supports bus level
	  isolation, where all DMAs pass through the IOMMU.  This
	  prevents them from going anywhere except their intended
	  destination. This catches hard-to-find kernel bugs and
	  mis-behaving drivers and devices that do not use the DMA-API
	  properly to set up their DMA buffers.  The IOMMU can be
	  turned off at boot time with the iommu=off parameter.
	  Normally the kernel will make the right choice by itself.
	  If unsure, say Y.

config CALGARY_IOMMU_ENABLED_BY_DEFAULT
	def_bool y
	prompt "Should Calgary be enabled by default?"
	depends on CALGARY_IOMMU
	---help---
	  Should Calgary be enabled by default? if you choose 'y', Calgary
	  will be used (if it exists). If you choose 'n', Calgary will not be
	  used even if it exists. If you choose 'n' and would like to use
	  Calgary anyway, pass 'iommu=calgary' on the kernel command line.
	  If unsure, say Y.

config MAXSMP
	bool "Enable Maximum number of SMP Processors and NUMA Nodes"
	depends on X86_64 && SMP && DEBUG_KERNEL
+0 −1
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_SMP=y
CONFIG_CALGARY_IOMMU=y
CONFIG_NR_CPUS=64
CONFIG_SCHED_SMT=y
CONFIG_PREEMPT_VOLUNTARY=y

arch/x86/include/asm/calgary.h

deleted100644 → 0
+0 −57
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Derived from include/asm-powerpc/iommu.h
 *
 * Copyright IBM Corporation, 2006-2007
 *
 * Author: Jon Mason <jdmason@us.ibm.com>
 * Author: Muli Ben-Yehuda <muli@il.ibm.com>
 */

#ifndef _ASM_X86_CALGARY_H
#define _ASM_X86_CALGARY_H

#include <linux/spinlock.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/timer.h>
#include <asm/types.h>

struct iommu_table {
	const struct cal_chipset_ops *chip_ops; /* chipset specific funcs */
	unsigned long  it_base;      /* mapped address of tce table */
	unsigned long  it_hint;      /* Hint for next alloc */
	unsigned long *it_map;       /* A simple allocation bitmap for now */
	void __iomem  *bbar;         /* Bridge BAR */
	u64	       tar_val;      /* Table Address Register */
	struct timer_list watchdog_timer;
	spinlock_t     it_lock;      /* Protects it_map */
	unsigned int   it_size;      /* Size of iommu table in entries */
	unsigned char  it_busno;     /* Bus number this table belongs to */
};

struct cal_chipset_ops {
	void (*handle_quirks)(struct iommu_table *tbl, struct pci_dev *dev);
	void (*tce_cache_blast)(struct iommu_table *tbl);
	void (*dump_error_regs)(struct iommu_table *tbl);
};

#define TCE_TABLE_SIZE_UNSPECIFIED	~0
#define TCE_TABLE_SIZE_64K		0
#define TCE_TABLE_SIZE_128K		1
#define TCE_TABLE_SIZE_256K		2
#define TCE_TABLE_SIZE_512K		3
#define TCE_TABLE_SIZE_1M		4
#define TCE_TABLE_SIZE_2M		5
#define TCE_TABLE_SIZE_4M		6
#define TCE_TABLE_SIZE_8M		7

extern int use_calgary;

#ifdef CONFIG_CALGARY_IOMMU
extern int detect_calgary(void);
#else
static inline int detect_calgary(void) { return -ENODEV; }
#endif

#endif /* _ASM_X86_CALGARY_H */
+0 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
#define _ASM_X86_CRASH_H

int crash_load_segments(struct kimage *image);
int crash_copy_backup_region(struct kimage *image);
int crash_setup_memmap_entries(struct kimage *image,
		struct boot_params *params);
void crash_smp_send_stop(void);
Loading