linux/arch/x86/xen
Juergen Gross 8f5b0c6398 xen: eliminate scalability issues from initial mapping setup
Direct Xen to place the initial P->M table outside of the initial
mapping, as otherwise the 1G (implementation) / 2G (theoretical)
restriction on the size of the initial mapping limits the amount
of memory a domain can be handed initially.

As the initial P->M table is copied rather early during boot to
domain private memory and it's initial virtual mapping is dropped,
the easiest way to avoid virtual address conflicts with other
addresses in the kernel is to use a user address area for the
virtual address of the initial P->M table. This allows us to just
throw away the page tables of the initial mapping after the copy
without having to care about address invalidation.

It should be noted that this patch won't enable a pv-domain to USE
more than 512 GB of RAM. It just enables it to be started with a
P->M table covering more memory. This is especially important for
being able to boot a Dom0 on a system with more than 512 GB memory.

Signed-off-by: Juergen Gross <jgross@suse.com>
Based-on-patch-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2015-08-20 12:24:18 +01:00
..
apic.c x86/xen/apic: WARN with details. 2015-03-16 14:49:14 +00:00
debugfs.c debugfs: Add support to print u32 array in debugfs 2012-04-17 00:18:36 -04:00
debugfs.h debugfs: Add support to print u32 array in debugfs 2012-04-17 00:18:36 -04:00
efi.c xen/efi: Directly include needed headers 2014-09-23 13:36:20 +00:00
enlighten.c x86/xen: Probe target addresses in set_aliased_prot() before the hypercall 2015-07-31 10:23:22 +02:00
grant-table.c x86/xen: use vmap() to map grant table pages in PVH guests 2014-08-11 11:59:35 +01:00
irq.c asmlinkage, x86: Add explicit __visible to arch/x86/* 2014-05-05 16:07:44 -07:00
Kconfig Support PCI devices with multiple MSIs, performance improvement for 2014-04-03 14:01:37 -07:00
Makefile x86/xen: build "Xen PV" APIC driver for domU as well 2015-08-10 15:33:10 +01:00
mmu.c xen: eliminate scalability issues from initial mapping setup 2015-08-20 12:24:18 +01:00
mmu.h xen: make a pile of mmu pvop functions static 2011-05-20 14:25:24 -07:00
multicalls.c x86: Replace __get_cpu_var uses 2014-08-26 13:45:49 -04:00
multicalls.h xen: use this_cpu_xxx replace percpu_xxx funcs 2012-01-24 12:20:24 -05:00
p2m.c xen: don't build mfn tree if tools don't need it 2015-08-20 12:24:17 +01:00
p2m.h xen/setup: Remap Xen Identity Mapped RAM 2014-09-23 13:36:18 +00:00
pci-swiotlb-xen.c pci-swiotlb-xen: call pci_request_acs only ifdef CONFIG_PCI 2013-11-08 15:21:44 -05:00
platform-pci-unplug.c x86/xen: fix non-ANSI declaration of xen_has_pv_devices() 2015-08-20 12:24:13 +01:00
setup.c xen: eliminate scalability issues from initial mapping setup 2015-08-20 12:24:18 +01:00
smp.c Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-04-14 13:36:04 -07:00
smp.h x86/xen: Set EFER.NX and EFER.SCE in PVH guests 2014-10-06 10:27:47 +01:00
spinlock.c locking/pvqspinlock: Rename QUEUED_SPINLOCK to QUEUED_SPINLOCKS 2015-05-11 09:52:09 +02:00
suspend.c xen: Suspend ticks on all CPUs during suspend 2015-04-29 17:10:05 +01:00
time.c x86/xen: prefer TSC over xen clocksource for dom0 2015-01-20 18:44:24 +00:00
trace.c xen: use generated hypervisor symbols in arch/x86/xen/trace.c 2015-03-16 14:49:13 +00:00
vdso.h
vga.c xen/vga: add the xen EFI video mode support 2012-09-24 09:28:57 -04:00
xen-asm_32.S x86/xen: Fix 32-bit PV guests's usage of kernel_stack 2014-04-15 15:00:14 +01:00
xen-asm_64.S x86/asm/entry: Untangle 'system_call' into two entry points: entry_SYSCALL_64 and entry_INT80_32 2015-06-08 09:14:21 +02:00
xen-asm.h
xen-asm.S xen: correctly check for pending events when restoring irq flags 2012-04-27 16:04:21 -04:00
xen-head.S xen: eliminate scalability issues from initial mapping setup 2015-08-20 12:24:18 +01:00
xen-ops.h xen: bug fixes for 4.2-rc6 2015-08-13 13:36:22 -07:00