linux_dsm_epyc7002/arch/mips/cavium-octeon
Yinghai Lu ac2cbab21f x86: Don't panic if can not alloc buffer for swiotlb
Normal boot path on system with iommu support:
swiotlb buffer will be allocated early at first and then try to initialize
iommu, if iommu for intel or AMD could setup properly, swiotlb buffer
will be freed.

The early allocating is with bootmem, and could panic when we try to use
kdump with buffer above 4G only, or with memmap to limit mem under 4G.
for example: memmap=4095M$1M to remove memory under 4G.

According to Eric, add _nopanic version and no_iotlb_memory to fail
map single later if swiotlb is still needed.

-v2: don't pass nopanic, and use -ENOMEM return value according to Eric.
     panic early instead of using swiotlb_full to panic...according to Eric/Konrad.
-v3: make swiotlb_init to be notpanic, but will affect:
     arm64, ia64, powerpc, tile, unicore32, x86.
-v4: cleanup swiotlb_init by removing swiotlb_init_with_default_size.

Suggested-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1359058816-7615-36-git-send-email-yinghai@kernel.org
Reviewed-and-tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Cc: linux-mips@linux-mips.org
Cc: xen-devel@lists.xensource.com
Cc: virtualization@lists.linux-foundation.org
Cc: Shuah Khan <shuahkhan@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-01-29 19:36:53 -08:00
..
executive MIPS: Octeon: Add kexec and kdump support 2012-12-13 17:00:39 +01:00
.gitignore MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
cpu.c MIPS: Octeon: Place cnmips_cu2_setup in __init memory. 2010-10-04 18:34:00 +01:00
csrc-octeon.c MIPS: Octeon: Add octeon_io_clk_delay() function. 2012-08-31 11:48:48 -07:00
dma-octeon.c x86: Don't panic if can not alloc buffer for swiotlb 2013-01-29 19:36:53 -08:00
flash_setup.c mips/octeon: 16-Bit NOR flash was not being detected during boot 2012-11-09 11:37:16 +01:00
Kconfig MIPS: Cavium: Fix duplicate ARCH_SPARSEMEM_ENABLE in kconfig. 2012-07-19 11:23:43 +02:00
Makefile kbuild: centralize .dts->.dtb rule 2012-11-30 10:52:19 -06:00
octeon_3xxx.dts MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
octeon_68xx.dts MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
octeon_boot.h MIPS: Octeon: HOTPLUG_CPU fixes. 2010-08-05 13:26:12 +01:00
octeon-irq.c MIPS/OCTEON/ata: Convert pata_octeon_cf.c to use device tree. 2012-12-13 18:15:24 +01:00
octeon-memcpy.S MIPS: Octeon: Simplify code by assuming CONFIG_64BIT is always set. 2012-12-12 16:52:06 +01:00
octeon-platform.c MIPS/OCTEON/ata: Convert pata_octeon_cf.c to use device tree. 2012-12-13 18:15:24 +01:00
Platform MIPS: Octeon: Migrate to new platform makefile style. 2010-08-05 13:25:54 +01:00
serial.c MIPS: drivers: remove __dev* attributes. 2013-01-03 15:57:09 -08:00
setup.c MIPS/EDAC: Improve OCTEON EDAC support. 2012-12-13 18:15:26 +01:00
smp.c MIPS: Octeon: delay enable irq to ->smp_finish() 2012-07-19 11:23:44 +02:00