mirror of
https://github.com/clearlinux/hyperstart.git
synced 2026-09-06 13:41:44 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bd9623c892 | ||
|
|
00e65b239c | ||
|
|
b654a0fbd3 | ||
|
|
2f757d249d | ||
|
|
db33f31dc1 | ||
|
|
661dcdda07 | ||
|
|
22a65f7666 | ||
|
|
1ce35da941 | ||
|
|
e6cffd9add | ||
|
|
213a00ec5e | ||
|
|
c03c057a42 | ||
|
|
73849713e8 | ||
|
|
0610a4e156 | ||
|
|
29efaadf0a |
Binary file not shown.
+202
-63
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/x86 4.0.4 Kernel Configuration
|
# Linux/x86 4.4.0 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_64BIT=y
|
CONFIG_64BIT=y
|
||||||
CONFIG_X86_64=y
|
CONFIG_X86_64=y
|
||||||
@@ -36,10 +36,10 @@ CONFIG_AUDIT_ARCH=y
|
|||||||
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
|
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
|
||||||
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
|
||||||
CONFIG_X86_64_SMP=y
|
CONFIG_X86_64_SMP=y
|
||||||
CONFIG_X86_HT=y
|
|
||||||
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
|
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
|
||||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||||
CONFIG_FIX_EARLYCON_MEM=y
|
CONFIG_FIX_EARLYCON_MEM=y
|
||||||
|
CONFIG_PGTABLE_LEVELS=4
|
||||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||||
CONFIG_IRQ_WORK=y
|
CONFIG_IRQ_WORK=y
|
||||||
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||||
@@ -81,10 +81,11 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y
|
|||||||
#
|
#
|
||||||
CONFIG_GENERIC_IRQ_PROBE=y
|
CONFIG_GENERIC_IRQ_PROBE=y
|
||||||
CONFIG_GENERIC_IRQ_SHOW=y
|
CONFIG_GENERIC_IRQ_SHOW=y
|
||||||
CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
|
|
||||||
CONFIG_GENERIC_PENDING_IRQ=y
|
CONFIG_GENERIC_PENDING_IRQ=y
|
||||||
CONFIG_IRQ_DOMAIN=y
|
CONFIG_IRQ_DOMAIN=y
|
||||||
|
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||||
CONFIG_GENERIC_MSI_IRQ=y
|
CONFIG_GENERIC_MSI_IRQ=y
|
||||||
|
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
||||||
CONFIG_IRQ_FORCED_THREADING=y
|
CONFIG_IRQ_FORCED_THREADING=y
|
||||||
CONFIG_SPARSE_IRQ=y
|
CONFIG_SPARSE_IRQ=y
|
||||||
CONFIG_CLOCKSOURCE_WATCHDOG=y
|
CONFIG_CLOCKSOURCE_WATCHDOG=y
|
||||||
@@ -92,7 +93,6 @@ CONFIG_ARCH_CLOCKSOURCE_DATA=y
|
|||||||
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
|
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
|
||||||
CONFIG_GENERIC_TIME_VSYSCALL=y
|
CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
|
||||||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
|
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
|
||||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||||
@@ -103,18 +103,18 @@ CONFIG_GENERIC_CMOS_UPDATE=y
|
|||||||
CONFIG_TICK_ONESHOT=y
|
CONFIG_TICK_ONESHOT=y
|
||||||
CONFIG_NO_HZ_COMMON=y
|
CONFIG_NO_HZ_COMMON=y
|
||||||
# CONFIG_HZ_PERIODIC is not set
|
# CONFIG_HZ_PERIODIC is not set
|
||||||
# CONFIG_NO_HZ_IDLE is not set
|
CONFIG_NO_HZ_IDLE=y
|
||||||
CONFIG_NO_HZ_FULL=y
|
# CONFIG_NO_HZ_FULL is not set
|
||||||
# CONFIG_NO_HZ_FULL_ALL is not set
|
CONFIG_NO_HZ=y
|
||||||
# CONFIG_NO_HZ_FULL_SYSIDLE is not set
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
# CONFIG_NO_HZ is not set
|
|
||||||
# CONFIG_HIGH_RES_TIMERS is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# CPU/Task time and stats accounting
|
# CPU/Task time and stats accounting
|
||||||
#
|
#
|
||||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||||
|
# CONFIG_TICK_CPU_ACCOUNTING is not set
|
||||||
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
|
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
|
||||||
|
# CONFIG_IRQ_TIME_ACCOUNTING is not set
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_TASKSTATS=y
|
CONFIG_TASKSTATS=y
|
||||||
@@ -126,33 +126,27 @@ CONFIG_TASK_IO_ACCOUNTING=y
|
|||||||
# RCU Subsystem
|
# RCU Subsystem
|
||||||
#
|
#
|
||||||
CONFIG_TREE_RCU=y
|
CONFIG_TREE_RCU=y
|
||||||
|
# CONFIG_RCU_EXPERT is not set
|
||||||
CONFIG_SRCU=y
|
CONFIG_SRCU=y
|
||||||
# CONFIG_TASKS_RCU is not set
|
# CONFIG_TASKS_RCU is not set
|
||||||
CONFIG_RCU_STALL_COMMON=y
|
CONFIG_RCU_STALL_COMMON=y
|
||||||
CONFIG_CONTEXT_TRACKING=y
|
CONFIG_CONTEXT_TRACKING=y
|
||||||
CONFIG_RCU_USER_QS=y
|
|
||||||
# CONFIG_CONTEXT_TRACKING_FORCE is not set
|
# CONFIG_CONTEXT_TRACKING_FORCE is not set
|
||||||
CONFIG_RCU_FANOUT=64
|
|
||||||
CONFIG_RCU_FANOUT_LEAF=16
|
|
||||||
# CONFIG_RCU_FANOUT_EXACT is not set
|
|
||||||
CONFIG_RCU_FAST_NO_HZ=y
|
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
CONFIG_RCU_KTHREAD_PRIO=0
|
# CONFIG_RCU_EXPEDITE_BOOT is not set
|
||||||
CONFIG_RCU_NOCB_CPU=y
|
|
||||||
# CONFIG_RCU_NOCB_CPU_NONE is not set
|
|
||||||
# CONFIG_RCU_NOCB_CPU_ZERO is not set
|
|
||||||
CONFIG_RCU_NOCB_CPU_ALL=y
|
|
||||||
# CONFIG_BUILD_BIN2C is not set
|
# CONFIG_BUILD_BIN2C is not set
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
CONFIG_LOG_BUF_SHIFT=18
|
CONFIG_LOG_BUF_SHIFT=18
|
||||||
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
||||||
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
|
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
|
||||||
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
||||||
|
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
|
||||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||||
# CONFIG_NUMA_BALANCING is not set
|
# CONFIG_NUMA_BALANCING is not set
|
||||||
CONFIG_CGROUPS=y
|
CONFIG_CGROUPS=y
|
||||||
# CONFIG_CGROUP_DEBUG is not set
|
# CONFIG_CGROUP_DEBUG is not set
|
||||||
# CONFIG_CGROUP_FREEZER is not set
|
# CONFIG_CGROUP_FREEZER is not set
|
||||||
|
# CONFIG_CGROUP_PIDS is not set
|
||||||
# CONFIG_CGROUP_DEVICE is not set
|
# CONFIG_CGROUP_DEVICE is not set
|
||||||
# CONFIG_CPUSETS is not set
|
# CONFIG_CPUSETS is not set
|
||||||
# CONFIG_CGROUP_CPUACCT is not set
|
# CONFIG_CGROUP_CPUACCT is not set
|
||||||
@@ -188,6 +182,7 @@ CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
|||||||
CONFIG_HAVE_PCSPKR_PLATFORM=y
|
CONFIG_HAVE_PCSPKR_PLATFORM=y
|
||||||
CONFIG_BPF=y
|
CONFIG_BPF=y
|
||||||
# CONFIG_EXPERT is not set
|
# CONFIG_EXPERT is not set
|
||||||
|
CONFIG_MULTIUSER=y
|
||||||
CONFIG_SGETMASK_SYSCALL=y
|
CONFIG_SGETMASK_SYSCALL=y
|
||||||
CONFIG_SYSFS_SYSCALL=y
|
CONFIG_SYSFS_SYSCALL=y
|
||||||
# CONFIG_SYSCTL_SYSCALL is not set
|
# CONFIG_SYSCTL_SYSCALL is not set
|
||||||
@@ -206,7 +201,9 @@ CONFIG_EVENTFD=y
|
|||||||
CONFIG_SHMEM=y
|
CONFIG_SHMEM=y
|
||||||
CONFIG_AIO=y
|
CONFIG_AIO=y
|
||||||
CONFIG_ADVISE_SYSCALLS=y
|
CONFIG_ADVISE_SYSCALLS=y
|
||||||
|
# CONFIG_USERFAULTFD is not set
|
||||||
CONFIG_PCI_QUIRKS=y
|
CONFIG_PCI_QUIRKS=y
|
||||||
|
CONFIG_MEMBARRIER=y
|
||||||
# CONFIG_EMBEDDED is not set
|
# CONFIG_EMBEDDED is not set
|
||||||
CONFIG_HAVE_PERF_EVENTS=y
|
CONFIG_HAVE_PERF_EVENTS=y
|
||||||
|
|
||||||
@@ -218,6 +215,7 @@ CONFIG_VM_EVENT_COUNTERS=y
|
|||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
# CONFIG_SLUB is not set
|
# CONFIG_SLUB is not set
|
||||||
|
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||||
# CONFIG_PROFILING is not set
|
# CONFIG_PROFILING is not set
|
||||||
CONFIG_HAVE_OPROFILE=y
|
CONFIG_HAVE_OPROFILE=y
|
||||||
CONFIG_OPROFILE_NMI_TIMER=y
|
CONFIG_OPROFILE_NMI_TIMER=y
|
||||||
@@ -236,6 +234,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y
|
|||||||
CONFIG_HAVE_DMA_ATTRS=y
|
CONFIG_HAVE_DMA_ATTRS=y
|
||||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||||
|
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
|
||||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||||
CONFIG_HAVE_HW_BREAKPOINT=y
|
CONFIG_HAVE_HW_BREAKPOINT=y
|
||||||
@@ -259,9 +258,12 @@ CONFIG_HAVE_CONTEXT_TRACKING=y
|
|||||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||||
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
|
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
|
||||||
|
CONFIG_HAVE_ARCH_HUGE_VMAP=y
|
||||||
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
|
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
|
||||||
CONFIG_MODULES_USE_ELF_RELA=y
|
CONFIG_MODULES_USE_ELF_RELA=y
|
||||||
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
|
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
|
||||||
|
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||||
|
CONFIG_HAVE_COPY_THREAD_TLS=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# GCOV-based kernel profiling
|
# GCOV-based kernel profiling
|
||||||
@@ -278,7 +280,7 @@ CONFIG_MODVERSIONS=y
|
|||||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||||
# CONFIG_MODULE_SIG is not set
|
# CONFIG_MODULE_SIG is not set
|
||||||
# CONFIG_MODULE_COMPRESS is not set
|
# CONFIG_MODULE_COMPRESS is not set
|
||||||
CONFIG_STOP_MACHINE=y
|
CONFIG_MODULES_TREE_LOOKUP=y
|
||||||
CONFIG_BLOCK=y
|
CONFIG_BLOCK=y
|
||||||
CONFIG_BLK_DEV_BSG=y
|
CONFIG_BLK_DEV_BSG=y
|
||||||
CONFIG_BLK_DEV_BSGLIB=y
|
CONFIG_BLK_DEV_BSGLIB=y
|
||||||
@@ -310,8 +312,10 @@ CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
|||||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||||
CONFIG_RWSEM_SPIN_ON_OWNER=y
|
CONFIG_RWSEM_SPIN_ON_OWNER=y
|
||||||
CONFIG_LOCK_SPIN_ON_OWNER=y
|
CONFIG_LOCK_SPIN_ON_OWNER=y
|
||||||
CONFIG_ARCH_USE_QUEUE_RWLOCK=y
|
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
||||||
CONFIG_QUEUE_RWLOCK=y
|
CONFIG_QUEUED_SPINLOCKS=y
|
||||||
|
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
|
||||||
|
CONFIG_QUEUED_RWLOCKS=y
|
||||||
CONFIG_FREEZER=y
|
CONFIG_FREEZER=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -320,6 +324,7 @@ CONFIG_FREEZER=y
|
|||||||
CONFIG_ZONE_DMA=y
|
CONFIG_ZONE_DMA=y
|
||||||
CONFIG_SMP=y
|
CONFIG_SMP=y
|
||||||
CONFIG_X86_FEATURE_NAMES=y
|
CONFIG_X86_FEATURE_NAMES=y
|
||||||
|
# CONFIG_X86_X2APIC is not set
|
||||||
CONFIG_X86_MPPARSE=y
|
CONFIG_X86_MPPARSE=y
|
||||||
# CONFIG_X86_EXTENDED_PLATFORM is not set
|
# CONFIG_X86_EXTENDED_PLATFORM is not set
|
||||||
# CONFIG_X86_INTEL_LPSS is not set
|
# CONFIG_X86_INTEL_LPSS is not set
|
||||||
@@ -332,14 +337,13 @@ CONFIG_PARAVIRT=y
|
|||||||
CONFIG_XEN=y
|
CONFIG_XEN=y
|
||||||
CONFIG_XEN_DOM0=y
|
CONFIG_XEN_DOM0=y
|
||||||
CONFIG_XEN_PVHVM=y
|
CONFIG_XEN_PVHVM=y
|
||||||
CONFIG_XEN_MAX_DOMAIN_MEMORY=500
|
CONFIG_XEN_512GB=y
|
||||||
CONFIG_XEN_SAVE_RESTORE=y
|
CONFIG_XEN_SAVE_RESTORE=y
|
||||||
CONFIG_XEN_PVH=y
|
CONFIG_XEN_PVH=y
|
||||||
CONFIG_KVM_GUEST=y
|
CONFIG_KVM_GUEST=y
|
||||||
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
|
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
|
||||||
CONFIG_PARAVIRT_CLOCK=y
|
CONFIG_PARAVIRT_CLOCK=y
|
||||||
CONFIG_NO_BOOTMEM=y
|
CONFIG_NO_BOOTMEM=y
|
||||||
# CONFIG_MEMTEST is not set
|
|
||||||
# CONFIG_MK8 is not set
|
# CONFIG_MK8 is not set
|
||||||
# CONFIG_MPSC is not set
|
# CONFIG_MPSC is not set
|
||||||
# CONFIG_MCORE2 is not set
|
# CONFIG_MCORE2 is not set
|
||||||
@@ -367,23 +371,21 @@ CONFIG_SCHED_MC=y
|
|||||||
CONFIG_PREEMPT_NONE=y
|
CONFIG_PREEMPT_NONE=y
|
||||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||||
# CONFIG_PREEMPT is not set
|
# CONFIG_PREEMPT is not set
|
||||||
CONFIG_X86_UP_APIC_MSI=y
|
|
||||||
CONFIG_X86_LOCAL_APIC=y
|
CONFIG_X86_LOCAL_APIC=y
|
||||||
CONFIG_X86_IO_APIC=y
|
CONFIG_X86_IO_APIC=y
|
||||||
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
|
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
|
||||||
# CONFIG_X86_MCE is not set
|
# CONFIG_X86_MCE is not set
|
||||||
|
# CONFIG_VM86 is not set
|
||||||
CONFIG_X86_16BIT=y
|
CONFIG_X86_16BIT=y
|
||||||
CONFIG_X86_ESPFIX64=y
|
CONFIG_X86_ESPFIX64=y
|
||||||
CONFIG_X86_VSYSCALL_EMULATION=y
|
CONFIG_X86_VSYSCALL_EMULATION=y
|
||||||
# CONFIG_I8K is not set
|
# CONFIG_I8K is not set
|
||||||
# CONFIG_MICROCODE is not set
|
# CONFIG_MICROCODE is not set
|
||||||
# CONFIG_MICROCODE_INTEL_EARLY is not set
|
|
||||||
# CONFIG_MICROCODE_AMD_EARLY is not set
|
|
||||||
# CONFIG_X86_MSR is not set
|
# CONFIG_X86_MSR is not set
|
||||||
# CONFIG_X86_CPUID is not set
|
# CONFIG_X86_CPUID is not set
|
||||||
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
|
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
|
||||||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
||||||
CONFIG_DIRECT_GBPAGES=y
|
CONFIG_X86_DIRECT_GBPAGES=y
|
||||||
CONFIG_NUMA=y
|
CONFIG_NUMA=y
|
||||||
# CONFIG_AMD_NUMA is not set
|
# CONFIG_AMD_NUMA is not set
|
||||||
CONFIG_X86_64_ACPI_NUMA=y
|
CONFIG_X86_64_ACPI_NUMA=y
|
||||||
@@ -393,6 +395,7 @@ CONFIG_NODES_SHIFT=9
|
|||||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||||
|
CONFIG_ARCH_MEMORY_PROBE=y
|
||||||
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
||||||
CONFIG_SELECT_MEMORY_MODEL=y
|
CONFIG_SELECT_MEMORY_MODEL=y
|
||||||
CONFIG_SPARSEMEM_MANUAL=y
|
CONFIG_SPARSEMEM_MANUAL=y
|
||||||
@@ -408,8 +411,9 @@ CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
|
|||||||
CONFIG_ARCH_DISCARD_MEMBLOCK=y
|
CONFIG_ARCH_DISCARD_MEMBLOCK=y
|
||||||
# CONFIG_MOVABLE_NODE is not set
|
# CONFIG_MOVABLE_NODE is not set
|
||||||
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
||||||
# CONFIG_MEMORY_HOTPLUG is not set
|
CONFIG_MEMORY_HOTPLUG=y
|
||||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
CONFIG_MEMORY_HOTPLUG_SPARSE=y
|
||||||
|
# CONFIG_MEMORY_HOTREMOVE is not set
|
||||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||||
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
|
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
|
||||||
CONFIG_MEMORY_BALLOON=y
|
CONFIG_MEMORY_BALLOON=y
|
||||||
@@ -429,6 +433,10 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
|||||||
# CONFIG_ZBUD is not set
|
# CONFIG_ZBUD is not set
|
||||||
# CONFIG_ZSMALLOC is not set
|
# CONFIG_ZSMALLOC is not set
|
||||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||||
|
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
|
||||||
|
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
|
||||||
|
# CONFIG_IDLE_PAGE_TRACKING is not set
|
||||||
|
# CONFIG_X86_PMEM_LEGACY is not set
|
||||||
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
|
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
|
||||||
CONFIG_X86_RESERVE_LOW=64
|
CONFIG_X86_RESERVE_LOW=64
|
||||||
CONFIG_MTRR=y
|
CONFIG_MTRR=y
|
||||||
@@ -445,8 +453,9 @@ CONFIG_SECCOMP=y
|
|||||||
# CONFIG_HZ_300 is not set
|
# CONFIG_HZ_300 is not set
|
||||||
CONFIG_HZ_1000=y
|
CONFIG_HZ_1000=y
|
||||||
CONFIG_HZ=1000
|
CONFIG_HZ=1000
|
||||||
# CONFIG_SCHED_HRTICK is not set
|
CONFIG_SCHED_HRTICK=y
|
||||||
# CONFIG_KEXEC is not set
|
# CONFIG_KEXEC is not set
|
||||||
|
# CONFIG_KEXEC_FILE is not set
|
||||||
# CONFIG_CRASH_DUMP is not set
|
# CONFIG_CRASH_DUMP is not set
|
||||||
CONFIG_PHYSICAL_START=0x1000000
|
CONFIG_PHYSICAL_START=0x1000000
|
||||||
CONFIG_RELOCATABLE=y
|
CONFIG_RELOCATABLE=y
|
||||||
@@ -455,9 +464,14 @@ CONFIG_PHYSICAL_ALIGN=0x1000000
|
|||||||
CONFIG_HOTPLUG_CPU=y
|
CONFIG_HOTPLUG_CPU=y
|
||||||
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
|
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
|
||||||
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
|
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
|
||||||
|
# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
|
||||||
|
CONFIG_LEGACY_VSYSCALL_EMULATE=y
|
||||||
|
# CONFIG_LEGACY_VSYSCALL_NONE is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
|
CONFIG_MODIFY_LDT_SYSCALL=y
|
||||||
CONFIG_HAVE_LIVEPATCH=y
|
CONFIG_HAVE_LIVEPATCH=y
|
||||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||||
|
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
|
||||||
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
|
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -476,13 +490,22 @@ CONFIG_PM=y
|
|||||||
CONFIG_ACPI=y
|
CONFIG_ACPI=y
|
||||||
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
|
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
|
||||||
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
|
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
|
||||||
|
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
|
||||||
|
# CONFIG_ACPI_DEBUGGER is not set
|
||||||
# CONFIG_ACPI_PROCFS_POWER is not set
|
# CONFIG_ACPI_PROCFS_POWER is not set
|
||||||
|
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
|
||||||
# CONFIG_ACPI_EC_DEBUGFS is not set
|
# CONFIG_ACPI_EC_DEBUGFS is not set
|
||||||
# CONFIG_ACPI_AC is not set
|
# CONFIG_ACPI_AC is not set
|
||||||
# CONFIG_ACPI_BATTERY is not set
|
# CONFIG_ACPI_BATTERY is not set
|
||||||
# CONFIG_ACPI_BUTTON is not set
|
# CONFIG_ACPI_BUTTON is not set
|
||||||
|
CONFIG_ACPI_FAN=y
|
||||||
# CONFIG_ACPI_DOCK is not set
|
# CONFIG_ACPI_DOCK is not set
|
||||||
# CONFIG_ACPI_PROCESSOR is not set
|
CONFIG_ACPI_CPU_FREQ_PSS=y
|
||||||
|
CONFIG_ACPI_PROCESSOR_IDLE=y
|
||||||
|
CONFIG_ACPI_PROCESSOR=y
|
||||||
|
CONFIG_ACPI_HOTPLUG_CPU=y
|
||||||
|
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
|
||||||
|
CONFIG_ACPI_THERMAL=y
|
||||||
CONFIG_ACPI_NUMA=y
|
CONFIG_ACPI_NUMA=y
|
||||||
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
|
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
|
||||||
# CONFIG_ACPI_CUSTOM_DSDT is not set
|
# CONFIG_ACPI_CUSTOM_DSDT is not set
|
||||||
@@ -490,11 +513,13 @@ CONFIG_ACPI_CUSTOM_DSDT_FILE=""
|
|||||||
# CONFIG_ACPI_DEBUG is not set
|
# CONFIG_ACPI_DEBUG is not set
|
||||||
# CONFIG_ACPI_PCI_SLOT is not set
|
# CONFIG_ACPI_PCI_SLOT is not set
|
||||||
CONFIG_X86_PM_TIMER=y
|
CONFIG_X86_PM_TIMER=y
|
||||||
# CONFIG_ACPI_CONTAINER is not set
|
CONFIG_ACPI_CONTAINER=y
|
||||||
|
CONFIG_ACPI_HOTPLUG_MEMORY=y
|
||||||
CONFIG_ACPI_HOTPLUG_IOAPIC=y
|
CONFIG_ACPI_HOTPLUG_IOAPIC=y
|
||||||
# CONFIG_ACPI_SBS is not set
|
# CONFIG_ACPI_SBS is not set
|
||||||
# CONFIG_ACPI_HED is not set
|
# CONFIG_ACPI_HED is not set
|
||||||
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
|
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
|
||||||
|
# CONFIG_ACPI_NFIT is not set
|
||||||
CONFIG_HAVE_ACPI_APEI=y
|
CONFIG_HAVE_ACPI_APEI=y
|
||||||
CONFIG_HAVE_ACPI_APEI_NMI=y
|
CONFIG_HAVE_ACPI_APEI_NMI=y
|
||||||
# CONFIG_ACPI_APEI is not set
|
# CONFIG_ACPI_APEI is not set
|
||||||
@@ -509,8 +534,11 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
|
|||||||
#
|
#
|
||||||
# CPU Idle
|
# CPU Idle
|
||||||
#
|
#
|
||||||
# CONFIG_CPU_IDLE is not set
|
CONFIG_CPU_IDLE=y
|
||||||
|
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||||
|
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||||
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
|
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
|
||||||
|
# CONFIG_INTEL_IDLE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Memory power savings
|
# Memory power savings
|
||||||
@@ -534,7 +562,9 @@ CONFIG_PCIEASPM_DEFAULT=y
|
|||||||
# CONFIG_PCIEASPM_POWERSAVE is not set
|
# CONFIG_PCIEASPM_POWERSAVE is not set
|
||||||
# CONFIG_PCIEASPM_PERFORMANCE is not set
|
# CONFIG_PCIEASPM_PERFORMANCE is not set
|
||||||
CONFIG_PCIE_PME=y
|
CONFIG_PCIE_PME=y
|
||||||
|
CONFIG_PCI_BUS_ADDR_T_64BIT=y
|
||||||
CONFIG_PCI_MSI=y
|
CONFIG_PCI_MSI=y
|
||||||
|
CONFIG_PCI_MSI_IRQ_DOMAIN=y
|
||||||
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
|
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
|
||||||
CONFIG_PCI_STUB=y
|
CONFIG_PCI_STUB=y
|
||||||
CONFIG_XEN_PCIDEV_FRONTEND=y
|
CONFIG_XEN_PCIDEV_FRONTEND=y
|
||||||
@@ -565,13 +595,13 @@ CONFIG_HOTPLUG_PCI_CPCI=y
|
|||||||
# Executable file formats / Emulations
|
# Executable file formats / Emulations
|
||||||
#
|
#
|
||||||
CONFIG_BINFMT_ELF=y
|
CONFIG_BINFMT_ELF=y
|
||||||
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
|
|
||||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||||
CONFIG_BINFMT_SCRIPT=y
|
CONFIG_BINFMT_SCRIPT=y
|
||||||
# CONFIG_HAVE_AOUT is not set
|
# CONFIG_HAVE_AOUT is not set
|
||||||
CONFIG_BINFMT_MISC=y
|
CONFIG_BINFMT_MISC=y
|
||||||
CONFIG_COREDUMP=y
|
CONFIG_COREDUMP=y
|
||||||
# CONFIG_IA32_EMULATION is not set
|
# CONFIG_IA32_EMULATION is not set
|
||||||
|
# CONFIG_X86_X32 is not set
|
||||||
CONFIG_X86_DEV_DMA_OPS=y
|
CONFIG_X86_DEV_DMA_OPS=y
|
||||||
CONFIG_PMC_ATOM=y
|
CONFIG_PMC_ATOM=y
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
@@ -595,7 +625,6 @@ CONFIG_INET=y
|
|||||||
# CONFIG_SYN_COOKIES is not set
|
# CONFIG_SYN_COOKIES is not set
|
||||||
# CONFIG_NET_UDP_TUNNEL is not set
|
# CONFIG_NET_UDP_TUNNEL is not set
|
||||||
# CONFIG_NET_FOU is not set
|
# CONFIG_NET_FOU is not set
|
||||||
# CONFIG_GENEVE is not set
|
|
||||||
# CONFIG_INET_AH is not set
|
# CONFIG_INET_AH is not set
|
||||||
# CONFIG_INET_ESP is not set
|
# CONFIG_INET_ESP is not set
|
||||||
# CONFIG_INET_IPCOMP is not set
|
# CONFIG_INET_IPCOMP is not set
|
||||||
@@ -617,6 +646,7 @@ CONFIG_IPV6=y
|
|||||||
# CONFIG_INET6_ESP is not set
|
# CONFIG_INET6_ESP is not set
|
||||||
# CONFIG_INET6_IPCOMP is not set
|
# CONFIG_INET6_IPCOMP is not set
|
||||||
# CONFIG_IPV6_MIP6 is not set
|
# CONFIG_IPV6_MIP6 is not set
|
||||||
|
# CONFIG_IPV6_ILA is not set
|
||||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||||
# CONFIG_INET6_TUNNEL is not set
|
# CONFIG_INET6_TUNNEL is not set
|
||||||
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
|
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
|
||||||
@@ -657,9 +687,10 @@ CONFIG_HAVE_NET_DSA=y
|
|||||||
# CONFIG_VSOCKETS is not set
|
# CONFIG_VSOCKETS is not set
|
||||||
# CONFIG_NETLINK_MMAP is not set
|
# CONFIG_NETLINK_MMAP is not set
|
||||||
# CONFIG_NETLINK_DIAG is not set
|
# CONFIG_NETLINK_DIAG is not set
|
||||||
# CONFIG_NET_MPLS_GSO is not set
|
# CONFIG_MPLS is not set
|
||||||
# CONFIG_HSR is not set
|
# CONFIG_HSR is not set
|
||||||
# CONFIG_NET_SWITCHDEV is not set
|
# CONFIG_NET_SWITCHDEV is not set
|
||||||
|
# CONFIG_NET_L3_MASTER_DEV is not set
|
||||||
CONFIG_RPS=y
|
CONFIG_RPS=y
|
||||||
CONFIG_RFS_ACCEL=y
|
CONFIG_RFS_ACCEL=y
|
||||||
CONFIG_XPS=y
|
CONFIG_XPS=y
|
||||||
@@ -688,6 +719,7 @@ CONFIG_NET_9P_VIRTIO=y
|
|||||||
# CONFIG_CAIF is not set
|
# CONFIG_CAIF is not set
|
||||||
# CONFIG_CEPH_LIB is not set
|
# CONFIG_CEPH_LIB is not set
|
||||||
# CONFIG_NFC is not set
|
# CONFIG_NFC is not set
|
||||||
|
# CONFIG_LWTUNNEL is not set
|
||||||
CONFIG_HAVE_BPF_JIT=y
|
CONFIG_HAVE_BPF_JIT=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -717,6 +749,7 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y
|
|||||||
#
|
#
|
||||||
# CONFIG_CONNECTOR is not set
|
# CONFIG_CONNECTOR is not set
|
||||||
# CONFIG_MTD is not set
|
# CONFIG_MTD is not set
|
||||||
|
# CONFIG_OF is not set
|
||||||
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
||||||
# CONFIG_PARPORT is not set
|
# CONFIG_PARPORT is not set
|
||||||
CONFIG_PNP=y
|
CONFIG_PNP=y
|
||||||
@@ -739,7 +772,6 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
|
|||||||
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
|
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
|
||||||
# CONFIG_BLK_DEV_DRBD is not set
|
# CONFIG_BLK_DEV_DRBD is not set
|
||||||
# CONFIG_BLK_DEV_NBD is not set
|
# CONFIG_BLK_DEV_NBD is not set
|
||||||
# CONFIG_BLK_DEV_NVME is not set
|
|
||||||
# CONFIG_BLK_DEV_SKD is not set
|
# CONFIG_BLK_DEV_SKD is not set
|
||||||
# CONFIG_BLK_DEV_SX8 is not set
|
# CONFIG_BLK_DEV_SX8 is not set
|
||||||
CONFIG_BLK_DEV_RAM=y
|
CONFIG_BLK_DEV_RAM=y
|
||||||
@@ -752,6 +784,7 @@ CONFIG_VIRTIO_BLK=y
|
|||||||
# CONFIG_BLK_DEV_HD is not set
|
# CONFIG_BLK_DEV_HD is not set
|
||||||
# CONFIG_BLK_DEV_RBD is not set
|
# CONFIG_BLK_DEV_RBD is not set
|
||||||
# CONFIG_BLK_DEV_RSXX is not set
|
# CONFIG_BLK_DEV_RSXX is not set
|
||||||
|
# CONFIG_BLK_DEV_NVME is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Misc devices
|
# Misc devices
|
||||||
@@ -764,14 +797,13 @@ CONFIG_VIRTIO_BLK=y
|
|||||||
# CONFIG_TIFM_CORE is not set
|
# CONFIG_TIFM_CORE is not set
|
||||||
# CONFIG_ENCLOSURE_SERVICES is not set
|
# CONFIG_ENCLOSURE_SERVICES is not set
|
||||||
# CONFIG_HP_ILO is not set
|
# CONFIG_HP_ILO is not set
|
||||||
# CONFIG_VMWARE_BALLOON is not set
|
|
||||||
# CONFIG_SRAM is not set
|
# CONFIG_SRAM is not set
|
||||||
# CONFIG_C2PORT is not set
|
# CONFIG_C2PORT is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# EEPROM support
|
# EEPROM support
|
||||||
#
|
#
|
||||||
CONFIG_EEPROM_93CX6=m
|
CONFIG_EEPROM_93CX6=y
|
||||||
# CONFIG_CB710_CORE is not set
|
# CONFIG_CB710_CORE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -788,6 +820,11 @@ CONFIG_EEPROM_93CX6=m
|
|||||||
#
|
#
|
||||||
# CONFIG_INTEL_MIC_BUS is not set
|
# CONFIG_INTEL_MIC_BUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# SCIF Bus Driver
|
||||||
|
#
|
||||||
|
# CONFIG_SCIF_BUS is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Intel MIC Host Driver
|
# Intel MIC Host Driver
|
||||||
#
|
#
|
||||||
@@ -795,9 +832,19 @@ CONFIG_EEPROM_93CX6=m
|
|||||||
#
|
#
|
||||||
# Intel MIC Card Driver
|
# Intel MIC Card Driver
|
||||||
#
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# SCIF Driver
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Intel MIC Coprocessor State Management (COSM) Drivers
|
||||||
|
#
|
||||||
# CONFIG_GENWQE is not set
|
# CONFIG_GENWQE is not set
|
||||||
# CONFIG_ECHO is not set
|
# CONFIG_ECHO is not set
|
||||||
# CONFIG_CXL_BASE is not set
|
# CONFIG_CXL_BASE is not set
|
||||||
|
# CONFIG_CXL_KERNEL_API is not set
|
||||||
|
# CONFIG_CXL_EEH is not set
|
||||||
CONFIG_HAVE_IDE=y
|
CONFIG_HAVE_IDE=y
|
||||||
# CONFIG_IDE is not set
|
# CONFIG_IDE is not set
|
||||||
|
|
||||||
@@ -859,13 +906,14 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||||||
# CONFIG_MEGARAID_NEWGEN is not set
|
# CONFIG_MEGARAID_NEWGEN is not set
|
||||||
# CONFIG_MEGARAID_LEGACY is not set
|
# CONFIG_MEGARAID_LEGACY is not set
|
||||||
# CONFIG_MEGARAID_SAS is not set
|
# CONFIG_MEGARAID_SAS is not set
|
||||||
# CONFIG_SCSI_MPT2SAS is not set
|
|
||||||
# CONFIG_SCSI_MPT3SAS is not set
|
# CONFIG_SCSI_MPT3SAS is not set
|
||||||
|
# CONFIG_SCSI_MPT2SAS is not set
|
||||||
# CONFIG_SCSI_UFSHCD is not set
|
# CONFIG_SCSI_UFSHCD is not set
|
||||||
# CONFIG_SCSI_HPTIOP is not set
|
# CONFIG_SCSI_HPTIOP is not set
|
||||||
# CONFIG_SCSI_BUSLOGIC is not set
|
# CONFIG_SCSI_BUSLOGIC is not set
|
||||||
# CONFIG_VMWARE_PVSCSI is not set
|
# CONFIG_VMWARE_PVSCSI is not set
|
||||||
# CONFIG_XEN_SCSI_FRONTEND is not set
|
# CONFIG_XEN_SCSI_FRONTEND is not set
|
||||||
|
# CONFIG_SCSI_SNIC is not set
|
||||||
# CONFIG_SCSI_DMX3191D is not set
|
# CONFIG_SCSI_DMX3191D is not set
|
||||||
# CONFIG_SCSI_EATA is not set
|
# CONFIG_SCSI_EATA is not set
|
||||||
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
||||||
@@ -912,6 +960,7 @@ CONFIG_NET_CORE=y
|
|||||||
# CONFIG_NETPOLL is not set
|
# CONFIG_NETPOLL is not set
|
||||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||||
# CONFIG_TUN is not set
|
# CONFIG_TUN is not set
|
||||||
|
# CONFIG_TUN_VNET_CROSS_LE is not set
|
||||||
# CONFIG_VETH is not set
|
# CONFIG_VETH is not set
|
||||||
CONFIG_VIRTIO_NET=y
|
CONFIG_VIRTIO_NET=y
|
||||||
# CONFIG_NLMON is not set
|
# CONFIG_NLMON is not set
|
||||||
@@ -925,13 +974,7 @@ CONFIG_VIRTIO_NET=y
|
|||||||
# Distributed Switch Architecture drivers
|
# Distributed Switch Architecture drivers
|
||||||
#
|
#
|
||||||
# CONFIG_NET_DSA_MV88E6XXX is not set
|
# CONFIG_NET_DSA_MV88E6XXX is not set
|
||||||
# CONFIG_NET_DSA_MV88E6060 is not set
|
|
||||||
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
|
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
|
||||||
# CONFIG_NET_DSA_MV88E6131 is not set
|
|
||||||
# CONFIG_NET_DSA_MV88E6123_61_65 is not set
|
|
||||||
# CONFIG_NET_DSA_MV88E6171 is not set
|
|
||||||
# CONFIG_NET_DSA_MV88E6352 is not set
|
|
||||||
# CONFIG_NET_DSA_BCM_SF2 is not set
|
|
||||||
CONFIG_ETHERNET=y
|
CONFIG_ETHERNET=y
|
||||||
# CONFIG_NET_VENDOR_3COM is not set
|
# CONFIG_NET_VENDOR_3COM is not set
|
||||||
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||||
@@ -939,11 +982,18 @@ CONFIG_ETHERNET=y
|
|||||||
# CONFIG_NET_VENDOR_ALTEON is not set
|
# CONFIG_NET_VENDOR_ALTEON is not set
|
||||||
# CONFIG_ALTERA_TSE is not set
|
# CONFIG_ALTERA_TSE is not set
|
||||||
# CONFIG_NET_VENDOR_AMD is not set
|
# CONFIG_NET_VENDOR_AMD is not set
|
||||||
# CONFIG_NET_XGENE is not set
|
|
||||||
# CONFIG_NET_VENDOR_ARC is not set
|
# CONFIG_NET_VENDOR_ARC is not set
|
||||||
# CONFIG_NET_VENDOR_ATHEROS is not set
|
# CONFIG_NET_VENDOR_ATHEROS is not set
|
||||||
|
# CONFIG_NET_VENDOR_AURORA is not set
|
||||||
|
CONFIG_NET_CADENCE=y
|
||||||
|
# CONFIG_MACB is not set
|
||||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||||
# CONFIG_NET_VENDOR_BROCADE is not set
|
# CONFIG_NET_VENDOR_BROCADE is not set
|
||||||
|
CONFIG_NET_VENDOR_CAVIUM=y
|
||||||
|
# CONFIG_THUNDER_NIC_PF is not set
|
||||||
|
# CONFIG_THUNDER_NIC_VF is not set
|
||||||
|
# CONFIG_THUNDER_NIC_BGX is not set
|
||||||
|
# CONFIG_LIQUIDIO is not set
|
||||||
# CONFIG_NET_VENDOR_CHELSIO is not set
|
# CONFIG_NET_VENDOR_CHELSIO is not set
|
||||||
# CONFIG_NET_VENDOR_CISCO is not set
|
# CONFIG_NET_VENDOR_CISCO is not set
|
||||||
# CONFIG_CX_ECAT is not set
|
# CONFIG_CX_ECAT is not set
|
||||||
@@ -951,6 +1001,7 @@ CONFIG_ETHERNET=y
|
|||||||
# CONFIG_NET_VENDOR_DEC is not set
|
# CONFIG_NET_VENDOR_DEC is not set
|
||||||
# CONFIG_NET_VENDOR_DLINK is not set
|
# CONFIG_NET_VENDOR_DLINK is not set
|
||||||
# CONFIG_NET_VENDOR_EMULEX is not set
|
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||||
|
CONFIG_NET_VENDOR_EZCHIP=y
|
||||||
# CONFIG_NET_VENDOR_EXAR is not set
|
# CONFIG_NET_VENDOR_EXAR is not set
|
||||||
# CONFIG_NET_VENDOR_HP is not set
|
# CONFIG_NET_VENDOR_HP is not set
|
||||||
CONFIG_NET_VENDOR_INTEL=y
|
CONFIG_NET_VENDOR_INTEL=y
|
||||||
@@ -966,7 +1017,6 @@ CONFIG_E1000=y
|
|||||||
# CONFIG_I40EVF is not set
|
# CONFIG_I40EVF is not set
|
||||||
# CONFIG_FM10K is not set
|
# CONFIG_FM10K is not set
|
||||||
# CONFIG_NET_VENDOR_I825XX is not set
|
# CONFIG_NET_VENDOR_I825XX is not set
|
||||||
# CONFIG_IP1000 is not set
|
|
||||||
# CONFIG_JME is not set
|
# CONFIG_JME is not set
|
||||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||||
# CONFIG_NET_VENDOR_MELLANOX is not set
|
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||||
@@ -981,6 +1031,7 @@ CONFIG_E1000=y
|
|||||||
# CONFIG_NET_VENDOR_QLOGIC is not set
|
# CONFIG_NET_VENDOR_QLOGIC is not set
|
||||||
# CONFIG_NET_VENDOR_QUALCOMM is not set
|
# CONFIG_NET_VENDOR_QUALCOMM is not set
|
||||||
# CONFIG_NET_VENDOR_REALTEK is not set
|
# CONFIG_NET_VENDOR_REALTEK is not set
|
||||||
|
CONFIG_NET_VENDOR_RENESAS=y
|
||||||
# CONFIG_NET_VENDOR_RDC is not set
|
# CONFIG_NET_VENDOR_RDC is not set
|
||||||
# CONFIG_NET_VENDOR_ROCKER is not set
|
# CONFIG_NET_VENDOR_ROCKER is not set
|
||||||
# CONFIG_NET_VENDOR_SAMSUNG is not set
|
# CONFIG_NET_VENDOR_SAMSUNG is not set
|
||||||
@@ -991,6 +1042,7 @@ CONFIG_E1000=y
|
|||||||
# CONFIG_NET_VENDOR_SMSC is not set
|
# CONFIG_NET_VENDOR_SMSC is not set
|
||||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||||
# CONFIG_NET_VENDOR_SUN is not set
|
# CONFIG_NET_VENDOR_SUN is not set
|
||||||
|
CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||||
# CONFIG_NET_VENDOR_TEHUTI is not set
|
# CONFIG_NET_VENDOR_TEHUTI is not set
|
||||||
# CONFIG_NET_VENDOR_TI is not set
|
# CONFIG_NET_VENDOR_TI is not set
|
||||||
# CONFIG_NET_VENDOR_VIA is not set
|
# CONFIG_NET_VENDOR_VIA is not set
|
||||||
@@ -1013,7 +1065,9 @@ CONFIG_E1000=y
|
|||||||
# CONFIG_WAN is not set
|
# CONFIG_WAN is not set
|
||||||
CONFIG_XEN_NETDEV_FRONTEND=y
|
CONFIG_XEN_NETDEV_FRONTEND=y
|
||||||
# CONFIG_VMXNET3 is not set
|
# CONFIG_VMXNET3 is not set
|
||||||
|
# CONFIG_FUJITSU_ES is not set
|
||||||
# CONFIG_ISDN is not set
|
# CONFIG_ISDN is not set
|
||||||
|
# CONFIG_NVM is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Input device support
|
# Input device support
|
||||||
@@ -1085,13 +1139,16 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
|
|||||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||||
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
|
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
|
||||||
CONFIG_SERIAL_8250_RSA=y
|
CONFIG_SERIAL_8250_RSA=y
|
||||||
|
# CONFIG_SERIAL_8250_FSL is not set
|
||||||
# CONFIG_SERIAL_8250_DW is not set
|
# CONFIG_SERIAL_8250_DW is not set
|
||||||
|
# CONFIG_SERIAL_8250_RT288X is not set
|
||||||
# CONFIG_SERIAL_8250_FINTEK is not set
|
# CONFIG_SERIAL_8250_FINTEK is not set
|
||||||
|
# CONFIG_SERIAL_8250_MID is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Non-8250 serial port support
|
# Non-8250 serial port support
|
||||||
#
|
#
|
||||||
# CONFIG_SERIAL_MFD_HSU is not set
|
# CONFIG_SERIAL_UARTLITE is not set
|
||||||
CONFIG_SERIAL_CORE=y
|
CONFIG_SERIAL_CORE=y
|
||||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||||
# CONFIG_SERIAL_JSM is not set
|
# CONFIG_SERIAL_JSM is not set
|
||||||
@@ -1151,7 +1208,22 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
|||||||
# CONFIG_POWER_SUPPLY is not set
|
# CONFIG_POWER_SUPPLY is not set
|
||||||
# CONFIG_POWER_AVS is not set
|
# CONFIG_POWER_AVS is not set
|
||||||
# CONFIG_HWMON is not set
|
# CONFIG_HWMON is not set
|
||||||
# CONFIG_THERMAL is not set
|
CONFIG_THERMAL=y
|
||||||
|
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
|
||||||
|
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
|
||||||
|
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
|
||||||
|
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
|
||||||
|
# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
|
||||||
|
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
|
||||||
|
CONFIG_THERMAL_GOV_STEP_WISE=y
|
||||||
|
# CONFIG_THERMAL_GOV_BANG_BANG is not set
|
||||||
|
# CONFIG_THERMAL_GOV_USER_SPACE is not set
|
||||||
|
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
|
||||||
|
# CONFIG_THERMAL_EMULATION is not set
|
||||||
|
# CONFIG_INTEL_POWERCLAMP is not set
|
||||||
|
# CONFIG_INTEL_SOC_DTS_THERMAL is not set
|
||||||
|
# CONFIG_INT340X_THERMAL is not set
|
||||||
|
# CONFIG_INTEL_PCH_THERMAL is not set
|
||||||
# CONFIG_WATCHDOG is not set
|
# CONFIG_WATCHDOG is not set
|
||||||
CONFIG_SSB_POSSIBLE=y
|
CONFIG_SSB_POSSIBLE=y
|
||||||
|
|
||||||
@@ -1174,8 +1246,11 @@ CONFIG_BCMA_POSSIBLE=y
|
|||||||
# CONFIG_HTC_PASIC3 is not set
|
# CONFIG_HTC_PASIC3 is not set
|
||||||
# CONFIG_LPC_ICH is not set
|
# CONFIG_LPC_ICH is not set
|
||||||
# CONFIG_LPC_SCH is not set
|
# CONFIG_LPC_SCH is not set
|
||||||
|
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
|
||||||
|
# CONFIG_MFD_INTEL_LPSS_PCI is not set
|
||||||
# CONFIG_MFD_JANZ_CMODIO is not set
|
# CONFIG_MFD_JANZ_CMODIO is not set
|
||||||
# CONFIG_MFD_KEMPLD is not set
|
# CONFIG_MFD_KEMPLD is not set
|
||||||
|
# CONFIG_MFD_MT6397 is not set
|
||||||
# CONFIG_MFD_RDC321X is not set
|
# CONFIG_MFD_RDC321X is not set
|
||||||
# CONFIG_MFD_RTSX_PCI is not set
|
# CONFIG_MFD_RTSX_PCI is not set
|
||||||
# CONFIG_MFD_SM501 is not set
|
# CONFIG_MFD_SM501 is not set
|
||||||
@@ -1194,10 +1269,6 @@ CONFIG_BCMA_POSSIBLE=y
|
|||||||
CONFIG_VGA_ARB=y
|
CONFIG_VGA_ARB=y
|
||||||
CONFIG_VGA_ARB_MAX_GPUS=16
|
CONFIG_VGA_ARB_MAX_GPUS=16
|
||||||
# CONFIG_VGA_SWITCHEROO is not set
|
# CONFIG_VGA_SWITCHEROO is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Direct Rendering Manager
|
|
||||||
#
|
|
||||||
# CONFIG_DRM is not set
|
# CONFIG_DRM is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -1229,6 +1300,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
|||||||
# CONFIG_NEW_LEDS is not set
|
# CONFIG_NEW_LEDS is not set
|
||||||
# CONFIG_ACCESSIBILITY is not set
|
# CONFIG_ACCESSIBILITY is not set
|
||||||
# CONFIG_INFINIBAND is not set
|
# CONFIG_INFINIBAND is not set
|
||||||
|
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||||
|
CONFIG_EDAC_SUPPORT=y
|
||||||
# CONFIG_EDAC is not set
|
# CONFIG_EDAC is not set
|
||||||
CONFIG_RTC_LIB=y
|
CONFIG_RTC_LIB=y
|
||||||
# CONFIG_RTC_CLASS is not set
|
# CONFIG_RTC_CLASS is not set
|
||||||
@@ -1244,6 +1317,7 @@ CONFIG_VIRTIO=y
|
|||||||
CONFIG_VIRTIO_PCI=y
|
CONFIG_VIRTIO_PCI=y
|
||||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||||
CONFIG_VIRTIO_BALLOON=y
|
CONFIG_VIRTIO_BALLOON=y
|
||||||
|
# CONFIG_VIRTIO_INPUT is not set
|
||||||
CONFIG_VIRTIO_MMIO=y
|
CONFIG_VIRTIO_MMIO=y
|
||||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||||
|
|
||||||
@@ -1266,6 +1340,9 @@ CONFIG_XEN_XENBUS_FRONTEND=y
|
|||||||
CONFIG_SWIOTLB_XEN=y
|
CONFIG_SWIOTLB_XEN=y
|
||||||
CONFIG_XEN_PRIVCMD=m
|
CONFIG_XEN_PRIVCMD=m
|
||||||
CONFIG_XEN_HAVE_PVMMU=y
|
CONFIG_XEN_HAVE_PVMMU=y
|
||||||
|
CONFIG_XEN_AUTO_XLATE=y
|
||||||
|
CONFIG_XEN_ACPI=y
|
||||||
|
CONFIG_XEN_HAVE_VPMU=y
|
||||||
# CONFIG_STAGING is not set
|
# CONFIG_STAGING is not set
|
||||||
# CONFIG_X86_PLATFORM_DEVICES is not set
|
# CONFIG_X86_PLATFORM_DEVICES is not set
|
||||||
# CONFIG_CHROME_PLATFORMS is not set
|
# CONFIG_CHROME_PLATFORMS is not set
|
||||||
@@ -1300,6 +1377,7 @@ CONFIG_CLKBLD_I8253=y
|
|||||||
#
|
#
|
||||||
# SOC (System On Chip) specific Drivers
|
# SOC (System On Chip) specific Drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_SUNXI_SRAM is not set
|
||||||
# CONFIG_SOC_TI is not set
|
# CONFIG_SOC_TI is not set
|
||||||
# CONFIG_PM_DEVFREQ is not set
|
# CONFIG_PM_DEVFREQ is not set
|
||||||
# CONFIG_EXTCON is not set
|
# CONFIG_EXTCON is not set
|
||||||
@@ -1316,15 +1394,33 @@ CONFIG_CLKBLD_I8253=y
|
|||||||
# PHY Subsystem
|
# PHY Subsystem
|
||||||
#
|
#
|
||||||
# CONFIG_GENERIC_PHY is not set
|
# CONFIG_GENERIC_PHY is not set
|
||||||
|
# CONFIG_PHY_PXA_28NM_HSIC is not set
|
||||||
|
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||||
# CONFIG_POWERCAP is not set
|
# CONFIG_POWERCAP is not set
|
||||||
# CONFIG_MCB is not set
|
# CONFIG_MCB is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Performance monitor support
|
||||||
|
#
|
||||||
|
# CONFIG_RAS is not set
|
||||||
# CONFIG_THUNDERBOLT is not set
|
# CONFIG_THUNDERBOLT is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Android
|
# Android
|
||||||
#
|
#
|
||||||
# CONFIG_ANDROID is not set
|
# CONFIG_ANDROID is not set
|
||||||
|
# CONFIG_LIBNVDIMM is not set
|
||||||
|
# CONFIG_NVMEM is not set
|
||||||
|
# CONFIG_STM is not set
|
||||||
|
# CONFIG_STM_DUMMY is not set
|
||||||
|
# CONFIG_STM_SOURCE_CONSOLE is not set
|
||||||
|
# CONFIG_INTEL_TH is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# FPGA Configuration Support
|
||||||
|
#
|
||||||
|
# CONFIG_FPGA is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Firmware Drivers
|
# Firmware Drivers
|
||||||
@@ -1346,9 +1442,10 @@ CONFIG_DCACHE_WORD_ACCESS=y
|
|||||||
# CONFIG_EXT2_FS is not set
|
# CONFIG_EXT2_FS is not set
|
||||||
# CONFIG_EXT3_FS is not set
|
# CONFIG_EXT3_FS is not set
|
||||||
CONFIG_EXT4_FS=y
|
CONFIG_EXT4_FS=y
|
||||||
CONFIG_EXT4_USE_FOR_EXT23=y
|
CONFIG_EXT4_USE_FOR_EXT2=y
|
||||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||||
# CONFIG_EXT4_FS_SECURITY is not set
|
# CONFIG_EXT4_FS_SECURITY is not set
|
||||||
|
# CONFIG_EXT4_ENCRYPTION is not set
|
||||||
# CONFIG_EXT4_DEBUG is not set
|
# CONFIG_EXT4_DEBUG is not set
|
||||||
CONFIG_JBD2=y
|
CONFIG_JBD2=y
|
||||||
# CONFIG_JBD2_DEBUG is not set
|
# CONFIG_JBD2_DEBUG is not set
|
||||||
@@ -1364,6 +1461,7 @@ CONFIG_XFS_POSIX_ACL=y
|
|||||||
# CONFIG_GFS2_FS is not set
|
# CONFIG_GFS2_FS is not set
|
||||||
# CONFIG_BTRFS_FS is not set
|
# CONFIG_BTRFS_FS is not set
|
||||||
# CONFIG_NILFS2_FS is not set
|
# CONFIG_NILFS2_FS is not set
|
||||||
|
# CONFIG_F2FS_FS is not set
|
||||||
# CONFIG_FS_DAX is not set
|
# CONFIG_FS_DAX is not set
|
||||||
CONFIG_FS_POSIX_ACL=y
|
CONFIG_FS_POSIX_ACL=y
|
||||||
CONFIG_EXPORTFS=y
|
CONFIG_EXPORTFS=y
|
||||||
@@ -1403,6 +1501,7 @@ CONFIG_PROC_FS=y
|
|||||||
# CONFIG_PROC_KCORE is not set
|
# CONFIG_PROC_KCORE is not set
|
||||||
CONFIG_PROC_SYSCTL=y
|
CONFIG_PROC_SYSCTL=y
|
||||||
CONFIG_PROC_PAGE_MONITOR=y
|
CONFIG_PROC_PAGE_MONITOR=y
|
||||||
|
# CONFIG_PROC_CHILDREN is not set
|
||||||
CONFIG_KERNFS=y
|
CONFIG_KERNFS=y
|
||||||
CONFIG_SYSFS=y
|
CONFIG_SYSFS=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
@@ -1497,6 +1596,7 @@ CONFIG_FRAME_WARN=2048
|
|||||||
# CONFIG_DEBUG_FS is not set
|
# CONFIG_DEBUG_FS is not set
|
||||||
# CONFIG_HEADERS_CHECK is not set
|
# CONFIG_HEADERS_CHECK is not set
|
||||||
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
||||||
|
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||||
CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
||||||
# CONFIG_FRAME_POINTER is not set
|
# CONFIG_FRAME_POINTER is not set
|
||||||
# CONFIG_MAGIC_SYSRQ is not set
|
# CONFIG_MAGIC_SYSRQ is not set
|
||||||
@@ -1517,6 +1617,8 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y
|
|||||||
# CONFIG_PANIC_ON_OOPS is not set
|
# CONFIG_PANIC_ON_OOPS is not set
|
||||||
CONFIG_PANIC_ON_OOPS_VALUE=0
|
CONFIG_PANIC_ON_OOPS_VALUE=0
|
||||||
CONFIG_PANIC_TIMEOUT=0
|
CONFIG_PANIC_TIMEOUT=0
|
||||||
|
CONFIG_SCHED_INFO=y
|
||||||
|
# CONFIG_DEBUG_TIMEKEEPING is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Lock Debugging (spinlocks, mutexes, etc...)
|
# Lock Debugging (spinlocks, mutexes, etc...)
|
||||||
@@ -1527,6 +1629,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
|||||||
#
|
#
|
||||||
# RCU Debugging
|
# RCU Debugging
|
||||||
#
|
#
|
||||||
|
# CONFIG_PROVE_RCU is not set
|
||||||
# CONFIG_SPARSE_RCU_POINTER is not set
|
# CONFIG_SPARSE_RCU_POINTER is not set
|
||||||
# CONFIG_TORTURE_TEST is not set
|
# CONFIG_TORTURE_TEST is not set
|
||||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||||
@@ -1551,6 +1654,7 @@ CONFIG_TRACING_SUPPORT=y
|
|||||||
# CONFIG_TEST_HEXDUMP is not set
|
# CONFIG_TEST_HEXDUMP is not set
|
||||||
# CONFIG_TEST_STRING_HELPERS is not set
|
# CONFIG_TEST_STRING_HELPERS is not set
|
||||||
# CONFIG_TEST_KSTRTOX is not set
|
# CONFIG_TEST_KSTRTOX is not set
|
||||||
|
# CONFIG_TEST_PRINTF is not set
|
||||||
# CONFIG_TEST_RHASHTABLE is not set
|
# CONFIG_TEST_RHASHTABLE is not set
|
||||||
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
|
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
|
||||||
# CONFIG_DMA_API_DEBUG is not set
|
# CONFIG_DMA_API_DEBUG is not set
|
||||||
@@ -1559,12 +1663,15 @@ CONFIG_TRACING_SUPPORT=y
|
|||||||
# CONFIG_TEST_BPF is not set
|
# CONFIG_TEST_BPF is not set
|
||||||
# CONFIG_TEST_FIRMWARE is not set
|
# CONFIG_TEST_FIRMWARE is not set
|
||||||
# CONFIG_TEST_UDELAY is not set
|
# CONFIG_TEST_UDELAY is not set
|
||||||
|
# CONFIG_MEMTEST is not set
|
||||||
|
# CONFIG_TEST_STATIC_KEYS is not set
|
||||||
# CONFIG_SAMPLES is not set
|
# CONFIG_SAMPLES is not set
|
||||||
CONFIG_HAVE_ARCH_KGDB=y
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
# CONFIG_STRICT_DEVMEM is not set
|
# CONFIG_STRICT_DEVMEM is not set
|
||||||
# CONFIG_X86_VERBOSE_BOOTUP is not set
|
# CONFIG_X86_VERBOSE_BOOTUP is not set
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
# CONFIG_EARLY_PRINTK_DBGP is not set
|
# CONFIG_EARLY_PRINTK_DBGP is not set
|
||||||
|
# CONFIG_X86_PTDUMP_CORE is not set
|
||||||
# CONFIG_DEBUG_SET_MODULE_RONX is not set
|
# CONFIG_DEBUG_SET_MODULE_RONX is not set
|
||||||
CONFIG_DOUBLEFAULT=y
|
CONFIG_DOUBLEFAULT=y
|
||||||
# CONFIG_IOMMU_STRESS is not set
|
# CONFIG_IOMMU_STRESS is not set
|
||||||
@@ -1579,6 +1686,7 @@ CONFIG_IO_DELAY_0X80=y
|
|||||||
# CONFIG_IO_DELAY_NONE is not set
|
# CONFIG_IO_DELAY_NONE is not set
|
||||||
CONFIG_DEFAULT_IO_DELAY_TYPE=0
|
CONFIG_DEFAULT_IO_DELAY_TYPE=0
|
||||||
# CONFIG_OPTIMIZE_INLINING is not set
|
# CONFIG_OPTIMIZE_INLINING is not set
|
||||||
|
# CONFIG_PUNIT_ATOM_DEBUG is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Security options
|
# Security options
|
||||||
@@ -1596,14 +1704,24 @@ CONFIG_CRYPTO=y
|
|||||||
#
|
#
|
||||||
CONFIG_CRYPTO_ALGAPI=y
|
CONFIG_CRYPTO_ALGAPI=y
|
||||||
CONFIG_CRYPTO_ALGAPI2=y
|
CONFIG_CRYPTO_ALGAPI2=y
|
||||||
|
CONFIG_CRYPTO_AEAD2=y
|
||||||
|
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||||
CONFIG_CRYPTO_HASH=y
|
CONFIG_CRYPTO_HASH=y
|
||||||
CONFIG_CRYPTO_HASH2=y
|
CONFIG_CRYPTO_HASH2=y
|
||||||
# CONFIG_CRYPTO_MANAGER is not set
|
CONFIG_CRYPTO_RNG=y
|
||||||
# CONFIG_CRYPTO_MANAGER2 is not set
|
CONFIG_CRYPTO_RNG2=y
|
||||||
|
CONFIG_CRYPTO_PCOMP2=y
|
||||||
|
CONFIG_CRYPTO_AKCIPHER2=y
|
||||||
|
# CONFIG_CRYPTO_RSA is not set
|
||||||
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
|
CONFIG_CRYPTO_MANAGER2=y
|
||||||
# CONFIG_CRYPTO_USER is not set
|
# CONFIG_CRYPTO_USER is not set
|
||||||
|
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||||
# CONFIG_CRYPTO_GF128MUL is not set
|
# CONFIG_CRYPTO_GF128MUL is not set
|
||||||
# CONFIG_CRYPTO_NULL is not set
|
# CONFIG_CRYPTO_NULL is not set
|
||||||
|
CONFIG_CRYPTO_NULL2=y
|
||||||
# CONFIG_CRYPTO_PCRYPT is not set
|
# CONFIG_CRYPTO_PCRYPT is not set
|
||||||
|
CONFIG_CRYPTO_WORKQUEUE=y
|
||||||
# CONFIG_CRYPTO_CRYPTD is not set
|
# CONFIG_CRYPTO_CRYPTD is not set
|
||||||
# CONFIG_CRYPTO_MCRYPTD is not set
|
# CONFIG_CRYPTO_MCRYPTD is not set
|
||||||
# CONFIG_CRYPTO_AUTHENC is not set
|
# CONFIG_CRYPTO_AUTHENC is not set
|
||||||
@@ -1614,7 +1732,9 @@ CONFIG_CRYPTO_HASH2=y
|
|||||||
#
|
#
|
||||||
# CONFIG_CRYPTO_CCM is not set
|
# CONFIG_CRYPTO_CCM is not set
|
||||||
# CONFIG_CRYPTO_GCM is not set
|
# CONFIG_CRYPTO_GCM is not set
|
||||||
|
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
|
||||||
# CONFIG_CRYPTO_SEQIV is not set
|
# CONFIG_CRYPTO_SEQIV is not set
|
||||||
|
# CONFIG_CRYPTO_ECHAINIV is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Block modes
|
# Block modes
|
||||||
@@ -1626,12 +1746,13 @@ CONFIG_CRYPTO_HASH2=y
|
|||||||
# CONFIG_CRYPTO_LRW is not set
|
# CONFIG_CRYPTO_LRW is not set
|
||||||
# CONFIG_CRYPTO_PCBC is not set
|
# CONFIG_CRYPTO_PCBC is not set
|
||||||
# CONFIG_CRYPTO_XTS is not set
|
# CONFIG_CRYPTO_XTS is not set
|
||||||
|
# CONFIG_CRYPTO_KEYWRAP is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hash modes
|
# Hash modes
|
||||||
#
|
#
|
||||||
# CONFIG_CRYPTO_CMAC is not set
|
# CONFIG_CRYPTO_CMAC is not set
|
||||||
# CONFIG_CRYPTO_HMAC is not set
|
CONFIG_CRYPTO_HMAC=y
|
||||||
# CONFIG_CRYPTO_XCBC is not set
|
# CONFIG_CRYPTO_XCBC is not set
|
||||||
# CONFIG_CRYPTO_VMAC is not set
|
# CONFIG_CRYPTO_VMAC is not set
|
||||||
|
|
||||||
@@ -1645,6 +1766,8 @@ CONFIG_CRYPTO_CRC32C=y
|
|||||||
CONFIG_CRYPTO_CRCT10DIF=y
|
CONFIG_CRYPTO_CRCT10DIF=y
|
||||||
# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
|
# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
|
||||||
# CONFIG_CRYPTO_GHASH is not set
|
# CONFIG_CRYPTO_GHASH is not set
|
||||||
|
# CONFIG_CRYPTO_POLY1305 is not set
|
||||||
|
# CONFIG_CRYPTO_POLY1305_X86_64 is not set
|
||||||
# CONFIG_CRYPTO_MD4 is not set
|
# CONFIG_CRYPTO_MD4 is not set
|
||||||
# CONFIG_CRYPTO_MD5 is not set
|
# CONFIG_CRYPTO_MD5 is not set
|
||||||
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
||||||
@@ -1657,7 +1780,7 @@ CONFIG_CRYPTO_CRCT10DIF=y
|
|||||||
# CONFIG_CRYPTO_SHA256_SSSE3 is not set
|
# CONFIG_CRYPTO_SHA256_SSSE3 is not set
|
||||||
# CONFIG_CRYPTO_SHA512_SSSE3 is not set
|
# CONFIG_CRYPTO_SHA512_SSSE3 is not set
|
||||||
# CONFIG_CRYPTO_SHA1_MB is not set
|
# CONFIG_CRYPTO_SHA1_MB is not set
|
||||||
# CONFIG_CRYPTO_SHA256 is not set
|
CONFIG_CRYPTO_SHA256=y
|
||||||
# CONFIG_CRYPTO_SHA512 is not set
|
# CONFIG_CRYPTO_SHA512 is not set
|
||||||
# CONFIG_CRYPTO_TGR192 is not set
|
# CONFIG_CRYPTO_TGR192 is not set
|
||||||
# CONFIG_CRYPTO_WP512 is not set
|
# CONFIG_CRYPTO_WP512 is not set
|
||||||
@@ -1687,6 +1810,8 @@ CONFIG_CRYPTO_AES=y
|
|||||||
# CONFIG_CRYPTO_KHAZAD is not set
|
# CONFIG_CRYPTO_KHAZAD is not set
|
||||||
# CONFIG_CRYPTO_SALSA20 is not set
|
# CONFIG_CRYPTO_SALSA20 is not set
|
||||||
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
|
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
|
||||||
|
# CONFIG_CRYPTO_CHACHA20 is not set
|
||||||
|
# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
|
||||||
# CONFIG_CRYPTO_SEED is not set
|
# CONFIG_CRYPTO_SEED is not set
|
||||||
# CONFIG_CRYPTO_SERPENT is not set
|
# CONFIG_CRYPTO_SERPENT is not set
|
||||||
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
|
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
|
||||||
@@ -1704,6 +1829,7 @@ CONFIG_CRYPTO_AES=y
|
|||||||
# CONFIG_CRYPTO_DEFLATE is not set
|
# CONFIG_CRYPTO_DEFLATE is not set
|
||||||
# CONFIG_CRYPTO_ZLIB is not set
|
# CONFIG_CRYPTO_ZLIB is not set
|
||||||
# CONFIG_CRYPTO_LZO is not set
|
# CONFIG_CRYPTO_LZO is not set
|
||||||
|
# CONFIG_CRYPTO_842 is not set
|
||||||
# CONFIG_CRYPTO_LZ4 is not set
|
# CONFIG_CRYPTO_LZ4 is not set
|
||||||
# CONFIG_CRYPTO_LZ4HC is not set
|
# CONFIG_CRYPTO_LZ4HC is not set
|
||||||
|
|
||||||
@@ -1711,11 +1837,21 @@ CONFIG_CRYPTO_AES=y
|
|||||||
# Random Number Generation
|
# Random Number Generation
|
||||||
#
|
#
|
||||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||||
# CONFIG_CRYPTO_DRBG_MENU is not set
|
CONFIG_CRYPTO_DRBG_MENU=y
|
||||||
|
CONFIG_CRYPTO_DRBG_HMAC=y
|
||||||
|
# CONFIG_CRYPTO_DRBG_HASH is not set
|
||||||
|
# CONFIG_CRYPTO_DRBG_CTR is not set
|
||||||
|
CONFIG_CRYPTO_DRBG=y
|
||||||
|
CONFIG_CRYPTO_JITTERENTROPY=y
|
||||||
# CONFIG_CRYPTO_USER_API_HASH is not set
|
# CONFIG_CRYPTO_USER_API_HASH is not set
|
||||||
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
|
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
|
||||||
# CONFIG_CRYPTO_USER_API_RNG is not set
|
# CONFIG_CRYPTO_USER_API_RNG is not set
|
||||||
|
# CONFIG_CRYPTO_USER_API_AEAD is not set
|
||||||
# CONFIG_CRYPTO_HW is not set
|
# CONFIG_CRYPTO_HW is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Certificates for signature checking
|
||||||
|
#
|
||||||
CONFIG_HAVE_KVM=y
|
CONFIG_HAVE_KVM=y
|
||||||
# CONFIG_VIRTUALIZATION is not set
|
# CONFIG_VIRTUALIZATION is not set
|
||||||
# CONFIG_BINARY_PRINTF is not set
|
# CONFIG_BINARY_PRINTF is not set
|
||||||
@@ -1725,6 +1861,7 @@ CONFIG_HAVE_KVM=y
|
|||||||
#
|
#
|
||||||
CONFIG_BITREVERSE=y
|
CONFIG_BITREVERSE=y
|
||||||
# CONFIG_HAVE_ARCH_BITREVERSE is not set
|
# CONFIG_HAVE_ARCH_BITREVERSE is not set
|
||||||
|
CONFIG_RATIONAL=y
|
||||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||||
CONFIG_GENERIC_STRNLEN_USER=y
|
CONFIG_GENERIC_STRNLEN_USER=y
|
||||||
CONFIG_GENERIC_NET_UTILS=y
|
CONFIG_GENERIC_NET_UTILS=y
|
||||||
@@ -1760,7 +1897,9 @@ CONFIG_CPU_RMAP=y
|
|||||||
CONFIG_DQL=y
|
CONFIG_DQL=y
|
||||||
CONFIG_NLATTR=y
|
CONFIG_NLATTR=y
|
||||||
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
|
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
|
||||||
CONFIG_AVERAGE=y
|
|
||||||
# CONFIG_CORDIC is not set
|
# CONFIG_CORDIC is not set
|
||||||
# CONFIG_DDR is not set
|
# CONFIG_DDR is not set
|
||||||
|
# CONFIG_SG_SPLIT is not set
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
|
CONFIG_ARCH_HAS_PMEM_API=y
|
||||||
|
CONFIG_ARCH_HAS_MMIO_FLUSH=y
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# v4.4
|
||||||
|
afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc
|
||||||
@@ -36,7 +36,7 @@ if [ "$1"x = "cbfs"x ]; then
|
|||||||
|
|
||||||
mkdir .cbfs
|
mkdir .cbfs
|
||||||
dd if=/dev/zero of=.cbfs/boot.bin bs=4096 count=1
|
dd if=/dev/zero of=.cbfs/boot.bin bs=4096 count=1
|
||||||
cbfstool .cbfs/cbfs.rom create -s 4096k -B .cbfs/boot.bin -m x86 0x1000
|
cbfstool .cbfs/cbfs.rom create -s 8128k -B .cbfs/boot.bin -m x86 0x1000
|
||||||
cbfstool .cbfs/cbfs.rom add -f kernel -n vmlinuz -t raw
|
cbfstool .cbfs/cbfs.rom add -f kernel -n vmlinuz -t raw
|
||||||
cbfstool .cbfs/cbfs.rom add -f hyper-initrd.img -n initrd -t raw
|
cbfstool .cbfs/cbfs.rom add -f hyper-initrd.img -n initrd -t raw
|
||||||
echo 'console=ttyS0 panic=1 no_timer_check' > .cbfs/cmdline
|
echo 'console=ttyS0 panic=1 no_timer_check' > .cbfs/cmdline
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
AC_INIT([hyperstart], [0.3], [www.hyper.sh])
|
AC_INIT([hyperstart], [0.5.0], [www.hyper.sh])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
|
||||||
AM_EXTRA_RECURSIVE_TARGETS([initrd cbfs])
|
AM_EXTRA_RECURSIVE_TARGETS([initrd cbfs])
|
||||||
AC_CONFIG_SRCDIR([src/init.c])
|
AC_CONFIG_SRCDIR([src/init.c])
|
||||||
|
|||||||
+59
-26
@@ -18,11 +18,57 @@
|
|||||||
#include "parse.h"
|
#include "parse.h"
|
||||||
#include "syscall.h"
|
#include "syscall.h"
|
||||||
|
|
||||||
|
static int send_exec_finishing(uint64_t seq, int len, int code, int block)
|
||||||
|
{
|
||||||
|
struct hyper_buf *buf = &ctl.tty.wbuf;
|
||||||
|
|
||||||
|
if (buf->get + len > buf->size) {
|
||||||
|
uint8_t *data;
|
||||||
|
fprintf(stdout, "%s: tty buf full\n", __func__);
|
||||||
|
|
||||||
|
data = realloc(buf->data, buf->size + len);
|
||||||
|
if (data == NULL) {
|
||||||
|
perror("realloc failed");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
buf->data = data;
|
||||||
|
buf->size += len;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* no in event, no more data, send eof */
|
||||||
|
hyper_set_be64(buf->data + buf->get, seq);
|
||||||
|
hyper_set_be32(buf->data + buf->get + 8, len);
|
||||||
|
if (len > 12)
|
||||||
|
buf->data[buf->get + 12] = code;
|
||||||
|
|
||||||
|
buf->get += len;
|
||||||
|
if (!block) {
|
||||||
|
hyper_modify_event(ctl.efd, &ctl.tty, EPOLLIN | EPOLLOUT);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hyper_setfd_block(ctl.tty.fd) < 0 ||
|
||||||
|
hyper_send_data(ctl.tty.fd, buf->data, buf->get) < 0 ||
|
||||||
|
hyper_setfd_nonblock(ctl.tty.fd) < 0) {
|
||||||
|
fprintf(stderr, "send eof failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int hyper_send_exec_eof(struct hyper_exec *exec, int block) {
|
||||||
|
return send_exec_finishing(exec->seq, 12, -1, block);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int hyper_send_exec_code(struct hyper_exec *exec, int block) {
|
||||||
|
return send_exec_finishing(exec->seq, 13, exec->code, block);
|
||||||
|
}
|
||||||
|
|
||||||
static void pts_hup(struct hyper_event *de, int efd, int out)
|
static void pts_hup(struct hyper_event *de, int efd, int out)
|
||||||
{
|
{
|
||||||
struct hyper_exec *exec;
|
struct hyper_exec *exec;
|
||||||
struct hyper_pod *pod = de->ptr;
|
struct hyper_pod *pod = de->ptr;
|
||||||
struct hyper_buf *buf = &ctl.tty.wbuf;
|
|
||||||
uint64_t seq;
|
uint64_t seq;
|
||||||
|
|
||||||
if (out) {
|
if (out) {
|
||||||
@@ -37,17 +83,7 @@ static void pts_hup(struct hyper_event *de, int efd, int out)
|
|||||||
|
|
||||||
hyper_event_hup(de, efd);
|
hyper_event_hup(de, efd);
|
||||||
|
|
||||||
if (buf->get + 12 > buf->size) {
|
hyper_send_exec_eof(exec, 0);
|
||||||
fprintf(stdout, "%s: tty buf full\n", __func__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* no in event, no more data, send eof */
|
|
||||||
hyper_set_be64(buf->data + buf->get, seq);
|
|
||||||
hyper_set_be32(buf->data + buf->get + 8, 12);
|
|
||||||
buf->get += 12;
|
|
||||||
|
|
||||||
hyper_modify_event(ctl.efd, &ctl.tty, EPOLLIN | EPOLLOUT);
|
|
||||||
|
|
||||||
hyper_release_exec(exec, pod);
|
hyper_release_exec(exec, pod);
|
||||||
}
|
}
|
||||||
@@ -394,7 +430,6 @@ static int hyper_do_exec_cmd(void *data)
|
|||||||
|
|
||||||
if (hyper_get_type(pipe[0], &type) < 0 || type != READY) {
|
if (hyper_get_type(pipe[0], &type) < 0 || type != READY) {
|
||||||
fprintf(stderr, "hyper init doesn't get execcmd ready message\n");
|
fprintf(stderr, "hyper init doesn't get execcmd ready message\n");
|
||||||
hyper_send_type(arg->pipe[1], ERROR);
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,13 +460,14 @@ static int hyper_do_exec_cmd(void *data)
|
|||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
exit:
|
exit:
|
||||||
hyper_send_type(pipe[1], ERROR);
|
|
||||||
_exit(ret);
|
|
||||||
|
|
||||||
out:
|
|
||||||
hyper_send_type(arg->pipe[1], ret ? ERROR : READY);
|
|
||||||
close(pipe[0]);
|
close(pipe[0]);
|
||||||
close(pipe[1]);
|
close(pipe[1]);
|
||||||
|
hyper_send_type(pipe[1], ERROR);
|
||||||
|
_exit(ret);
|
||||||
|
out:
|
||||||
|
close(pipe[0]);
|
||||||
|
close(pipe[1]);
|
||||||
|
hyper_send_type(arg->pipe[1], ret ? ERROR : READY);
|
||||||
_exit(ret);
|
_exit(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,7 +534,6 @@ int hyper_exec_cmd(char *json, int length)
|
|||||||
|
|
||||||
pid = clone(hyper_do_exec_cmd, stack + stacksize, CLONE_VM| CLONE_FILES| SIGCHLD, &arg);
|
pid = clone(hyper_do_exec_cmd, stack + stacksize, CLONE_VM| CLONE_FILES| SIGCHLD, &arg);
|
||||||
fprintf(stdout, "do_exec_cmd pid %d\n", pid);
|
fprintf(stdout, "do_exec_cmd pid %d\n", pid);
|
||||||
free(stack);
|
|
||||||
if (pid < 0) {
|
if (pid < 0) {
|
||||||
perror("clone hyper_do_exec_cmd failed");
|
perror("clone hyper_do_exec_cmd failed");
|
||||||
goto close_tty;
|
goto close_tty;
|
||||||
@@ -514,6 +549,7 @@ int hyper_exec_cmd(char *json, int length)
|
|||||||
out:
|
out:
|
||||||
close(arg.pipe[0]);
|
close(arg.pipe[0]);
|
||||||
close(arg.pipe[1]);
|
close(arg.pipe[1]);
|
||||||
|
free(stack);
|
||||||
return ret;
|
return ret;
|
||||||
close_tty:
|
close_tty:
|
||||||
close(exec->ptyfd);
|
close(exec->ptyfd);
|
||||||
@@ -563,6 +599,8 @@ int hyper_release_exec(struct hyper_exec *exec,
|
|||||||
|
|
||||||
list_del_init(&exec->list);
|
list_del_init(&exec->list);
|
||||||
|
|
||||||
|
hyper_send_exec_code(exec, 0);
|
||||||
|
|
||||||
fprintf(stdout, "%s exit code %" PRIu8"\n", __func__, exec->code);
|
fprintf(stdout, "%s exit code %" PRIu8"\n", __func__, exec->code);
|
||||||
if (exec->init) {
|
if (exec->init) {
|
||||||
fprintf(stdout, "%s container init exited, type %d, remains %d, policy %d\n",
|
fprintf(stdout, "%s container init exited, type %d, remains %d, policy %d\n",
|
||||||
@@ -652,16 +690,11 @@ int hyper_handle_exec_exit(struct hyper_pod *pod, int pid, uint8_t code)
|
|||||||
void hyper_cleanup_exec(struct hyper_pod *pod)
|
void hyper_cleanup_exec(struct hyper_pod *pod)
|
||||||
{
|
{
|
||||||
struct hyper_exec *exec, *next;
|
struct hyper_exec *exec, *next;
|
||||||
uint8_t buf[12];
|
|
||||||
|
|
||||||
if (hyper_setfd_block(ctl.tty.fd) < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
hyper_set_be32(buf + 8, 12);
|
|
||||||
list_for_each_entry_safe(exec, next, &pod->exec_head, list) {
|
list_for_each_entry_safe(exec, next, &pod->exec_head, list) {
|
||||||
fprintf(stdout, "send eof for exec seq %" PRIu64 "\n", exec->seq);
|
fprintf(stdout, "send eof for exec seq %" PRIu64 "\n", exec->seq);
|
||||||
hyper_set_be64(buf, exec->seq);
|
if (hyper_send_exec_eof(exec, 1) < 0 ||
|
||||||
if (hyper_send_data(ctl.tty.fd, buf, 12) < 0)
|
hyper_send_exec_code(exec, 1) < 0)
|
||||||
fprintf(stderr, "send eof failed\n");
|
fprintf(stderr, "send eof failed\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-6
@@ -402,13 +402,14 @@ static int hyper_container_stage0(void *data)
|
|||||||
|
|
||||||
ret = hyper_start_container(c, utsns, ipcns, pod);
|
ret = hyper_start_container(c, utsns, ipcns, pod);
|
||||||
out:
|
out:
|
||||||
|
close(pidns);
|
||||||
|
close(utsns);
|
||||||
|
close(ipcns);
|
||||||
|
|
||||||
if (hyper_send_type(arg->ctl_pipe[1], ret ? ERROR : READY) < 0) {
|
if (hyper_send_type(arg->ctl_pipe[1], ret ? ERROR : READY) < 0) {
|
||||||
fprintf(stderr, "container init send ready message failed\n");
|
fprintf(stderr, "container init send ready message failed\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
close(pidns);
|
|
||||||
close(utsns);
|
|
||||||
close(ipcns);
|
|
||||||
/* hyper_container_stage0 shares fd table with init, let init closes pipe. */
|
/* hyper_container_stage0 shares fd table with init, let init closes pipe. */
|
||||||
//close(arg->ctl_pipe[0]);
|
//close(arg->ctl_pipe[0]);
|
||||||
//close(arg->ctl_pipe[1]);
|
//close(arg->ctl_pipe[1]);
|
||||||
@@ -440,7 +441,6 @@ int hyper_start_container_stage0(struct hyper_container *c, struct hyper_pod *po
|
|||||||
}
|
}
|
||||||
|
|
||||||
pid = clone(hyper_container_stage0, stack + stacksize, CLONE_VM| CLONE_FILES| SIGCHLD, &arg);
|
pid = clone(hyper_container_stage0, stack + stacksize, CLONE_VM| CLONE_FILES| SIGCHLD, &arg);
|
||||||
free(stack);
|
|
||||||
if (pid < 0) {
|
if (pid < 0) {
|
||||||
perror("enter container pid ns failed");
|
perror("enter container pid ns failed");
|
||||||
goto out;
|
goto out;
|
||||||
@@ -464,6 +464,8 @@ int hyper_start_container_stage0(struct hyper_container *c, struct hyper_pod *po
|
|||||||
out:
|
out:
|
||||||
close(arg.ctl_pipe[0]);
|
close(arg.ctl_pipe[0]);
|
||||||
close(arg.ctl_pipe[1]);
|
close(arg.ctl_pipe[1]);
|
||||||
|
|
||||||
|
free(stack);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -916,7 +918,7 @@ static int hyper_do_cmd_read_file(void *data)
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
err:
|
err:
|
||||||
hyper_send_type(arg->pipe[1], ret ? ERROR : READY);
|
hyper_send_type(arg->pipe[1], ret ? ERROR : READY);
|
||||||
return ret;
|
_exit(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int hyper_cmd_read_file(char *json, int length, uint32_t *datalen, uint8_t **data)
|
static int hyper_cmd_read_file(char *json, int length, uint32_t *datalen, uint8_t **data)
|
||||||
@@ -967,7 +969,6 @@ static int hyper_cmd_read_file(char *json, int length, uint32_t *datalen, uint8_
|
|||||||
}
|
}
|
||||||
|
|
||||||
pid = clone(hyper_do_cmd_read_file, stack + stacksize, CLONE_VM| SIGCHLD, &arg);
|
pid = clone(hyper_do_cmd_read_file, stack + stacksize, CLONE_VM| SIGCHLD, &arg);
|
||||||
free(stack);
|
|
||||||
if (pid < 0) {
|
if (pid < 0) {
|
||||||
perror("fail to fork writter process");
|
perror("fail to fork writter process");
|
||||||
goto out;
|
goto out;
|
||||||
@@ -984,6 +985,7 @@ out:
|
|||||||
close(arg.pipe[1]);
|
close(arg.pipe[1]);
|
||||||
free(reader.id);
|
free(reader.id);
|
||||||
free(reader.file);
|
free(reader.file);
|
||||||
|
free(stack);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -1154,6 +1156,8 @@ static int hyper_channel_handle(struct hyper_event *de, uint32_t len)
|
|||||||
pod->type = type;
|
pod->type = type;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case STARTPOD:
|
case STARTPOD:
|
||||||
|
online_cpu();
|
||||||
|
online_memory();
|
||||||
ret = hyper_start_pod((char *)buf->data + 8, len - 8);
|
ret = hyper_start_pod((char *)buf->data + 8, len - 8);
|
||||||
hyper_print_uptime();
|
hyper_print_uptime();
|
||||||
break;
|
break;
|
||||||
|
|||||||
+138
-36
@@ -6,10 +6,112 @@
|
|||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "parse.h"
|
#include "parse.h"
|
||||||
|
|
||||||
|
/* parse_utf_16() and process_string() are copied from https://github.com/kgabis/parson */
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#define JSONFailure (-1)
|
||||||
|
#define JSONSuccess (0)
|
||||||
|
#define parson_malloc malloc
|
||||||
|
#define parson_free free
|
||||||
|
|
||||||
|
static int is_utf16_hex(const unsigned char *s) {
|
||||||
|
return isxdigit(s[0]) && isxdigit(s[1]) && isxdigit(s[2]) && isxdigit(s[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int parse_utf_16(const char **unprocessed, char **processed) {
|
||||||
|
unsigned int cp, lead, trail;
|
||||||
|
char *processed_ptr = *processed;
|
||||||
|
const char *unprocessed_ptr = *unprocessed;
|
||||||
|
unprocessed_ptr++; /* skips u */
|
||||||
|
if (!is_utf16_hex((const unsigned char*)unprocessed_ptr) || sscanf(unprocessed_ptr, "%4x", &cp) == EOF)
|
||||||
|
return JSONFailure;
|
||||||
|
if (cp < 0x80) {
|
||||||
|
*processed_ptr = cp; /* 0xxxxxxx */
|
||||||
|
} else if (cp < 0x800) {
|
||||||
|
*processed_ptr++ = ((cp >> 6) & 0x1F) | 0xC0; /* 110xxxxx */
|
||||||
|
*processed_ptr = ((cp ) & 0x3F) | 0x80; /* 10xxxxxx */
|
||||||
|
} else if (cp < 0xD800 || cp > 0xDFFF) {
|
||||||
|
*processed_ptr++ = ((cp >> 12) & 0x0F) | 0xE0; /* 1110xxxx */
|
||||||
|
*processed_ptr++ = ((cp >> 6) & 0x3F) | 0x80; /* 10xxxxxx */
|
||||||
|
*processed_ptr = ((cp ) & 0x3F) | 0x80; /* 10xxxxxx */
|
||||||
|
} else if (cp >= 0xD800 && cp <= 0xDBFF) { /* lead surrogate (0xD800..0xDBFF) */
|
||||||
|
lead = cp;
|
||||||
|
unprocessed_ptr += 4; /* should always be within the buffer, otherwise previous sscanf would fail */
|
||||||
|
if (*unprocessed_ptr++ != '\\' || *unprocessed_ptr++ != 'u' || /* starts with \u? */
|
||||||
|
!is_utf16_hex((const unsigned char*)unprocessed_ptr) ||
|
||||||
|
sscanf(unprocessed_ptr, "%4x", &trail) == EOF ||
|
||||||
|
trail < 0xDC00 || trail > 0xDFFF) { /* valid trail surrogate? (0xDC00..0xDFFF) */
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
cp = ((((lead-0xD800)&0x3FF)<<10)|((trail-0xDC00)&0x3FF))+0x010000;
|
||||||
|
*processed_ptr++ = (((cp >> 18) & 0x07) | 0xF0); /* 11110xxx */
|
||||||
|
*processed_ptr++ = (((cp >> 12) & 0x3F) | 0x80); /* 10xxxxxx */
|
||||||
|
*processed_ptr++ = (((cp >> 6) & 0x3F) | 0x80); /* 10xxxxxx */
|
||||||
|
*processed_ptr = (((cp ) & 0x3F) | 0x80); /* 10xxxxxx */
|
||||||
|
} else { /* trail surrogate before lead surrogate */
|
||||||
|
return JSONFailure;
|
||||||
|
}
|
||||||
|
unprocessed_ptr += 3;
|
||||||
|
*processed = processed_ptr;
|
||||||
|
*unprocessed = unprocessed_ptr;
|
||||||
|
return JSONSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Copies and processes passed string up to supplied length.
|
||||||
|
Example: "\u006Corem ipsum" -> lorem ipsum */
|
||||||
|
static char* process_string(const char *input, size_t len) {
|
||||||
|
const char *input_ptr = input;
|
||||||
|
size_t initial_size = (len + 1) * sizeof(char);
|
||||||
|
//size_t final_size = 0;
|
||||||
|
char *output = (char*)parson_malloc(initial_size);
|
||||||
|
char *output_ptr = output;
|
||||||
|
//char *resized_output = NULL;
|
||||||
|
while ((*input_ptr != '\0') && (size_t)(input_ptr - input) < len) {
|
||||||
|
if (*input_ptr == '\\') {
|
||||||
|
input_ptr++;
|
||||||
|
switch (*input_ptr) {
|
||||||
|
case '\"': *output_ptr = '\"'; break;
|
||||||
|
case '\\': *output_ptr = '\\'; break;
|
||||||
|
case '/': *output_ptr = '/'; break;
|
||||||
|
case 'b': *output_ptr = '\b'; break;
|
||||||
|
case 'f': *output_ptr = '\f'; break;
|
||||||
|
case 'n': *output_ptr = '\n'; break;
|
||||||
|
case 'r': *output_ptr = '\r'; break;
|
||||||
|
case 't': *output_ptr = '\t'; break;
|
||||||
|
case 'u':
|
||||||
|
if (parse_utf_16(&input_ptr, &output_ptr) == JSONFailure)
|
||||||
|
goto error;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
} else if ((unsigned char)*input_ptr < 0x20) {
|
||||||
|
goto error; /* 0x00-0x19 are invalid characters for json string (http://www.ietf.org/rfc/rfc4627.txt) */
|
||||||
|
} else {
|
||||||
|
*output_ptr = *input_ptr;
|
||||||
|
}
|
||||||
|
output_ptr++;
|
||||||
|
input_ptr++;
|
||||||
|
}
|
||||||
|
*output_ptr = '\0';
|
||||||
|
/* resize to new length */
|
||||||
|
//final_size = (size_t)(output_ptr-output) + 1;
|
||||||
|
//resized_output = (char*)parson_malloc(final_size);
|
||||||
|
//if (resized_output == NULL)
|
||||||
|
// goto error;
|
||||||
|
//memcpy(resized_output, output, final_size);
|
||||||
|
//parson_free(output);
|
||||||
|
//return resized_output;
|
||||||
|
return output;
|
||||||
|
error:
|
||||||
|
parson_free(output);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
char *json_token_str(char *js, jsmntok_t *t)
|
char *json_token_str(char *js, jsmntok_t *t)
|
||||||
{
|
{
|
||||||
js[t->end] = '\0';
|
return process_string(js+t->start, t->end - t->start);
|
||||||
return js + t->start;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int json_token_int(char *js, jsmntok_t *t)
|
int json_token_int(char *js, jsmntok_t *t)
|
||||||
@@ -48,7 +150,7 @@ static int container_parse_cmd(struct hyper_container *c, char *json, jsmntok_t
|
|||||||
|
|
||||||
i++;
|
i++;
|
||||||
for (j = 0; j < c->exec.argc; j++, i++) {
|
for (j = 0; j < c->exec.argc; j++, i++) {
|
||||||
c->exec.argv[j] = strdup(json_token_str(json, &toks[i]));
|
c->exec.argv[j] = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "container init arg %d %s\n", j, c->exec.argv[j]);
|
fprintf(stdout, "container init arg %d %s\n", j, c->exec.argv[j]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,18 +216,18 @@ static int container_parse_volumes(struct hyper_container *c, char *json, jsmnto
|
|||||||
for (i_volume = 0; i_volume < next_volume; i_volume++, i++) {
|
for (i_volume = 0; i_volume < next_volume; i_volume++, i++) {
|
||||||
if (json_token_streq(json, &toks[i], "device")) {
|
if (json_token_streq(json, &toks[i], "device")) {
|
||||||
c->vols[j].device =
|
c->vols[j].device =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "volume %d device %s\n", j, c->vols[j].device);
|
fprintf(stdout, "volume %d device %s\n", j, c->vols[j].device);
|
||||||
} else if (json_token_streq(json, &toks[i], "addr")) {
|
} else if (json_token_streq(json, &toks[i], "addr")) {
|
||||||
c->vols[j].scsiaddr = strdup(json_token_str(json, &toks[++i]));
|
c->vols[j].scsiaddr = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "volume %d scsi id %s\n", j, c->vols[j].scsiaddr);
|
fprintf(stdout, "volume %d scsi id %s\n", j, c->vols[j].scsiaddr);
|
||||||
} else if (json_token_streq(json, &toks[i], "mount")) {
|
} else if (json_token_streq(json, &toks[i], "mount")) {
|
||||||
c->vols[j].mountpoint =
|
c->vols[j].mountpoint =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "volume %d mp %s\n", j, c->vols[j].mountpoint);
|
fprintf(stdout, "volume %d mp %s\n", j, c->vols[j].mountpoint);
|
||||||
} else if (json_token_streq(json, &toks[i], "fstype")) {
|
} else if (json_token_streq(json, &toks[i], "fstype")) {
|
||||||
c->vols[j].fstype =
|
c->vols[j].fstype =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "volume %d fstype %s\n", j, c->vols[j].fstype);
|
fprintf(stdout, "volume %d fstype %s\n", j, c->vols[j].fstype);
|
||||||
} else if (json_token_streq(json, &toks[i], "readOnly")) {
|
} else if (json_token_streq(json, &toks[i], "readOnly")) {
|
||||||
if (!json_token_streq(json, &toks[++i], "false"))
|
if (!json_token_streq(json, &toks[++i], "false"))
|
||||||
@@ -186,11 +288,11 @@ static int container_parse_fsmap(struct hyper_container *c, char *json, jsmntok_
|
|||||||
for (i_map = 0; i_map < next_map; i_map++, i++) {
|
for (i_map = 0; i_map < next_map; i_map++, i++) {
|
||||||
if (json_token_streq(json, &toks[i], "source")) {
|
if (json_token_streq(json, &toks[i], "source")) {
|
||||||
c->maps[j].source =
|
c->maps[j].source =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "maps %d source %s\n", j, c->maps[j].source);
|
fprintf(stdout, "maps %d source %s\n", j, c->maps[j].source);
|
||||||
} else if (json_token_streq(json, &toks[i], "path")) {
|
} else if (json_token_streq(json, &toks[i], "path")) {
|
||||||
c->maps[j].path =
|
c->maps[j].path =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "maps %d path %s\n", j, c->maps[j].path);
|
fprintf(stdout, "maps %d path %s\n", j, c->maps[j].path);
|
||||||
} else if (json_token_streq(json, &toks[i], "readOnly")) {
|
} else if (json_token_streq(json, &toks[i], "readOnly")) {
|
||||||
if (!json_token_streq(json, &toks[++i], "false"))
|
if (!json_token_streq(json, &toks[++i], "false"))
|
||||||
@@ -252,11 +354,11 @@ static int container_parse_envs(struct hyper_container *c, char *json, jsmntok_t
|
|||||||
for (i_env = 0; i_env < next_env; i_env++, i++) {
|
for (i_env = 0; i_env < next_env; i_env++, i++) {
|
||||||
if (json_token_streq(json, &toks[i], "env")) {
|
if (json_token_streq(json, &toks[i], "env")) {
|
||||||
c->envs[j].env =
|
c->envs[j].env =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "envs %d env %s\n", j, c->envs[j].env);
|
fprintf(stdout, "envs %d env %s\n", j, c->envs[j].env);
|
||||||
} else if (json_token_streq(json, &toks[i], "value")) {
|
} else if (json_token_streq(json, &toks[i], "value")) {
|
||||||
c->envs[j].value =
|
c->envs[j].value =
|
||||||
strdup(json_token_str(json, &toks[++i]));
|
(json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "envs %d value %s\n", j, c->envs[j].value);
|
fprintf(stdout, "envs %d value %s\n", j, c->envs[j].value);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stdout, "get unknown section %s in envs\n",
|
fprintf(stdout, "get unknown section %s in envs\n",
|
||||||
@@ -304,11 +406,11 @@ static int container_parse_sysctl(struct hyper_container *c, char *json, jsmntok
|
|||||||
|
|
||||||
i++;
|
i++;
|
||||||
for (j = 0; j < c->sys_num; j++) {
|
for (j = 0; j < c->sys_num; j++) {
|
||||||
c->sys[j].path = strdup(json_token_str(json, &toks[++i]));
|
c->sys[j].path = (json_token_str(json, &toks[++i]));
|
||||||
while((p = strchr(c->sys[j].path, '.')) != NULL) {
|
while((p = strchr(c->sys[j].path, '.')) != NULL) {
|
||||||
*p = '/';
|
*p = '/';
|
||||||
}
|
}
|
||||||
c->sys[j].value = strdup(json_token_str(json, &toks[++i]));
|
c->sys[j].value = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "sysctl %s:%s\n", c->sys[j].path, c->sys[j].value);
|
fprintf(stdout, "sysctl %s:%s\n", c->sys[j].path, c->sys[j].value);
|
||||||
}
|
}
|
||||||
return i;
|
return i;
|
||||||
@@ -381,7 +483,7 @@ static int hyper_parse_container(struct hyper_pod *pod, struct hyper_container *
|
|||||||
t = &toks[i];
|
t = &toks[i];
|
||||||
fprintf(stdout, "%d name %s\n", i, json_token_str(json, t));
|
fprintf(stdout, "%d name %s\n", i, json_token_str(json, t));
|
||||||
if (json_token_streq(json, t, "id") && t->size == 1) {
|
if (json_token_streq(json, t, "id") && t->size == 1) {
|
||||||
c->id = strdup(json_token_str(json, &toks[++i]));
|
c->id = (json_token_str(json, &toks[++i]));
|
||||||
c->exec.id = strdup(c->id);
|
c->exec.id = strdup(c->id);
|
||||||
fprintf(stdout, "container id %s\n", c->id);
|
fprintf(stdout, "container id %s\n", c->id);
|
||||||
i++;
|
i++;
|
||||||
@@ -391,7 +493,7 @@ static int hyper_parse_container(struct hyper_pod *pod, struct hyper_container *
|
|||||||
goto fail;
|
goto fail;
|
||||||
i += next;
|
i += next;
|
||||||
} else if (json_token_streq(json, t, "rootfs") && t->size == 1) {
|
} else if (json_token_streq(json, t, "rootfs") && t->size == 1) {
|
||||||
c->rootfs = strdup(json_token_str(json, &toks[++i]));
|
c->rootfs = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "container rootfs %s\n", c->rootfs);
|
fprintf(stdout, "container rootfs %s\n", c->rootfs);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "tty") && t->size == 1) {
|
} else if (json_token_streq(json, t, "tty") && t->size == 1) {
|
||||||
@@ -403,19 +505,19 @@ static int hyper_parse_container(struct hyper_pod *pod, struct hyper_container *
|
|||||||
fprintf(stdout, "container stderr seq %" PRIu64 "\n", c->exec.errseq);
|
fprintf(stdout, "container stderr seq %" PRIu64 "\n", c->exec.errseq);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "workdir") && t->size == 1) {
|
} else if (json_token_streq(json, t, "workdir") && t->size == 1) {
|
||||||
c->workdir = strdup(json_token_str(json, &toks[++i]));
|
c->workdir = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "container workdir %s\n", c->workdir);
|
fprintf(stdout, "container workdir %s\n", c->workdir);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "image") && t->size == 1) {
|
} else if (json_token_streq(json, t, "image") && t->size == 1) {
|
||||||
c->image = strdup(json_token_str(json, &toks[++i]));
|
c->image = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "container image %s\n", c->image);
|
fprintf(stdout, "container image %s\n", c->image);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "addr") && t->size == 1) {
|
} else if (json_token_streq(json, t, "addr") && t->size == 1) {
|
||||||
c->scsiaddr = strdup(json_token_str(json, &toks[++i]));
|
c->scsiaddr = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "container image scsi id %s\n", c->scsiaddr);
|
fprintf(stdout, "container image scsi id %s\n", c->scsiaddr);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "fstype") && t->size == 1) {
|
} else if (json_token_streq(json, t, "fstype") && t->size == 1) {
|
||||||
c->fstype = strdup(json_token_str(json, &toks[++i]));
|
c->fstype = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "container fstype %s\n", c->fstype);
|
fprintf(stdout, "container fstype %s\n", c->fstype);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "volumes") && t->size == 1) {
|
} else if (json_token_streq(json, t, "volumes") && t->size == 1) {
|
||||||
@@ -521,13 +623,13 @@ static int hyper_parse_interfaces(struct hyper_pod *pod, char *json, jsmntok_t *
|
|||||||
i++;
|
i++;
|
||||||
for (i_if = 0; i_if < next_if; i_if++, i++) {
|
for (i_if = 0; i_if < next_if; i_if++, i++) {
|
||||||
if (json_token_streq(json, &toks[i], "device")) {
|
if (json_token_streq(json, &toks[i], "device")) {
|
||||||
iface->device = strdup(json_token_str(json, &toks[++i]));
|
iface->device = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "net device is %s\n", iface->device);
|
fprintf(stdout, "net device is %s\n", iface->device);
|
||||||
} else if (json_token_streq(json, &toks[i], "ipAddress")) {
|
} else if (json_token_streq(json, &toks[i], "ipAddress")) {
|
||||||
iface->ipaddr = strdup(json_token_str(json, &toks[++i]));
|
iface->ipaddr = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "net ipaddress is %s\n", iface->ipaddr);
|
fprintf(stdout, "net ipaddress is %s\n", iface->ipaddr);
|
||||||
} else if (json_token_streq(json, &toks[i], "netMask")) {
|
} else if (json_token_streq(json, &toks[i], "netMask")) {
|
||||||
iface->mask = strdup(json_token_str(json, &toks[++i]));
|
iface->mask = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "net mask is %s\n", iface->mask);
|
fprintf(stdout, "net mask is %s\n", iface->mask);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "get unknown section %s in interfaces\n",
|
fprintf(stderr, "get unknown section %s in interfaces\n",
|
||||||
@@ -573,13 +675,13 @@ static int hyper_parse_routes(struct hyper_pod *pod, char *json, jsmntok_t *toks
|
|||||||
i++;
|
i++;
|
||||||
for (i_rt = 0; i_rt < next_rt; i_rt++, i++) {
|
for (i_rt = 0; i_rt < next_rt; i_rt++, i++) {
|
||||||
if (json_token_streq(json, &toks[i], "dest")) {
|
if (json_token_streq(json, &toks[i], "dest")) {
|
||||||
rt->dst = strdup(json_token_str(json, &toks[++i]));
|
rt->dst = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "route %d dest is %s\n", j, rt->dst);
|
fprintf(stdout, "route %d dest is %s\n", j, rt->dst);
|
||||||
} else if (json_token_streq(json, &toks[i], "gateway")) {
|
} else if (json_token_streq(json, &toks[i], "gateway")) {
|
||||||
rt->gw = strdup(json_token_str(json, &toks[++i]));
|
rt->gw = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "route %d gateway is %s\n", j, rt->gw);
|
fprintf(stdout, "route %d gateway is %s\n", j, rt->gw);
|
||||||
} else if (json_token_streq(json, &toks[i], "device")) {
|
} else if (json_token_streq(json, &toks[i], "device")) {
|
||||||
rt->device = strdup(json_token_str(json, &toks[++i]));
|
rt->device = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "route %d device is %s\n", j, rt->device);
|
fprintf(stdout, "route %d device is %s\n", j, rt->device);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "get unknown section %s in routes\n",
|
fprintf(stderr, "get unknown section %s in routes\n",
|
||||||
@@ -612,7 +714,7 @@ static int hyper_parse_dns(struct hyper_pod *pod, char *json, jsmntok_t *toks)
|
|||||||
|
|
||||||
i++;
|
i++;
|
||||||
for (j = 0; j < pod->d_num; j++, i++) {
|
for (j = 0; j < pod->d_num; j++, i++) {
|
||||||
pod->dns[j] = strdup(json_token_str(json, &toks[i]));
|
pod->dns[j] = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "pod dns %d: %s\n", j, pod->dns[j]);
|
fprintf(stdout, "pod dns %d: %s\n", j, pod->dns[j]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -685,11 +787,11 @@ realloc:
|
|||||||
|
|
||||||
i += next;
|
i += next;
|
||||||
} else if (json_token_streq(json, t, "shareDir") && t->size == 1) {
|
} else if (json_token_streq(json, t, "shareDir") && t->size == 1) {
|
||||||
pod->share_tag = strdup(json_token_str(json, &toks[++i]));
|
pod->share_tag = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "share tag is %s\n", pod->share_tag);
|
fprintf(stdout, "share tag is %s\n", pod->share_tag);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "hostname") && t->size == 1) {
|
} else if (json_token_streq(json, t, "hostname") && t->size == 1) {
|
||||||
pod->hostname = strdup(json_token_str(json, &toks[++i]));
|
pod->hostname = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "hostname is %s\n", pod->hostname);
|
fprintf(stdout, "hostname is %s\n", pod->hostname);
|
||||||
i++;
|
i++;
|
||||||
} else if (json_token_streq(json, t, "restartPolicy") && t->size == 1) {
|
} else if (json_token_streq(json, t, "restartPolicy") && t->size == 1) {
|
||||||
@@ -791,7 +893,7 @@ realloc:
|
|||||||
if (json_token_streq(json, t, "container")) {
|
if (json_token_streq(json, t, "container")) {
|
||||||
if (toks[i].type != JSMN_STRING)
|
if (toks[i].type != JSMN_STRING)
|
||||||
goto fail;
|
goto fail;
|
||||||
killer->id = strdup(json_token_str(json, &toks[i]));
|
killer->id = (json_token_str(json, &toks[i]));
|
||||||
} else if (json_token_streq(json, t, "signal")) {
|
} else if (json_token_streq(json, t, "signal")) {
|
||||||
if (toks[i].type != JSMN_PRIMITIVE)
|
if (toks[i].type != JSMN_PRIMITIVE)
|
||||||
goto fail;
|
goto fail;
|
||||||
@@ -853,7 +955,7 @@ realloc:
|
|||||||
if (json_token_streq(json, t, "tty")) {
|
if (json_token_streq(json, t, "tty")) {
|
||||||
if (toks[i].type != JSMN_STRING)
|
if (toks[i].type != JSMN_STRING)
|
||||||
goto fail;
|
goto fail;
|
||||||
ws->tty = strdup(json_token_str(json, &toks[i]));
|
ws->tty = (json_token_str(json, &toks[i]));
|
||||||
} else if (json_token_streq(json, t, "seq")) {
|
} else if (json_token_streq(json, t, "seq")) {
|
||||||
if (toks[i].type != JSMN_PRIMITIVE)
|
if (toks[i].type != JSMN_PRIMITIVE)
|
||||||
goto fail;
|
goto fail;
|
||||||
@@ -929,7 +1031,7 @@ realloc:
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (json_token_streq(json, t, "container")) {
|
if (json_token_streq(json, t, "container")) {
|
||||||
exec->id = strdup(json_token_str(json, &toks[++i]));
|
exec->id = (json_token_str(json, &toks[++i]));
|
||||||
fprintf(stdout, "get container %s\n", exec->id);
|
fprintf(stdout, "get container %s\n", exec->id);
|
||||||
} else if (json_token_streq(json, t, "seq")) {
|
} else if (json_token_streq(json, t, "seq")) {
|
||||||
has_seq = 1;
|
has_seq = 1;
|
||||||
@@ -949,7 +1051,7 @@ realloc:
|
|||||||
exec->argc = toks[i].size;
|
exec->argc = toks[i].size;
|
||||||
exec->argv[exec->argc] = NULL;
|
exec->argv[exec->argc] = NULL;
|
||||||
} else if (j < exec->argc) {
|
} else if (j < exec->argc) {
|
||||||
exec->argv[j++] = strdup(json_token_str(json, &toks[i]));
|
exec->argv[j++] = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "argv %d, %s\n", j - 1, exec->argv[j - 1]);
|
fprintf(stdout, "argv %d, %s\n", j - 1, exec->argv[j - 1]);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "get unknown section %s in exec cmd\n",
|
fprintf(stderr, "get unknown section %s in exec cmd\n",
|
||||||
@@ -1023,10 +1125,10 @@ int hyper_parse_write_file(struct hyper_writter *writter, char *json, int length
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (json_token_streq(json, t, "container")) {
|
if (json_token_streq(json, t, "container")) {
|
||||||
writter->id = strdup(json_token_str(json, &toks[i]));
|
writter->id = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "writefile get container %s\n", writter->id);
|
fprintf(stdout, "writefile get container %s\n", writter->id);
|
||||||
} else if (json_token_streq(json, t, "file")) {
|
} else if (json_token_streq(json, t, "file")) {
|
||||||
writter->file = strdup(json_token_str(json, &toks[i]));
|
writter->file = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "writefile get file %s\n", writter->file);
|
fprintf(stdout, "writefile get file %s\n", writter->file);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "get unknown section %s in writefile\n",
|
fprintf(stderr, "get unknown section %s in writefile\n",
|
||||||
@@ -1086,10 +1188,10 @@ int hyper_parse_read_file(struct hyper_reader *reader, char *json, int length)
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (json_token_streq(json, t, "container")) {
|
if (json_token_streq(json, t, "container")) {
|
||||||
reader->id = strdup(json_token_str(json, &toks[i]));
|
reader->id = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "readfile get container %s\n", reader->id);
|
fprintf(stdout, "readfile get container %s\n", reader->id);
|
||||||
} else if (json_token_streq(json, t, "file")) {
|
} else if (json_token_streq(json, t, "file")) {
|
||||||
reader->file = strdup(json_token_str(json, &toks[i]));
|
reader->file = (json_token_str(json, &toks[i]));
|
||||||
fprintf(stdout, "readfile get file %s\n", reader->file);
|
fprintf(stdout, "readfile get file %s\n", reader->file);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stdout, "get unknown section %s in readfile\n",
|
fprintf(stdout, "get unknown section %s in readfile\n",
|
||||||
|
|||||||
+72
@@ -140,6 +140,78 @@ int hyper_mkdir(char *hyper_path)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void online_cpu(void)
|
||||||
|
{
|
||||||
|
DIR *dir = opendir("/sys/devices/system/cpu");
|
||||||
|
if (dir == NULL) {
|
||||||
|
fprintf(stderr, "open dir /sys/devices/system/cpu failed\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
printf("online_cpu()\n");
|
||||||
|
for (;;) {
|
||||||
|
int num;
|
||||||
|
int ret;
|
||||||
|
char path[256];
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
struct dirent *entry = readdir(dir);
|
||||||
|
if (entry == NULL)
|
||||||
|
break;
|
||||||
|
if (entry->d_type != DT_DIR)
|
||||||
|
continue;
|
||||||
|
ret = sscanf(entry->d_name, "cpu%d", &num);
|
||||||
|
if (ret < 1 || num == 0) /* skip none cpu%d and cpu0 */
|
||||||
|
continue;
|
||||||
|
sprintf(path, "/sys/devices/system/cpu/%s/online", entry->d_name);
|
||||||
|
fd = open(path, O_RDWR);
|
||||||
|
if (fd < 0) {
|
||||||
|
fprintf(stderr, "open %s failed\n", path);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
printf("try to online %s\n", entry->d_name);
|
||||||
|
ret = write(fd, "1", sizeof("1"));
|
||||||
|
printf("online %s result: %s\n", entry->d_name, ret == 2 ? "success" : "failed");
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
closedir(dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
void online_memory(void)
|
||||||
|
{
|
||||||
|
DIR *dir = opendir("/sys/devices/system/memory");
|
||||||
|
if (dir == NULL) {
|
||||||
|
fprintf(stderr, "open dir /sys/devices/system/memory failed\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
printf("online_memory()\n");
|
||||||
|
for (;;) {
|
||||||
|
int num;
|
||||||
|
int ret;
|
||||||
|
char path[256];
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
struct dirent *entry = readdir(dir);
|
||||||
|
if (entry == NULL)
|
||||||
|
break;
|
||||||
|
if (entry->d_type != DT_DIR)
|
||||||
|
continue;
|
||||||
|
ret = sscanf(entry->d_name, "memory%d", &num);
|
||||||
|
if (ret < 1 || num == 0) /* skip none memory%d and memory0 */
|
||||||
|
continue;
|
||||||
|
sprintf(path, "/sys/devices/system/memory/%s/online", entry->d_name);
|
||||||
|
fd = open(path, O_RDWR);
|
||||||
|
if (fd < 0) {
|
||||||
|
fprintf(stderr, "open %s failed\n", path);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
printf("try to online %s\n", entry->d_name);
|
||||||
|
ret = write(fd, "1", sizeof("1"));
|
||||||
|
printf("online %s result: %s\n", entry->d_name, ret == 2 ? "success" : "failed");
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
closedir(dir);
|
||||||
|
}
|
||||||
|
|
||||||
#if WITH_VBOX
|
#if WITH_VBOX
|
||||||
|
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ char *read_cmdline(void);
|
|||||||
int hyper_setup_env(struct env *envs, int num);
|
int hyper_setup_env(struct env *envs, int num);
|
||||||
int hyper_find_sd(char *prefix, char *addr, char **dev);
|
int hyper_find_sd(char *prefix, char *addr, char **dev);
|
||||||
int hyper_list_dir(char *path);
|
int hyper_list_dir(char *path);
|
||||||
|
void online_cpu(void);
|
||||||
|
void online_memory(void);
|
||||||
int hyper_mkdir(char *path);
|
int hyper_mkdir(char *path);
|
||||||
int hyper_open_channel(char *channel, int mode);
|
int hyper_open_channel(char *channel, int mode);
|
||||||
int hyper_open_serial_dev(char *tty);
|
int hyper_open_serial_dev(char *tty);
|
||||||
|
|||||||
Reference in New Issue
Block a user