]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - arch/arm64/Kconfig
arm64: Add architectural support for PCI
[mirror_ubuntu-zesty-kernel.git] / arch / arm64 / Kconfig
index 839f48c26ef0291019126df3213afcc656e1d0c4..bc97147d326c46367764cd8b5dbc0045e25e9c52 100644 (file)
@@ -1,7 +1,7 @@
 config ARM64
        def_bool y
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
-       select ARCH_HAS_OPP
+       select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_USE_CMPXCHG_LOCKREF
        select ARCH_SUPPORTS_ATOMIC_RMW
@@ -11,6 +11,8 @@ config ARM64
        select ARM_AMBA
        select ARM_ARCH_TIMER
        select ARM_GIC
+       select AUDIT_ARCH_COMPAT_GENERIC
+       select ARM_GIC_V3
        select BUILDTIME_EXTABLE_SORT
        select CLONE_BACKWARDS
        select COMMON_CLK
@@ -29,10 +31,12 @@ config ARM64
        select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
        select HARDIRQS_SW_RESEND
+       select HAVE_ARCH_AUDITSYSCALL
        select HAVE_ARCH_JUMP_LABEL
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_TRACEHOOK
        select HAVE_C_RECORDMCOUNT
+       select HAVE_CC_STACKPROTECTOR
        select HAVE_DEBUG_BUGVERBOSE
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_API_DEBUG
@@ -63,6 +67,7 @@ config ARM64
        select RTC_LIB
        select SPARSE_IRQ
        select SYSCTL_EXCEPTION_TRACE
+       select HAVE_CONTEXT_TRACKING
        help
          ARM 64-bit (AArch64) Linux support.
 
@@ -76,7 +81,7 @@ config MMU
        def_bool y
 
 config NO_IOPORT_MAP
-       def_bool y
+       def_bool y if !PCI
 
 config STACKTRACE_SUPPORT
        def_bool y
@@ -151,18 +156,87 @@ menu "Bus support"
 config ARM_AMBA
        bool
 
+config PCI
+       bool "PCI support"
+       help
+         This feature enables support for PCI bus system. If you say Y
+         here, the kernel will include drivers and infrastructure code
+         to support PCI bus devices.
+
+config PCI_DOMAINS
+       def_bool PCI
+
+config PCI_DOMAINS_GENERIC
+       def_bool PCI
+
+config PCI_SYSCALL
+       def_bool PCI
+
+source "drivers/pci/Kconfig"
+source "drivers/pci/pcie/Kconfig"
+source "drivers/pci/hotplug/Kconfig"
+
 endmenu
 
 menu "Kernel Features"
 
+choice
+       prompt "Page size"
+       default ARM64_4K_PAGES
+       help
+         Page size (translation granule) configuration.
+
+config ARM64_4K_PAGES
+       bool "4KB"
+       help
+         This feature enables 4KB pages support.
+
 config ARM64_64K_PAGES
-       bool "Enable 64KB pages support"
+       bool "64KB"
        help
          This feature enables 64KB pages support (4KB by default)
          allowing only two levels of page tables and faster TLB
          look-up. AArch32 emulation is not available when this feature
          is enabled.
 
+endchoice
+
+choice
+       prompt "Virtual address space size"
+       default ARM64_VA_BITS_39 if ARM64_4K_PAGES
+       default ARM64_VA_BITS_42 if ARM64_64K_PAGES
+       help
+         Allows choosing one of multiple possible virtual address
+         space sizes. The level of translation table is determined by
+         a combination of page size and virtual address space size.
+
+config ARM64_VA_BITS_39
+       bool "39-bit"
+       depends on ARM64_4K_PAGES
+
+config ARM64_VA_BITS_42
+       bool "42-bit"
+       depends on ARM64_64K_PAGES
+
+config ARM64_VA_BITS_48
+       bool "48-bit"
+       depends on BROKEN
+
+endchoice
+
+config ARM64_VA_BITS
+       int
+       default 39 if ARM64_VA_BITS_39
+       default 42 if ARM64_VA_BITS_42
+       default 48 if ARM64_VA_BITS_48
+
+config ARM64_PGTABLE_LEVELS
+       int
+       default 2 if ARM64_64K_PAGES && ARM64_VA_BITS_42
+       default 3 if ARM64_64K_PAGES && ARM64_VA_BITS_48
+       default 3 if ARM64_4K_PAGES && ARM64_VA_BITS_39
+       default 4 if ARM64_4K_PAGES && ARM64_VA_BITS_48
+
 config CPU_BIG_ENDIAN
        bool "Build big-endian kernel"
        help
@@ -294,12 +368,18 @@ config CMDLINE_FORCE
          This is useful if you cannot or don't want to change the
          command-line options your boot loader passes to the kernel.
 
+config EFI_STUB
+       bool
+
 config EFI
        bool "UEFI runtime support"
        depends on OF && !CPU_BIG_ENDIAN
        select LIBFDT
        select UCS2_STRING
        select EFI_PARAMS_FROM_FDT
+       select EFI_RUNTIME_WRAPPERS
+       select EFI_STUB
+       select EFI_ARMSTUB
        default y
        help
          This option provides support for runtime services provided