lineage_android_kernel_xiao.../arch/sparc/kernel
Jane Chu 04ac452dad arch/sparc: support NR_CPUS = 4096
[ Upstream commit c79a13734d104b5b147d7cb0870276ccdd660dae ]

Linux SPARC64 limits NR_CPUS to 4064 because init_cpu_send_mondo_info()
only allocates a single page for NR_CPUS mondo entries. Thus we cannot
use all 4096 CPUs on some SPARC platforms.

To fix, allocate (2^order) pages where order is set according to the size
of cpu_list for possible cpus. Since cpu_list_pa and cpu_mondo_block_pa
are not used in asm code, there are no imm13 offsets from the base PA
that will break because they can only reach one page.

Orabug: 25505750

Signed-off-by: Jane Chu <jane.chu@oracle.com>

Reviewed-by: Bob Picco <bob.picco@oracle.com>
Reviewed-by: Atish Patra <atish.patra@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 15:05:54 +02:00
..
.gitignore
Makefile sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
apc.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
asm-offsets.c
audit.c sparc: Convert naked unsigned uses to unsigned int 2016-03-20 21:28:58 -07:00
auxio_32.c
auxio_64.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
btext.c
central.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
cherrs.S sparc64: Fix bootup regressions on some Kconfig combinations. 2016-04-27 17:27:37 -04:00
chmc.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
compat_audit.c sparc: Convert naked unsigned uses to unsigned int 2016-03-20 21:28:58 -07:00
cpu.c sparc64: recognize and support Sonoma CPU type 2016-04-21 16:43:47 -04:00
cpumap.c sparc64: recognize and support Sonoma CPU type 2016-04-21 16:43:47 -04:00
cpumap.h
devices.c
dma.c
ds.c
dtlb_miss.S
dtlb_prot.S sparc: Don't leak context bits into thread->fault_address 2016-07-27 17:50:26 -07:00
ebus.c
entry.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
entry.h sparc: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE 2015-05-31 22:15:01 -07:00
etrap_32.S
etrap_64.S
fpu_traps.S sparc64: Fix bootup regressions on some Kconfig combinations. 2016-04-27 17:27:37 -04:00
ftrace.c sparc/ftrace: Fix ftrace graph time measurement 2017-06-07 12:07:46 +02:00
getsetcc.S
head_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
head_64.S sparc64: fix fault handling in NGbzero.S and GENbzero.S 2017-05-14 14:00:20 +02:00
helpers.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
hvapi.c sparc64: Add ATU (new IOMMU) support 2016-11-18 11:16:59 -08:00
hvcalls.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
hvtramp.S sparc64: Fix register corruption in top-most kernel stack frame during boot. 2014-10-24 09:52:49 -07:00
idprom.c net: Add eth_platform_get_mac_address() helper. 2016-01-06 16:31:56 -05:00
iommu.c sparc64: Enable 64-bit DMA 2016-11-18 11:17:00 -08:00
iommu_common.h sparc: drop duplicate header scatterlist.h 2016-11-19 10:43:07 -05:00
ioport.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
irq.h
irq_32.c sparc32: off by ones in BUG_ON() 2016-07-27 22:53:17 -07:00
irq_64.c arch/sparc: support NR_CPUS = 4096 2017-06-14 15:05:54 +02:00
itlb_miss.S
ivec.S
jump_label.c sparc: Handle negative offsets in arch_jump_label_transform 2016-10-25 19:11:17 -07:00
kernel.h sparc64: delete old wrap code 2017-06-14 15:05:54 +02:00
kgdb_32.c sparc32: use proper prototype for trapbase 2016-05-20 17:55:41 -07:00
kgdb_64.c
kprobes.c sparc: migrate exception table users off module.h and onto extable.h 2016-10-06 01:42:30 -04:00
kstack.h
ktlb.S sparc: Don't leak context bits into thread->fault_address 2016-07-27 17:50:26 -07:00
ldc.c iommu-common: Fix error code used in iommu_tbl_range_{alloc,free}(). 2015-11-04 11:30:57 -08:00
led.c
leon_kernel.c sparc: Fix misspellings in comments. 2016-03-20 21:28:58 -07:00
leon_pci.c PCI: Cleanup control flow 2015-03-19 10:17:22 -05:00
leon_pci_grpci1.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
leon_pci_grpci2.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
leon_pmc.c
leon_smp.c sparc32, leon: Align ccall_info to prevent unaligned traps on crosscall 2014-12-11 18:51:56 -08:00
mdesc.c sparc64: Setup a scheduling domain for highest level cache. 2016-10-24 11:04:17 -07:00
misctrap.S sparc64: Fix bootup regressions on some Kconfig combinations. 2016-04-27 17:27:37 -04:00
module.c mm: vmalloc: pass additional vm_flags to __vmalloc_node_range() 2015-02-13 21:21:42 -08:00
nmi.c
of_device_32.c
of_device_64.c
of_device_common.c
of_device_common.h
pci.c sparc/PCI: Implement pci_resource_to_user() with pcibios_resource_to_bus() 2016-06-17 14:45:03 -05:00
pci_common.c sparc/PCI: Add mem64 resource parsing for root bus 2015-10-29 17:35:46 -05:00
pci_fire.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
pci_impl.h sparc/PCI: Add mem64 resource parsing for root bus 2015-10-29 17:35:46 -05:00
pci_msi.c PCI/MSI: Rename mask/unmask_msi_irq treewide 2014-11-23 13:01:45 +01:00
pci_psycho.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
pci_sabre.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
pci_schizo.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pci_sun4v.c sparc64: Enable sun4v dma ops to use IOMMU v2 APIs 2016-11-18 11:17:00 -08:00
pci_sun4v.h sparc64: Enable sun4v dma ops to use IOMMU v2 APIs 2016-11-18 11:17:00 -08:00
pci_sun4v_asm.S sparc64: Enable sun4v dma ops to use IOMMU v2 APIs 2016-11-18 11:17:00 -08:00
pcic.c PCI: Assign resources before drivers claim devices (pci_scan_bus()) 2015-03-12 15:04:01 -05:00
pcr.c sparc: perf: Add support M7 processor 2015-03-19 18:54:49 -07:00
perf_event.c perf core: Add a 'nr' field to perf_event_callchain_context 2016-05-16 23:11:51 -03:00
pmc.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
power.c sparc: kernel: drop owner assignment from platform_drivers 2014-10-20 16:20:15 +02:00
process_32.c exit_thread: accept a task parameter to be exited 2016-05-20 17:58:30 -07:00
process_64.c nmi_backtrace: add more trigger_*_cpu_backtrace() methods 2016-10-07 18:46:30 -07:00
prom.h
prom_32.c
prom_64.c
prom_common.c
prom_irqtrans.c
psycho_common.c
psycho_common.h
ptrace_32.c
ptrace_64.c sparc/ptrace: Preserve previous registers for short regset write 2017-03-31 10:31:46 +02:00
reboot.c
rtrap_32.S
rtrap_64.S sparc64: Fix return from trap window fill crashes. 2016-05-29 18:55:54 -07:00
sbus.c
setup_32.c sparc32: use proper prototype for trapbase 2016-05-20 17:55:41 -07:00
setup_64.c sparc64: Fix irq stack bootmem allocation. 2016-09-28 08:24:03 -07:00
signal32.c sparc: Harden signal return frame checks. 2016-05-29 11:24:05 -07:00
signal_32.c sparc32: Fix inverted invalid_frame_pointer checks on sigreturns 2016-11-10 16:47:38 -08:00
signal_64.c sparc: Harden signal return frame checks. 2016-05-29 11:24:05 -07:00
sigutil.h
sigutil_32.c sparc: Harden signal return frame checks. 2016-05-29 11:24:05 -07:00
sigutil_64.c sparc: Harden signal return frame checks. 2016-05-29 11:24:05 -07:00
smp_32.c cpu/hotplug: Remove CPU_STARTING and CPU_DYING notifier 2016-09-06 18:30:19 +02:00
smp_64.c sparc64: delete old wrap code 2017-06-14 15:05:54 +02:00
sparc_ksyms.c sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
spiterrs.S sparc64: Fix bootup regressions on some Kconfig combinations. 2016-04-27 17:27:37 -04:00
sstate.c
stacktrace.c
starfire.c arch: sparc: kernel: starfire.c: Remove unused function 2015-03-01 21:33:58 -08:00
sun4d_irq.c sparc/irq: Use helper irq_data_get_irq_handler_data() 2015-07-31 22:20:05 +02:00
sun4d_smp.c
sun4m_irq.c sparc/irq: Use helper irq_data_get_irq_handler_data() 2015-07-31 22:20:05 +02:00
sun4m_smp.c sparc/time: Migrate to new 'set-state' interface 2015-08-10 11:41:05 +02:00
sun4v_ivec.S
sun4v_tlb_miss.S
sys32.S
sys_sparc32.c
sys_sparc_32.c
sys_sparc_64.c sparc: Convert naked unsigned uses to unsigned int 2016-03-20 21:28:58 -07:00
syscalls.S sparc: Fix system call tracing register handling. 2016-01-21 16:06:00 -08:00
sysfs.c sparc: Fix misspellings in comments. 2016-03-20 21:28:58 -07:00
systbls.h
systbls_32.S sparc: Write up preadv2/pwritev2 syscalls. 2016-03-29 18:39:26 -07:00
systbls_64.S sparc: Write up preadv2/pwritev2 syscalls. 2016-03-29 18:39:26 -07:00
time_32.c sparc/time: Migrate to new 'set-state' interface 2015-08-10 11:41:05 +02:00
time_64.c sparc/time: Migrate to new 'set-state' interface 2015-08-10 11:41:05 +02:00
trampoline_32.S
trampoline_64.S sparc64: Fix register corruption in top-most kernel stack frame during boot. 2014-10-24 09:52:49 -07:00
traps_32.c sparc: Remove signal translation and exec_domain 2015-04-12 21:03:21 +02:00
traps_64.c sparc: migrate exception table users off module.h and onto extable.h 2016-10-06 01:42:30 -04:00
tsb.S sparc64: mm: fix copy_tsb to correctly copy huge page TSBs 2017-06-14 15:05:53 +02:00
ttable_32.S
ttable_64.S sparc64: delete old wrap code 2017-06-14 15:05:54 +02:00
una_asm_32.S
una_asm_64.S
unaligned_32.c
unaligned_64.c sparc: migrate exception table users off module.h and onto extable.h 2016-10-06 01:42:30 -04:00
urtt_fill.S sparc64: Fix return from trap window fill crashes. 2016-05-29 18:55:54 -07:00
utrap.S sparc64: Fix bootup regressions on some Kconfig combinations. 2016-04-27 17:27:37 -04:00
vio.c sparc: Machine description indices can vary 2017-06-14 15:05:53 +02:00
viohs.c sparc: VIO protocol version 1.6 2014-09-30 14:17:08 -07:00
visemul.c
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
windows.c
winfixup.S sparc64: Fix bootup regressions on some Kconfig combinations. 2016-04-27 17:27:37 -04:00
wof.S
wuf.S