├── src ├── Makefile ├── mypcb.h ├── scheduler.c └── main.c ├── .gitignore ├── README.md ├── Makefile ├── patches └── linux-4_1-mykernel.patch └── configs └── mini-x86.config /src/Makefile: -------------------------------------------------------------------------------- 1 | # used by Linux kernel 2 | obj-y = \ 3 | main.o \ 4 | scheduler.o 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # intermediate directories 2 | downloads/ 3 | linux-4.1/ 4 | .stamps/ 5 | .out/ 6 | 7 | # Normal rules 8 | .* 9 | *.o 10 | *.o.* 11 | *.order 12 | -------------------------------------------------------------------------------- /src/mypcb.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define MAX_TASK_NUM 4 4 | #define KERNEL_STACK_SIZE (1024 * 8) 5 | 6 | /* CPU-specific state of this task */ 7 | struct myThread { 8 | uintptr_t ip; 9 | uintptr_t sp; 10 | }; 11 | 12 | enum myState { S_unrunnable = -1, S_runnable = 0, S_stopped = 1 }; 13 | typedef struct _myPCB { 14 | int pid; 15 | volatile enum myState state; 16 | char stack[KERNEL_STACK_SIZE]; 17 | /* CPU-specific state of this task */ 18 | struct myThread thread; 19 | uintptr_t task_entry; 20 | struct _myPCB *next; 21 | } myPCB; 22 | 23 | void my_schedule(void); 24 | -------------------------------------------------------------------------------- /src/scheduler.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "mypcb.h" 4 | 5 | extern myPCB task[MAX_TASK_NUM], *my_current_task; 6 | extern volatile int my_need_sched; 7 | volatile int time_count = 0; 8 | 9 | /* 10 | * Called by timer interrupt. 11 | * it runs in the name of current running process, 12 | * so it use kernel stack of current running process 13 | */ 14 | void my_timer_handler(void) 15 | { 16 | if (time_count % 1000 == 0 && my_need_sched != 1) 17 | my_need_sched = 1; 18 | time_count++; 19 | } 20 | 21 | void my_schedule(void) 22 | { 23 | myPCB *next, *prev; 24 | 25 | if (my_current_task == NULL || my_current_task->next == NULL) 26 | return; 27 | 28 | printk(KERN_NOTICE ">>> %s <<<\n", __func__); 29 | /* schedule */ 30 | next = my_current_task->next; 31 | prev = my_current_task; 32 | if (next->state == S_runnable) { 33 | my_current_task = next; 34 | printk(KERN_NOTICE ">>>switch from %d to %d<<<\n", 35 | prev->pid, next->pid); 36 | /* switch to next process */ 37 | asm volatile( 38 | "movl %%esp, %0\n\t" /* save esp */ 39 | "movl %2, %%esp\n\t" /* restore esp */ 40 | "movl $1f, %1\n\t" /* save eip */ 41 | "jmp *%3\n" 42 | "1:\t" /* next process start here */ 43 | : "=m" (prev->thread.sp), "=m" (prev->thread.ip) 44 | : "m" (next->thread.sp), "m" (next->thread.ip) 45 | ); 46 | } else { 47 | next->state = S_runnable; 48 | my_current_task = next; 49 | printk(KERN_NOTICE ">>>switch to new process %d<<<\n", 50 | next->pid); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "mypcb.h" 4 | 5 | myPCB task[MAX_TASK_NUM], *my_current_task = NULL; 6 | volatile int my_need_sched = 0; 7 | 8 | static void my_process(void); 9 | 10 | void __init my_start_kernel(void) 11 | { 12 | int pid = 0; 13 | int i; 14 | 15 | /* Initialize process 0 */ 16 | task[pid].pid = pid; 17 | task[pid].state = S_runnable; 18 | task[pid].task_entry = task[pid].thread.ip = (uintptr_t) my_process; 19 | task[pid].thread.sp = 20 | (uintptr_t) &task[pid].stack[KERNEL_STACK_SIZE - 1]; 21 | task[pid].next = &task[pid]; 22 | 23 | /* fork more process */ 24 | for (i = 1; i < MAX_TASK_NUM; i++) { 25 | memcpy(&task[i], &task[0], sizeof(myPCB)); 26 | task[i].pid = i; 27 | task[i].state = S_stopped; 28 | task[i].thread.sp = 29 | (uintptr_t) &task[i].stack[KERNEL_STACK_SIZE - 1]; 30 | task[i].next = task[i-1].next; 31 | task[i-1].next = &task[i]; 32 | } 33 | 34 | /* start process 0 by task[0] */ 35 | pid = 0; 36 | my_current_task = &task[pid]; 37 | asm volatile( 38 | "movl %0, %%esp\n\t" /* set task[pid].thread.sp to esp */ 39 | "jmp my_process\n" 40 | : 41 | : "c" (task[pid].thread.sp) /* input c mean /%edx */ 42 | ); 43 | } 44 | 45 | static void my_process(void) 46 | { 47 | int i = 0; 48 | while (1) { 49 | if (i++ % 10000000) 50 | continue; 51 | 52 | printk(KERN_NOTICE "this is process %d -\n", 53 | my_current_task->pid); 54 | if (my_need_sched == 1) { 55 | my_need_sched = 0; 56 | my_schedule(); 57 | } 58 | printk(KERN_NOTICE "this is process %d +\n", 59 | my_current_task->pid); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Welcome to the kernel-in-kernel repository. Here you will find the 2 | straightfoward environment to develop your own operating system kernel 3 | by means of reusing Linux kernel, that implies that you do not have to 4 | worry about low-level initilizations, platform-specific configurations, 5 | and even device drivers. 6 | 7 | This work was inspired by [mykernel](https://github.com/mengning/mykernel/), 8 | the simple simulation of the linux process scheduling. 9 | Maintained by `Jim Huang `. 10 | 11 | Build Instructions 12 | ------------------ 13 | Unless otherwise noted, file and directory names refer to this repository. 14 | 15 | 1. Install [QEMU](http://www.qemu.org) and ensure its availability of x86 support. 16 | For Debian/Ubuntu Linux, you can simply do `sudo apt-get install qemu-system-x86`. 17 | 18 | 2. Return to the kernel-in-kernel top-level directory. Do a `make`. This will 19 | do several things including downloading Linux kernel 4.1 as the base of 20 | your own kernel, configuring the minimal development environment, and 21 | building everything from scratch. 22 | 23 | 3. At present, only IA32 image is generated, but it should be reasonably easy 24 | to enable other architectures originally supported by Linux kernel. 25 | 26 | Modify Your Own Kernel 27 | ---------------------- 28 | Hacking kernel is interesting, and you should take a look over the files in 29 | the `src` directory: 30 | * `mypcb.h`: the cutomized process control block 31 | * `scheduler.c`: timer interrupt handler and simple scheduler 32 | * `main.c`: entry point 33 | 34 | Running kernel-in-kernel 35 | ------------------------ 36 | Run `make run` and and you should see this: 37 | 38 | ``` 39 | this is process 0 - 40 | this is process 0 + 41 | this is process 1 - 42 | this is process 1 + 43 | this is process 2 - 44 | this is process 2 + 45 | this is process 3 - 46 | this is process 3 + 47 | ``` 48 | 49 | Licensing 50 | ========= 51 | Since kernel-in-kernel is built directly upon Linux kernel, it is certainly 52 | licensed under GNU GPL v2. 53 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # used by Linux kernel 2 | obj-y = mymain.o myinterrupt.o 3 | 4 | # the generic parts 5 | LINUX_URL = https://www.kernel.org/pub/linux/kernel/v4.x 6 | KERNEL = linux-4.1 7 | LINUX_FILE = downloads/$(KERNEL).tar.xz 8 | LINUX_MD5 = "fe9dc0f6729f36400ea81aa41d614c37" 9 | PATCH_FILE = linux-4_1-mykernel.patch 10 | OUT = $(PWD)/.out 11 | 12 | ALL = .stamps/downloads .stamps/setup .stamps/build 13 | .PHONY: all 14 | all: $(ALL) 15 | 16 | TMPFILE := $(shell mktemp) 17 | 18 | .stamps: 19 | @mkdir -p $@ 20 | 21 | to-md5 = $1 $(addsuffix .md5,$1) 22 | %.md5: FORCE 23 | @$(if $(filter-out $(shell cat $@ 2>/dev/null),$(shell md5sum $*)),md5sum $* > $@) 24 | FORCE: 25 | 26 | $(LINUX_FILE): 27 | mkdir -p downloads 28 | (cd downloads; wget -c $(LINUX_URL)/$(KERNEL).tar.xz) 29 | 30 | .stamps/downloads: $(call to-md5,$(LINUX_FILE)) .stamps 31 | @echo $(LINUX_MD5) > $(TMPFILE) 32 | @cmp -n 32 $(TMPFILE) $<.md5 >/dev/null || (echo "File checksum mismatch!"; exit 1) 33 | @touch $@ 34 | 35 | .stamps/setup: .stamps/extract .stamps/patch .stamps/config 36 | @touch $@ 37 | 38 | .stamps/extract: $(LINUX_FILE) 39 | tar Jxf $< 40 | (cd $(KERNEL); ln -s ../src mysrc) 41 | @touch $@ 42 | 43 | .stamps/patch: 44 | (cd $(KERNEL); \ 45 | patch --dry-run -f -p1 < ../patches/$(PATCH_FILE) >/dev/null && \ 46 | patch -p1 < ../patches/$(PATCH_FILE)) || touch $@ 47 | 48 | .stamps/config: 49 | @mkdir -p $(OUT) 50 | (cd $(KERNEL); \ 51 | cp -f ../configs/mini-x86.config $(OUT)/.config; \ 52 | make O=$(OUT) oldconfig) 53 | @touch $@ 54 | 55 | # number of CPUs 56 | ifndef CPUS 57 | CPUS := $(shell grep -c ^processor /proc/cpuinfo 2>/dev/null || \ 58 | sysctl -n hw.ncpu) 59 | endif 60 | 61 | .stamps/build: $(KERNEL)/Makefile \ 62 | src/scheduler.c src/main.c src/mypcb.h 63 | (cd $(KERNEL); $(MAKE) O=$(OUT) -j $(CPUS)) 64 | @touch $@ 65 | 66 | run: $(OUT)/arch/x86/boot/bzImage 67 | qemu-system-i386 -kernel $< 68 | 69 | clean: 70 | $(MAKE) -C $(KERNEL) O=$(OUT) clean 71 | rm -f .stamps/build 72 | 73 | distclean: clean 74 | rm -rf .stamps $(OUT) 75 | rm -rf $(KERNEL) 76 | -------------------------------------------------------------------------------- /patches/linux-4_1-mykernel.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index f5c8983..0cfa80d 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -883,7 +883,7 @@ export mod_sign_cmd 6 | 7 | 8 | ifeq ($(KBUILD_EXTMOD),) 9 | -core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ 10 | +core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ mysrc/ 11 | 12 | vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ 13 | $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ 14 | diff --git a/arch/x86/kernel/time.c b/arch/x86/kernel/time.c 15 | index d39c091..28d1af5 100644 16 | --- a/arch/x86/kernel/time.c 17 | +++ b/arch/x86/kernel/time.c 18 | @@ -57,6 +57,7 @@ EXPORT_SYMBOL(profile_pc); 19 | static irqreturn_t timer_interrupt(int irq, void *dev_id) 20 | { 21 | global_clock_event->event_handler(global_clock_event); 22 | + my_timer_handler(); 23 | return IRQ_HANDLED; 24 | } 25 | 26 | @@ -68,6 +69,7 @@ static struct irqaction irq0 = { 27 | 28 | void __init setup_default_timer_irq(void) 29 | { 30 | + printk(KERN_NOTICE "timer interrupt setup\n"); 31 | if (!nr_legacy_irqs()) 32 | return; 33 | setup_irq(0, &irq0); 34 | diff --git a/include/linux/start_kernel.h b/include/linux/start_kernel.h 35 | index d3e5f27..9004b44 100644 36 | --- a/include/linux/start_kernel.h 37 | +++ b/include/linux/start_kernel.h 38 | @@ -8,5 +8,6 @@ 39 | up something else. */ 40 | 41 | extern asmlinkage void __init start_kernel(void); 42 | +extern void __init my_start_kernel(void); 43 | 44 | #endif /* _LINUX_START_KERNEL_H */ 45 | diff --git a/include/linux/timer.h b/include/linux/timer.h 46 | index 8c5a197..d22e9c0 100644 47 | --- a/include/linux/timer.h 48 | +++ b/include/linux/timer.h 49 | @@ -251,6 +251,8 @@ extern int try_to_del_timer_sync(struct timer_list *timer); 50 | 51 | extern void init_timers(void); 52 | extern void run_local_timers(void); 53 | +extern void my_timer_handler(void); 54 | + 55 | struct hrtimer; 56 | extern enum hrtimer_restart it_real_fn(struct hrtimer *); 57 | 58 | diff --git a/init/main.c b/init/main.c 59 | index 2115055..d93a869 100644 60 | --- a/init/main.c 61 | +++ b/init/main.c 62 | @@ -673,6 +673,7 @@ asmlinkage __visible void __init start_kernel(void) 63 | 64 | ftrace_init(); 65 | 66 | + my_start_kernel(); 67 | /* Do the rest non-__init'ed, we're now alive */ 68 | rest_init(); 69 | } 70 | -------------------------------------------------------------------------------- /configs/mini-x86.config: -------------------------------------------------------------------------------- 1 | # CONFIG_64BIT is not set 2 | 3 | CONFIG_X86_32=y 4 | CONFIG_X86=y 5 | CONFIG_INSTRUCTION_DECODER=y 6 | CONFIG_OUTPUT_FORMAT="elf32-i386" 7 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" 8 | CONFIG_LOCKDEP_SUPPORT=y 9 | CONFIG_STACKTRACE_SUPPORT=y 10 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y 11 | CONFIG_MMU=y 12 | CONFIG_NEED_SG_DMA_LENGTH=y 13 | CONFIG_GENERIC_ISA_DMA=y 14 | CONFIG_GENERIC_HWEIGHT=y 15 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y 16 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y 17 | CONFIG_GENERIC_CALIBRATE_DELAY=y 18 | CONFIG_ARCH_HAS_CPU_RELAX=y 19 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y 20 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y 21 | CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y 22 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y 23 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y 24 | CONFIG_ARCH_SUSPEND_POSSIBLE=y 25 | CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y 26 | CONFIG_ARCH_WANT_GENERAL_HUGETLB=y 27 | CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y 28 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 29 | CONFIG_X86_32_LAZY_GS=y 30 | CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" 31 | CONFIG_ARCH_SUPPORTS_UPROBES=y 32 | CONFIG_FIX_EARLYCON_MEM=y 33 | CONFIG_PGTABLE_LEVELS=2 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 35 | CONFIG_IRQ_WORK=y 36 | CONFIG_BUILDTIME_EXTABLE_SORT=y 37 | 38 | # 39 | # General setup 40 | # 41 | CONFIG_BROKEN_ON_SMP=y 42 | CONFIG_INIT_ENV_ARG_LIMIT=32 43 | CONFIG_CROSS_COMPILE="" 44 | # CONFIG_COMPILE_TEST is not set 45 | CONFIG_LOCALVERSION="" 46 | # CONFIG_LOCALVERSION_AUTO is not set 47 | CONFIG_HAVE_KERNEL_GZIP=y 48 | CONFIG_HAVE_KERNEL_BZIP2=y 49 | CONFIG_HAVE_KERNEL_LZMA=y 50 | CONFIG_HAVE_KERNEL_XZ=y 51 | CONFIG_HAVE_KERNEL_LZO=y 52 | CONFIG_HAVE_KERNEL_LZ4=y 53 | CONFIG_KERNEL_GZIP=y 54 | # CONFIG_KERNEL_BZIP2 is not set 55 | # CONFIG_KERNEL_LZMA is not set 56 | # CONFIG_KERNEL_XZ is not set 57 | # CONFIG_KERNEL_LZO is not set 58 | # CONFIG_KERNEL_LZ4 is not set 59 | CONFIG_DEFAULT_HOSTNAME="(none)" 60 | # CONFIG_SYSVIPC is not set 61 | # CONFIG_CROSS_MEMORY_ATTACH is not set 62 | # CONFIG_FHANDLE is not set 63 | # CONFIG_USELIB is not set 64 | CONFIG_HAVE_ARCH_AUDITSYSCALL=y 65 | 66 | # 67 | # IRQ subsystem 68 | # 69 | CONFIG_GENERIC_IRQ_PROBE=y 70 | CONFIG_GENERIC_IRQ_SHOW=y 71 | CONFIG_IRQ_FORCED_THREADING=y 72 | CONFIG_SPARSE_IRQ=y 73 | CONFIG_CLOCKSOURCE_WATCHDOG=y 74 | CONFIG_ARCH_CLOCKSOURCE_DATA=y 75 | CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y 76 | CONFIG_GENERIC_TIME_VSYSCALL=y 77 | CONFIG_GENERIC_CLOCKEVENTS=y 78 | CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y 79 | CONFIG_GENERIC_CMOS_UPDATE=y 80 | 81 | # 82 | # Timers subsystem 83 | # 84 | CONFIG_TICK_ONESHOT=y 85 | CONFIG_HZ_PERIODIC=y 86 | # CONFIG_NO_HZ_IDLE is not set 87 | # CONFIG_NO_HZ is not set 88 | CONFIG_HIGH_RES_TIMERS=y 89 | 90 | # 91 | # CPU/Task time and stats accounting 92 | # 93 | CONFIG_TICK_CPU_ACCOUNTING=y 94 | # CONFIG_IRQ_TIME_ACCOUNTING is not set 95 | 96 | # 97 | # RCU Subsystem 98 | # 99 | CONFIG_TINY_RCU=y 100 | CONFIG_SRCU=y 101 | # CONFIG_TASKS_RCU is not set 102 | # CONFIG_RCU_STALL_COMMON is not set 103 | # CONFIG_TREE_RCU_TRACE is not set 104 | CONFIG_RCU_KTHREAD_PRIO=0 105 | # CONFIG_RCU_EXPEDITE_BOOT is not set 106 | # CONFIG_BUILD_BIN2C is not set 107 | # CONFIG_IKCONFIG is not set 108 | CONFIG_LOG_BUF_SHIFT=18 109 | CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y 110 | # CONFIG_CGROUPS is not set 111 | # CONFIG_CHECKPOINT_RESTORE is not set 112 | # CONFIG_SCHED_AUTOGROUP is not set 113 | # CONFIG_RELAY is not set 114 | # CONFIG_BLK_DEV_INITRD is not set 115 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 116 | CONFIG_ANON_INODES=y 117 | CONFIG_HAVE_UID16=y 118 | CONFIG_SYSCTL_EXCEPTION_TRACE=y 119 | CONFIG_HAVE_PCSPKR_PLATFORM=y 120 | CONFIG_EXPERT=y 121 | # CONFIG_MULTIUSER is not set 122 | # CONFIG_SGETMASK_SYSCALL is not set 123 | # CONFIG_SYSFS_SYSCALL is not set 124 | # CONFIG_KALLSYMS is not set 125 | CONFIG_PRINTK=y 126 | # CONFIG_BUG is not set 127 | # CONFIG_PCSPKR_PLATFORM is not set 128 | # CONFIG_BASE_FULL is not set 129 | # CONFIG_FUTEX is not set 130 | # CONFIG_EPOLL is not set 131 | # CONFIG_SIGNALFD is not set 132 | # CONFIG_TIMERFD is not set 133 | # CONFIG_EVENTFD is not set 134 | # CONFIG_BPF_SYSCALL is not set 135 | # CONFIG_SHMEM is not set 136 | # CONFIG_AIO is not set 137 | # CONFIG_ADVISE_SYSCALLS is not set 138 | # CONFIG_EMBEDDED is not set 139 | CONFIG_HAVE_PERF_EVENTS=y 140 | 141 | # 142 | # Kernel Performance Events And Counters 143 | # 144 | CONFIG_PERF_EVENTS=y 145 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set 146 | # CONFIG_VM_EVENT_COUNTERS is not set 147 | CONFIG_COMPAT_BRK=y 148 | # CONFIG_SLAB is not set 149 | # CONFIG_SLUB is not set 150 | CONFIG_SLOB=y 151 | # CONFIG_PROFILING is not set 152 | CONFIG_HAVE_OPROFILE=y 153 | CONFIG_OPROFILE_NMI_TIMER=y 154 | # CONFIG_JUMP_LABEL is not set 155 | # CONFIG_UPROBES is not set 156 | # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set 157 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 158 | CONFIG_ARCH_USE_BUILTIN_BSWAP=y 159 | CONFIG_HAVE_IOREMAP_PROT=y 160 | CONFIG_HAVE_KPROBES=y 161 | CONFIG_HAVE_KRETPROBES=y 162 | CONFIG_HAVE_OPTPROBES=y 163 | CONFIG_HAVE_KPROBES_ON_FTRACE=y 164 | CONFIG_HAVE_ARCH_TRACEHOOK=y 165 | CONFIG_HAVE_DMA_ATTRS=y 166 | CONFIG_HAVE_DMA_CONTIGUOUS=y 167 | CONFIG_GENERIC_SMP_IDLE_THREAD=y 168 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y 169 | CONFIG_HAVE_DMA_API_DEBUG=y 170 | CONFIG_HAVE_HW_BREAKPOINT=y 171 | CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y 172 | CONFIG_HAVE_USER_RETURN_NOTIFIER=y 173 | CONFIG_HAVE_PERF_EVENTS_NMI=y 174 | CONFIG_HAVE_PERF_REGS=y 175 | CONFIG_HAVE_PERF_USER_STACK_DUMP=y 176 | CONFIG_HAVE_ARCH_JUMP_LABEL=y 177 | CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y 178 | CONFIG_HAVE_CMPXCHG_LOCAL=y 179 | CONFIG_HAVE_CMPXCHG_DOUBLE=y 180 | CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y 181 | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y 182 | CONFIG_HAVE_CC_STACKPROTECTOR=y 183 | # CONFIG_CC_STACKPROTECTOR is not set 184 | CONFIG_CC_STACKPROTECTOR_NONE=y 185 | # CONFIG_CC_STACKPROTECTOR_REGULAR is not set 186 | # CONFIG_CC_STACKPROTECTOR_STRONG is not set 187 | CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y 188 | CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y 189 | CONFIG_MODULES_USE_ELF_REL=y 190 | CONFIG_ARCH_HAS_ELF_RANDOMIZE=y 191 | CONFIG_CLONE_BACKWARDS=y 192 | CONFIG_OLD_SIGSUSPEND3=y 193 | CONFIG_OLD_SIGACTION=y 194 | 195 | # 196 | # GCOV-based kernel profiling 197 | # 198 | CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y 199 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y 200 | CONFIG_BASE_SMALL=1 201 | # CONFIG_MODULES is not set 202 | # CONFIG_BLOCK is not set 203 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y 204 | CONFIG_INLINE_READ_UNLOCK=y 205 | CONFIG_INLINE_READ_UNLOCK_IRQ=y 206 | CONFIG_INLINE_WRITE_UNLOCK=y 207 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y 208 | CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y 209 | CONFIG_ARCH_USE_QUEUE_RWLOCK=y 210 | # CONFIG_FREEZER is not set 211 | 212 | # 213 | # Processor type and features 214 | # 215 | # CONFIG_ZONE_DMA is not set 216 | # CONFIG_SMP is not set 217 | CONFIG_X86_FEATURE_NAMES=y 218 | # CONFIG_X86_EXTENDED_PLATFORM is not set 219 | # CONFIG_X86_32_IRIS is not set 220 | # CONFIG_SCHED_OMIT_FRAME_POINTER is not set 221 | # CONFIG_HYPERVISOR_GUEST is not set 222 | CONFIG_NO_BOOTMEM=y 223 | # CONFIG_M486 is not set 224 | # CONFIG_M586 is not set 225 | # CONFIG_M586TSC is not set 226 | # CONFIG_M586MMX is not set 227 | CONFIG_M686=y 228 | # CONFIG_MPENTIUMII is not set 229 | # CONFIG_MPENTIUMIII is not set 230 | # CONFIG_MPENTIUMM is not set 231 | # CONFIG_MPENTIUM4 is not set 232 | # CONFIG_MK6 is not set 233 | # CONFIG_MK7 is not set 234 | # CONFIG_MK8 is not set 235 | # CONFIG_MCRUSOE is not set 236 | # CONFIG_MEFFICEON is not set 237 | # CONFIG_MWINCHIPC6 is not set 238 | # CONFIG_MWINCHIP3D is not set 239 | # CONFIG_MELAN is not set 240 | # CONFIG_MGEODEGX1 is not set 241 | # CONFIG_MGEODE_LX is not set 242 | # CONFIG_MCYRIXIII is not set 243 | # CONFIG_MVIAC3_2 is not set 244 | # CONFIG_MVIAC7 is not set 245 | # CONFIG_MCORE2 is not set 246 | # CONFIG_MATOM is not set 247 | CONFIG_X86_GENERIC=y 248 | CONFIG_X86_INTERNODE_CACHE_SHIFT=6 249 | CONFIG_X86_L1_CACHE_SHIFT=6 250 | # CONFIG_X86_PPRO_FENCE is not set 251 | CONFIG_X86_INTEL_USERCOPY=y 252 | CONFIG_X86_USE_PPRO_CHECKSUM=y 253 | CONFIG_X86_TSC=y 254 | CONFIG_X86_CMPXCHG64=y 255 | CONFIG_X86_CMOV=y 256 | CONFIG_X86_MINIMUM_CPU_FAMILY=5 257 | CONFIG_X86_DEBUGCTLMSR=y 258 | # CONFIG_PROCESSOR_SELECT is not set 259 | CONFIG_CPU_SUP_INTEL=y 260 | CONFIG_CPU_SUP_CYRIX_32=y 261 | CONFIG_CPU_SUP_AMD=y 262 | CONFIG_CPU_SUP_CENTAUR=y 263 | CONFIG_CPU_SUP_TRANSMETA_32=y 264 | CONFIG_CPU_SUP_UMC_32=y 265 | # CONFIG_HPET_TIMER is not set 266 | # CONFIG_DMI is not set 267 | CONFIG_NR_CPUS=1 268 | CONFIG_PREEMPT_NONE=y 269 | # CONFIG_PREEMPT_VOLUNTARY is not set 270 | # CONFIG_PREEMPT is not set 271 | # CONFIG_X86_UP_APIC is not set 272 | # CONFIG_X86_MCE is not set 273 | # CONFIG_VM86 is not set 274 | # CONFIG_X86_16BIT is not set 275 | # CONFIG_TOSHIBA is not set 276 | # CONFIG_I8K is not set 277 | # CONFIG_X86_REBOOTFIXUPS is not set 278 | # CONFIG_MICROCODE is not set 279 | # CONFIG_X86_MSR is not set 280 | # CONFIG_X86_CPUID is not set 281 | CONFIG_NOHIGHMEM=y 282 | # CONFIG_HIGHMEM4G is not set 283 | # CONFIG_HIGHMEM64G is not set 284 | CONFIG_VMSPLIT_3G=y 285 | # CONFIG_VMSPLIT_3G_OPT is not set 286 | # CONFIG_VMSPLIT_2G is not set 287 | # CONFIG_VMSPLIT_2G_OPT is not set 288 | # CONFIG_VMSPLIT_1G is not set 289 | CONFIG_PAGE_OFFSET=0xC0000000 290 | # CONFIG_X86_PAE is not set 291 | CONFIG_ARCH_FLATMEM_ENABLE=y 292 | CONFIG_ARCH_SPARSEMEM_ENABLE=y 293 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y 294 | CONFIG_ILLEGAL_POINTER_VALUE=0 295 | CONFIG_SELECT_MEMORY_MODEL=y 296 | CONFIG_FLATMEM_MANUAL=y 297 | # CONFIG_SPARSEMEM_MANUAL is not set 298 | CONFIG_FLATMEM=y 299 | CONFIG_FLAT_NODE_MEM_MAP=y 300 | CONFIG_SPARSEMEM_STATIC=y 301 | CONFIG_HAVE_MEMBLOCK=y 302 | CONFIG_HAVE_MEMBLOCK_NODE_MAP=y 303 | CONFIG_ARCH_DISCARD_MEMBLOCK=y 304 | # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set 305 | CONFIG_PAGEFLAGS_EXTENDED=y 306 | CONFIG_SPLIT_PTLOCK_CPUS=4 307 | # CONFIG_COMPACTION is not set 308 | # CONFIG_PHYS_ADDR_T_64BIT is not set 309 | CONFIG_ZONE_DMA_FLAG=0 310 | CONFIG_VIRT_TO_BUS=y 311 | # CONFIG_KSM is not set 312 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 313 | # CONFIG_TRANSPARENT_HUGEPAGE is not set 314 | CONFIG_NEED_PER_CPU_KM=y 315 | # CONFIG_CLEANCACHE is not set 316 | # CONFIG_CMA is not set 317 | # CONFIG_ZPOOL is not set 318 | # CONFIG_ZBUD is not set 319 | # CONFIG_ZSMALLOC is not set 320 | CONFIG_GENERIC_EARLY_IOREMAP=y 321 | # CONFIG_X86_PMEM_LEGACY is not set 322 | # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set 323 | CONFIG_X86_RESERVE_LOW=64 324 | # CONFIG_MATH_EMULATION is not set 325 | # CONFIG_MTRR is not set 326 | # CONFIG_ARCH_RANDOM is not set 327 | # CONFIG_X86_SMAP is not set 328 | # CONFIG_X86_INTEL_MPX is not set 329 | # CONFIG_SECCOMP is not set 330 | # CONFIG_HZ_100 is not set 331 | # CONFIG_HZ_250 is not set 332 | # CONFIG_HZ_300 is not set 333 | CONFIG_HZ_1000=y 334 | CONFIG_HZ=1000 335 | CONFIG_SCHED_HRTICK=y 336 | # CONFIG_KEXEC is not set 337 | CONFIG_PHYSICAL_START=0x1000000 338 | # CONFIG_RELOCATABLE is not set 339 | CONFIG_PHYSICAL_ALIGN=0x200000 340 | # CONFIG_COMPAT_VDSO is not set 341 | # CONFIG_CMDLINE_BOOL is not set 342 | 343 | # 344 | # Power management and ACPI options 345 | # 346 | # CONFIG_SUSPEND is not set 347 | # CONFIG_PM is not set 348 | # CONFIG_SFI is not set 349 | 350 | # 351 | # CPU Frequency scaling 352 | # 353 | # CONFIG_CPU_FREQ is not set 354 | 355 | # 356 | # CPU Idle 357 | # 358 | # CONFIG_CPU_IDLE is not set 359 | # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set 360 | 361 | # 362 | # Bus options (PCI etc.) 363 | # 364 | # CONFIG_PCI is not set 365 | CONFIG_ISA_DMA_API=y 366 | # CONFIG_ISA is not set 367 | # CONFIG_SCx200 is not set 368 | # CONFIG_OLPC is not set 369 | # CONFIG_ALIX is not set 370 | # CONFIG_NET5501 is not set 371 | # CONFIG_PCCARD is not set 372 | # CONFIG_X86_SYSFB is not set 373 | 374 | # 375 | # Executable file formats / Emulations 376 | # 377 | # CONFIG_BINFMT_ELF is not set 378 | # CONFIG_BINFMT_SCRIPT is not set 379 | CONFIG_HAVE_AOUT=y 380 | # CONFIG_BINFMT_AOUT is not set 381 | # CONFIG_BINFMT_MISC is not set 382 | # CONFIG_COREDUMP is not set 383 | CONFIG_HAVE_ATOMIC_IOMAP=y 384 | # CONFIG_NET is not set 385 | 386 | # 387 | # Device Drivers 388 | # 389 | 390 | # 391 | # Generic Driver Options 392 | # 393 | # CONFIG_UEVENT_HELPER is not set 394 | # CONFIG_DEVTMPFS is not set 395 | # CONFIG_STANDALONE is not set 396 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set 397 | # CONFIG_FW_LOADER is not set 398 | # CONFIG_ALLOW_DEV_COREDUMP is not set 399 | # CONFIG_DEBUG_DRIVER is not set 400 | # CONFIG_DEBUG_DEVRES is not set 401 | # CONFIG_SYS_HYPERVISOR is not set 402 | # CONFIG_GENERIC_CPU_DEVICES is not set 403 | CONFIG_GENERIC_CPU_AUTOPROBE=y 404 | # CONFIG_DMA_SHARED_BUFFER is not set 405 | 406 | # 407 | # Bus devices 408 | # 409 | # CONFIG_MTD is not set 410 | CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y 411 | # CONFIG_PARPORT is not set 412 | 413 | # 414 | # Misc devices 415 | # 416 | # CONFIG_SENSORS_LIS3LV02D is not set 417 | # CONFIG_DUMMY_IRQ is not set 418 | # CONFIG_ENCLOSURE_SERVICES is not set 419 | # CONFIG_SRAM is not set 420 | # CONFIG_C2PORT is not set 421 | 422 | # 423 | # EEPROM support 424 | # 425 | # CONFIG_EEPROM_93CX6 is not set 426 | 427 | # 428 | # Texas Instruments shared transport line discipline 429 | # 430 | 431 | # 432 | # Altera FPGA firmware download module 433 | # 434 | 435 | # 436 | # Intel MIC Bus Driver 437 | # 438 | 439 | # 440 | # Intel MIC Host Driver 441 | # 442 | 443 | # 444 | # Intel MIC Card Driver 445 | # 446 | # CONFIG_ECHO is not set 447 | # CONFIG_CXL_BASE is not set 448 | CONFIG_HAVE_IDE=y 449 | 450 | # 451 | # SCSI device support 452 | # 453 | CONFIG_SCSI_MOD=y 454 | # CONFIG_SCSI_DMA is not set 455 | # CONFIG_MACINTOSH_DRIVERS is not set 456 | 457 | # 458 | # Input device support 459 | # 460 | CONFIG_INPUT=y 461 | # CONFIG_INPUT_FF_MEMLESS is not set 462 | # CONFIG_INPUT_POLLDEV is not set 463 | # CONFIG_INPUT_SPARSEKMAP is not set 464 | # CONFIG_INPUT_MATRIXKMAP is not set 465 | 466 | # 467 | # Userland interfaces 468 | # 469 | # CONFIG_INPUT_MOUSEDEV is not set 470 | # CONFIG_INPUT_JOYDEV is not set 471 | # CONFIG_INPUT_EVDEV is not set 472 | # CONFIG_INPUT_EVBUG is not set 473 | 474 | # 475 | # Input Device Drivers 476 | # 477 | # CONFIG_INPUT_KEYBOARD is not set 478 | # CONFIG_INPUT_MOUSE is not set 479 | # CONFIG_INPUT_JOYSTICK is not set 480 | # CONFIG_INPUT_TABLET is not set 481 | # CONFIG_INPUT_TOUCHSCREEN is not set 482 | # CONFIG_INPUT_MISC is not set 483 | 484 | # 485 | # Hardware I/O ports 486 | # 487 | # CONFIG_SERIO is not set 488 | CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y 489 | # CONFIG_GAMEPORT is not set 490 | 491 | # 492 | # Character devices 493 | # 494 | CONFIG_TTY=y 495 | CONFIG_VT=y 496 | # CONFIG_CONSOLE_TRANSLATIONS is not set 497 | CONFIG_VT_CONSOLE=y 498 | CONFIG_HW_CONSOLE=y 499 | # CONFIG_VT_HW_CONSOLE_BINDING is not set 500 | # CONFIG_UNIX98_PTYS is not set 501 | # CONFIG_LEGACY_PTYS is not set 502 | # CONFIG_SERIAL_NONSTANDARD is not set 503 | # CONFIG_TRACE_SINK is not set 504 | # CONFIG_DEVMEM is not set 505 | # CONFIG_DEVKMEM is not set 506 | 507 | # 508 | # Serial drivers 509 | # 510 | # CONFIG_SERIAL_8250 is not set 511 | 512 | # 513 | # Non-8250 serial port support 514 | # 515 | # CONFIG_SERIAL_SCCNXP is not set 516 | # CONFIG_SERIAL_TIMBERDALE is not set 517 | # CONFIG_SERIAL_ALTERA_JTAGUART is not set 518 | # CONFIG_SERIAL_ALTERA_UART is not set 519 | # CONFIG_SERIAL_ARC is not set 520 | # CONFIG_SERIAL_FSL_LPUART is not set 521 | # CONFIG_TTY_PRINTK is not set 522 | # CONFIG_IPMI_HANDLER is not set 523 | # CONFIG_HW_RANDOM is not set 524 | # CONFIG_NVRAM is not set 525 | # CONFIG_R3964 is not set 526 | # CONFIG_MWAVE is not set 527 | # CONFIG_PC8736x_GPIO is not set 528 | # CONFIG_NSC_GPIO is not set 529 | # CONFIG_HANGCHECK_TIMER is not set 530 | # CONFIG_TCG_TPM is not set 531 | # CONFIG_TELCLOCK is not set 532 | 533 | # 534 | # I2C support 535 | # 536 | # CONFIG_I2C is not set 537 | # CONFIG_SPI is not set 538 | # CONFIG_SPMI is not set 539 | # CONFIG_HSI is not set 540 | 541 | # 542 | # PPS support 543 | # 544 | # CONFIG_PPS is not set 545 | 546 | # 547 | # PPS generators support 548 | # 549 | 550 | # 551 | # PTP clock support 552 | # 553 | 554 | # 555 | # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. 556 | # 557 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 558 | # CONFIG_GPIOLIB is not set 559 | # CONFIG_W1 is not set 560 | # CONFIG_POWER_SUPPLY is not set 561 | # CONFIG_POWER_AVS is not set 562 | # CONFIG_HWMON is not set 563 | # CONFIG_THERMAL is not set 564 | # CONFIG_WATCHDOG is not set 565 | CONFIG_SSB_POSSIBLE=y 566 | 567 | # 568 | # Sonics Silicon Backplane 569 | # 570 | # CONFIG_SSB is not set 571 | CONFIG_BCMA_POSSIBLE=y 572 | 573 | # 574 | # Broadcom specific AMBA 575 | # 576 | # CONFIG_BCMA is not set 577 | 578 | # 579 | # Multifunction device drivers 580 | # 581 | # CONFIG_MFD_CORE is not set 582 | # CONFIG_MFD_CROS_EC is not set 583 | # CONFIG_HTC_PASIC3 is not set 584 | # CONFIG_MFD_KEMPLD is not set 585 | # CONFIG_MFD_MT6397 is not set 586 | # CONFIG_MFD_SM501 is not set 587 | # CONFIG_ABX500_CORE is not set 588 | # CONFIG_MFD_SYSCON is not set 589 | # CONFIG_MFD_TI_AM335X_TSCADC is not set 590 | # CONFIG_MFD_TMIO is not set 591 | # CONFIG_REGULATOR is not set 592 | # CONFIG_MEDIA_SUPPORT is not set 593 | 594 | # 595 | # Graphics support 596 | # 597 | 598 | # 599 | # Direct Rendering Manager 600 | # 601 | # CONFIG_DRM is not set 602 | 603 | # 604 | # Frame buffer Devices 605 | # 606 | # CONFIG_FB is not set 607 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 608 | # CONFIG_VGASTATE is not set 609 | 610 | # 611 | # Console display driver support 612 | # 613 | CONFIG_VGA_CONSOLE=y 614 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set 615 | CONFIG_DUMMY_CONSOLE=y 616 | CONFIG_DUMMY_CONSOLE_COLUMNS=80 617 | CONFIG_DUMMY_CONSOLE_ROWS=25 618 | # CONFIG_SOUND is not set 619 | 620 | # 621 | # HID support 622 | # 623 | # CONFIG_HID is not set 624 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y 625 | # CONFIG_USB_SUPPORT is not set 626 | # CONFIG_UWB is not set 627 | # CONFIG_MMC is not set 628 | # CONFIG_MEMSTICK is not set 629 | # CONFIG_NEW_LEDS is not set 630 | # CONFIG_ACCESSIBILITY is not set 631 | # CONFIG_EDAC is not set 632 | CONFIG_RTC_LIB=y 633 | # CONFIG_RTC_CLASS is not set 634 | # CONFIG_DMADEVICES is not set 635 | # CONFIG_AUXDISPLAY is not set 636 | # CONFIG_UIO is not set 637 | # CONFIG_VIRT_DRIVERS is not set 638 | 639 | # 640 | # Virtio drivers 641 | # 642 | # CONFIG_VIRTIO_MMIO is not set 643 | 644 | # 645 | # Microsoft Hyper-V guest support 646 | # 647 | # CONFIG_STAGING is not set 648 | # CONFIG_X86_PLATFORM_DEVICES is not set 649 | # CONFIG_CHROME_PLATFORMS is not set 650 | 651 | # 652 | # Hardware Spinlock drivers 653 | # 654 | 655 | # 656 | # Clock Source drivers 657 | # 658 | CONFIG_CLKSRC_I8253=y 659 | CONFIG_CLKEVT_I8253=y 660 | CONFIG_CLKBLD_I8253=y 661 | # CONFIG_ATMEL_PIT is not set 662 | # CONFIG_SH_TIMER_CMT is not set 663 | # CONFIG_SH_TIMER_MTU2 is not set 664 | # CONFIG_SH_TIMER_TMU is not set 665 | # CONFIG_EM_TIMER_STI is not set 666 | # CONFIG_MAILBOX is not set 667 | # CONFIG_IOMMU_SUPPORT is not set 668 | 669 | # 670 | # Remoteproc drivers 671 | # 672 | # CONFIG_STE_MODEM_RPROC is not set 673 | 674 | # 675 | # Rpmsg drivers 676 | # 677 | 678 | # 679 | # SOC (System On Chip) specific Drivers 680 | # 681 | # CONFIG_SOC_TI is not set 682 | # CONFIG_PM_DEVFREQ is not set 683 | # CONFIG_EXTCON is not set 684 | # CONFIG_MEMORY is not set 685 | # CONFIG_IIO is not set 686 | # CONFIG_PWM is not set 687 | # CONFIG_IPACK_BUS is not set 688 | # CONFIG_RESET_CONTROLLER is not set 689 | # CONFIG_FMC is not set 690 | 691 | # 692 | # PHY Subsystem 693 | # 694 | # CONFIG_GENERIC_PHY is not set 695 | # CONFIG_BCM_KONA_USB2_PHY is not set 696 | # CONFIG_POWERCAP is not set 697 | # CONFIG_MCB is not set 698 | 699 | # 700 | # Android 701 | # 702 | # CONFIG_ANDROID is not set 703 | 704 | # 705 | # Firmware Drivers 706 | # 707 | # CONFIG_EDD is not set 708 | # CONFIG_FIRMWARE_MEMMAP is not set 709 | # CONFIG_DELL_RBU is not set 710 | # CONFIG_DCDBAS is not set 711 | # CONFIG_GOOGLE_FIRMWARE is not set 712 | 713 | # 714 | # File systems 715 | # 716 | CONFIG_DCACHE_WORD_ACCESS=y 717 | # CONFIG_FS_POSIX_ACL is not set 718 | # CONFIG_FILE_LOCKING is not set 719 | # CONFIG_FSNOTIFY is not set 720 | # CONFIG_DNOTIFY is not set 721 | # CONFIG_INOTIFY_USER is not set 722 | # CONFIG_FANOTIFY is not set 723 | # CONFIG_QUOTA is not set 724 | # CONFIG_QUOTACTL is not set 725 | # CONFIG_AUTOFS4_FS is not set 726 | # CONFIG_FUSE_FS is not set 727 | # CONFIG_OVERLAY_FS is not set 728 | 729 | # 730 | # Caches 731 | # 732 | # CONFIG_FSCACHE is not set 733 | 734 | # 735 | # Pseudo filesystems 736 | # 737 | # CONFIG_PROC_FS is not set 738 | # CONFIG_KERNFS is not set 739 | # CONFIG_SYSFS is not set 740 | # CONFIG_HUGETLBFS is not set 741 | # CONFIG_HUGETLB_PAGE is not set 742 | # CONFIG_CONFIGFS_FS is not set 743 | # CONFIG_MISC_FILESYSTEMS is not set 744 | # CONFIG_NLS is not set 745 | 746 | # 747 | # Kernel hacking 748 | # 749 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y 750 | 751 | # 752 | # printk and dmesg options 753 | # 754 | CONFIG_PRINTK_TIME=y 755 | CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 756 | # CONFIG_BOOT_PRINTK_DELAY is not set 757 | 758 | # 759 | # Compile-time checks and compiler options 760 | # 761 | # CONFIG_DEBUG_INFO is not set 762 | # CONFIG_ENABLE_WARN_DEPRECATED is not set 763 | # CONFIG_ENABLE_MUST_CHECK is not set 764 | CONFIG_FRAME_WARN=2048 765 | # CONFIG_STRIP_ASM_SYMS is not set 766 | # CONFIG_READABLE_ASM is not set 767 | # CONFIG_UNUSED_SYMBOLS is not set 768 | # CONFIG_PAGE_OWNER is not set 769 | # CONFIG_DEBUG_FS is not set 770 | # CONFIG_HEADERS_CHECK is not set 771 | # CONFIG_DEBUG_SECTION_MISMATCH is not set 772 | CONFIG_ARCH_WANT_FRAME_POINTERS=y 773 | CONFIG_FRAME_POINTER=y 774 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 775 | # CONFIG_MAGIC_SYSRQ is not set 776 | CONFIG_DEBUG_KERNEL=y 777 | 778 | # 779 | # Memory Debugging 780 | # 781 | # CONFIG_PAGE_EXTENSION is not set 782 | # CONFIG_DEBUG_PAGEALLOC is not set 783 | # CONFIG_DEBUG_OBJECTS is not set 784 | CONFIG_HAVE_DEBUG_KMEMLEAK=y 785 | # CONFIG_DEBUG_KMEMLEAK is not set 786 | # CONFIG_DEBUG_STACK_USAGE is not set 787 | # CONFIG_DEBUG_VM is not set 788 | # CONFIG_DEBUG_VIRTUAL is not set 789 | # CONFIG_DEBUG_MEMORY_INIT is not set 790 | CONFIG_HAVE_DEBUG_STACKOVERFLOW=y 791 | # CONFIG_DEBUG_STACKOVERFLOW is not set 792 | CONFIG_HAVE_ARCH_KMEMCHECK=y 793 | # CONFIG_DEBUG_SHIRQ is not set 794 | 795 | # 796 | # Debug Lockups and Hangs 797 | # 798 | # CONFIG_LOCKUP_DETECTOR is not set 799 | # CONFIG_DETECT_HUNG_TASK is not set 800 | # CONFIG_PANIC_ON_OOPS is not set 801 | CONFIG_PANIC_ON_OOPS_VALUE=0 802 | CONFIG_PANIC_TIMEOUT=0 803 | # CONFIG_SCHED_STACK_END_CHECK is not set 804 | # CONFIG_DEBUG_TIMEKEEPING is not set 805 | 806 | # 807 | # Lock Debugging (spinlocks, mutexes, etc...) 808 | # 809 | # CONFIG_DEBUG_SPINLOCK is not set 810 | # CONFIG_DEBUG_MUTEXES is not set 811 | # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set 812 | # CONFIG_DEBUG_LOCK_ALLOC is not set 813 | # CONFIG_PROVE_LOCKING is not set 814 | # CONFIG_LOCK_STAT is not set 815 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set 816 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 817 | # CONFIG_LOCK_TORTURE_TEST is not set 818 | # CONFIG_STACKTRACE is not set 819 | # CONFIG_DEBUG_KOBJECT is not set 820 | # CONFIG_DEBUG_LIST is not set 821 | # CONFIG_DEBUG_PI_LIST is not set 822 | # CONFIG_DEBUG_SG is not set 823 | # CONFIG_DEBUG_NOTIFIERS is not set 824 | # CONFIG_DEBUG_CREDENTIALS is not set 825 | 826 | # 827 | # RCU Debugging 828 | # 829 | # CONFIG_PROVE_RCU is not set 830 | # CONFIG_SPARSE_RCU_POINTER is not set 831 | # CONFIG_TORTURE_TEST is not set 832 | # CONFIG_RCU_TORTURE_TEST is not set 833 | # CONFIG_RCU_TRACE is not set 834 | # CONFIG_NOTIFIER_ERROR_INJECTION is not set 835 | # CONFIG_FAULT_INJECTION is not set 836 | CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y 837 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set 838 | CONFIG_USER_STACKTRACE_SUPPORT=y 839 | CONFIG_HAVE_FUNCTION_TRACER=y 840 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 841 | CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y 842 | CONFIG_HAVE_DYNAMIC_FTRACE=y 843 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y 844 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 845 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y 846 | CONFIG_HAVE_C_RECORDMCOUNT=y 847 | CONFIG_TRACING_SUPPORT=y 848 | # CONFIG_FTRACE is not set 849 | 850 | # 851 | # Runtime Testing 852 | # 853 | # CONFIG_TEST_LIST_SORT is not set 854 | # CONFIG_BACKTRACE_SELF_TEST is not set 855 | # CONFIG_RBTREE_TEST is not set 856 | # CONFIG_ATOMIC64_SELFTEST is not set 857 | # CONFIG_TEST_HEXDUMP is not set 858 | # CONFIG_TEST_STRING_HELPERS is not set 859 | # CONFIG_TEST_KSTRTOX is not set 860 | # CONFIG_TEST_RHASHTABLE is not set 861 | # CONFIG_DMA_API_DEBUG is not set 862 | # CONFIG_TEST_UDELAY is not set 863 | # CONFIG_MEMTEST is not set 864 | # CONFIG_SAMPLES is not set 865 | CONFIG_HAVE_ARCH_KGDB=y 866 | # CONFIG_KGDB is not set 867 | # CONFIG_STRICT_DEVMEM is not set 868 | CONFIG_X86_VERBOSE_BOOTUP=y 869 | CONFIG_EARLY_PRINTK=y 870 | # CONFIG_X86_PTDUMP is not set 871 | # CONFIG_DEBUG_RODATA is not set 872 | # CONFIG_DOUBLEFAULT is not set 873 | # CONFIG_DEBUG_TLBFLUSH is not set 874 | # CONFIG_IOMMU_STRESS is not set 875 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y 876 | CONFIG_IO_DELAY_TYPE_0X80=0 877 | CONFIG_IO_DELAY_TYPE_0XED=1 878 | CONFIG_IO_DELAY_TYPE_UDELAY=2 879 | CONFIG_IO_DELAY_TYPE_NONE=3 880 | CONFIG_IO_DELAY_0X80=y 881 | # CONFIG_IO_DELAY_0XED is not set 882 | # CONFIG_IO_DELAY_UDELAY is not set 883 | # CONFIG_IO_DELAY_NONE is not set 884 | CONFIG_DEFAULT_IO_DELAY_TYPE=0 885 | # CONFIG_CPA_DEBUG is not set 886 | # CONFIG_OPTIMIZE_INLINING is not set 887 | # CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set 888 | 889 | # 890 | # Security options 891 | # 892 | # CONFIG_KEYS is not set 893 | # CONFIG_SECURITY_DMESG_RESTRICT is not set 894 | # CONFIG_SECURITYFS is not set 895 | CONFIG_DEFAULT_SECURITY_DAC=y 896 | CONFIG_DEFAULT_SECURITY="" 897 | # CONFIG_CRYPTO is not set 898 | CONFIG_HAVE_KVM=y 899 | # CONFIG_VIRTUALIZATION is not set 900 | # CONFIG_BINARY_PRINTF is not set 901 | 902 | # 903 | # Library routines 904 | # 905 | CONFIG_GENERIC_STRNCPY_FROM_USER=y 906 | CONFIG_GENERIC_STRNLEN_USER=y 907 | CONFIG_GENERIC_FIND_FIRST_BIT=y 908 | CONFIG_GENERIC_PCI_IOMAP=y 909 | CONFIG_GENERIC_IOMAP=y 910 | CONFIG_GENERIC_IO=y 911 | CONFIG_ARCH_HAS_FAST_MULTIPLIER=y 912 | # CONFIG_CRC_CCITT is not set 913 | # CONFIG_CRC16 is not set 914 | # CONFIG_CRC_T10DIF is not set 915 | # CONFIG_CRC_ITU_T is not set 916 | # CONFIG_CRC32 is not set 917 | # CONFIG_CRC7 is not set 918 | # CONFIG_LIBCRC32C is not set 919 | # CONFIG_CRC8 is not set 920 | # CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set 921 | # CONFIG_RANDOM32_SELFTEST is not set 922 | # CONFIG_XZ_DEC is not set 923 | # CONFIG_XZ_DEC_BCJ is not set 924 | CONFIG_HAS_IOMEM=y 925 | CONFIG_HAS_IOPORT_MAP=y 926 | CONFIG_HAS_DMA=y 927 | CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y 928 | # CONFIG_AVERAGE is not set 929 | # CONFIG_CORDIC is not set 930 | # CONFIG_DDR is not set 931 | CONFIG_ARCH_HAS_SG_CHAIN=y 932 | --------------------------------------------------------------------------------