From a02acbdbe66002bf72c9ed1d46ffcee9432522b1 Mon Sep 17 00:00:00 2001 From: fslongjin Date: Sun, 31 Jul 2022 14:17:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E8=BF=9B=E7=A8=8B=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=8E=9F=E8=AF=AD=E7=A7=BB=E5=8A=A8=E5=88=B0common=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/kernel/core_api/atomic.md | 2 +- kernel/common/Makefile | 5 ++++- kernel/{process => common}/atomic.h | 0 kernel/common/printk.c | 2 +- kernel/{process => common}/semaphore.h | 2 +- kernel/{process => common}/spinlock.h | 0 kernel/{process => common}/wait_queue.c | 0 kernel/{process => common}/wait_queue.h | 0 kernel/driver/disk/block_device.h | 2 +- kernel/driver/keyboard/ps2_keyboard.c | 4 ++-- kernel/driver/timers/HPET/HPET.c | 2 +- kernel/driver/usb/usb.c | 2 +- kernel/driver/usb/xhci/xhci.c | 2 +- kernel/driver/video/video.c | 2 +- kernel/exception/softirq.c | 2 +- kernel/filesystem/fat32/fat32.c | 2 +- kernel/process/Makefile | 5 ++--- kernel/process/process.c | 2 +- kernel/process/process.h | 2 +- kernel/sched/sched.c | 2 +- kernel/smp/smp.c | 2 +- 21 files changed, 22 insertions(+), 20 deletions(-) rename kernel/{process => common}/atomic.h (100%) rename kernel/{process => common}/semaphore.h (98%) rename kernel/{process => common}/spinlock.h (100%) rename kernel/{process => common}/wait_queue.c (100%) rename kernel/{process => common}/wait_queue.h (100%) diff --git a/docs/kernel/core_api/atomic.md b/docs/kernel/core_api/atomic.md index 764e0bdd..bc036cc2 100644 --- a/docs/kernel/core_api/atomic.md +++ b/docs/kernel/core_api/atomic.md @@ -2,7 +2,7 @@ ## 简介 -  DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在`kernel/process/atomic.h`中。 +  DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在`kernel/common/atomic.h`中。 ## API diff --git a/kernel/common/Makefile b/kernel/common/Makefile index 0581abfb..f2c73461 100644 --- a/kernel/common/Makefile +++ b/kernel/common/Makefile @@ -3,7 +3,7 @@ CFLAGS += -I . kernel_common_subdirs:=libELF math -all: glib.o printk.o cpu.o bitree.o kfifo.o +all: glib.o printk.o cpu.o bitree.o kfifo.o wait_queue.o @list='$(kernel_common_subdirs)'; for subdir in $$list; do \ echo "make all in $$subdir";\ cd $$subdir;\ @@ -25,3 +25,6 @@ bitree.o: bitree.c kfifo.o: kfifo.c gcc $(CFLAGS) -c kfifo.c -o kfifo.o + +wait_queue.o: wait_queue.c + gcc $(CFLAGS) -c wait_queue.c -o wait_queue.o diff --git a/kernel/process/atomic.h b/kernel/common/atomic.h similarity index 100% rename from kernel/process/atomic.h rename to kernel/common/atomic.h diff --git a/kernel/common/printk.c b/kernel/common/printk.c index a5581002..d8de0d5d 100644 --- a/kernel/common/printk.c +++ b/kernel/common/printk.c @@ -5,7 +5,7 @@ #include "kprint.h" #include #include -#include +#include #include #include diff --git a/kernel/process/semaphore.h b/kernel/common/semaphore.h similarity index 98% rename from kernel/process/semaphore.h rename to kernel/common/semaphore.h index 8775abea..b29fc084 100644 --- a/kernel/process/semaphore.h +++ b/kernel/common/semaphore.h @@ -10,7 +10,7 @@ */ #pragma once -#include +#include #include #include diff --git a/kernel/process/spinlock.h b/kernel/common/spinlock.h similarity index 100% rename from kernel/process/spinlock.h rename to kernel/common/spinlock.h diff --git a/kernel/process/wait_queue.c b/kernel/common/wait_queue.c similarity index 100% rename from kernel/process/wait_queue.c rename to kernel/common/wait_queue.c diff --git a/kernel/process/wait_queue.h b/kernel/common/wait_queue.h similarity index 100% rename from kernel/process/wait_queue.h rename to kernel/common/wait_queue.h diff --git a/kernel/driver/disk/block_device.h b/kernel/driver/disk/block_device.h index 0636e387..dfe3e42a 100644 --- a/kernel/driver/disk/block_device.h +++ b/kernel/driver/disk/block_device.h @@ -2,7 +2,7 @@ #include #include "stdint.h" -#include +#include #define BLK_TYPE_AHCI 0 struct block_device_operation diff --git a/kernel/driver/keyboard/ps2_keyboard.c b/kernel/driver/keyboard/ps2_keyboard.c index 6abbedea..73ab3f59 100644 --- a/kernel/driver/keyboard/ps2_keyboard.c +++ b/kernel/driver/keyboard/ps2_keyboard.c @@ -4,8 +4,8 @@ #include #include #include -#include -#include +#include +#include #include // 键盘输入缓冲区 diff --git a/kernel/driver/timers/HPET/HPET.c b/kernel/driver/timers/HPET/HPET.c index bc347b4d..2099764a 100644 --- a/kernel/driver/timers/HPET/HPET.c +++ b/kernel/driver/timers/HPET/HPET.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include static struct acpi_HPET_description_table_t *hpet_table; static uint64_t HPET_REG_BASE = 0; diff --git a/kernel/driver/usb/usb.c b/kernel/driver/usb/usb.c index 50c443df..4ff3576d 100644 --- a/kernel/driver/usb/usb.c +++ b/kernel/driver/usb/usb.c @@ -3,7 +3,7 @@ #include #include #include -#include +#include extern spinlock_t xhci_controller_init_lock; // xhci控制器初始化锁 diff --git a/kernel/driver/usb/xhci/xhci.c b/kernel/driver/usb/xhci/xhci.c index 39693f4c..7216077f 100644 --- a/kernel/driver/usb/xhci/xhci.c +++ b/kernel/driver/usb/xhci/xhci.c @@ -1,7 +1,7 @@ #include "xhci.h" #include #include -#include +#include #include #include #include diff --git a/kernel/driver/video/video.c b/kernel/driver/video/video.c index b60ac2a0..c1e14357 100644 --- a/kernel/driver/video/video.c +++ b/kernel/driver/video/video.c @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include // 每个时刻只能有1个进程新增定时任务 diff --git a/kernel/exception/softirq.c b/kernel/exception/softirq.c index 8f5a6928..dc141a8e 100644 --- a/kernel/exception/softirq.c +++ b/kernel/exception/softirq.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include static spinlock_t softirq_modify_lock; // 软中断状态(status) static volatile uint64_t softirq_pending = 0; diff --git a/kernel/filesystem/fat32/fat32.c b/kernel/filesystem/fat32/fat32.c index cbfbe0fb..fc0cb756 100644 --- a/kernel/filesystem/fat32/fat32.c +++ b/kernel/filesystem/fat32/fat32.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kernel/process/Makefile b/kernel/process/Makefile index 87d72a10..e7fb7ce7 100644 --- a/kernel/process/Makefile +++ b/kernel/process/Makefile @@ -1,5 +1,5 @@ -all: procs.o process.o wait_queue.o +all: procs.o process.o CFLAGS += -I . @@ -12,8 +12,7 @@ procs.o: proc.S process.o: process.c gcc $(CFLAGS) -c process.c -o process.o -wait_queue.o: wait_queue.c - gcc $(CFLAGS) -c wait_queue.c -o wait_queue.o + clean: echo "Done." \ No newline at end of file diff --git a/kernel/process/process.c b/kernel/process/process.c index 940ec118..ba38adaf 100644 --- a/kernel/process/process.c +++ b/kernel/process/process.c @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kernel/process/process.h b/kernel/process/process.h index cdb5a828..d383243e 100644 --- a/kernel/process/process.h +++ b/kernel/process/process.h @@ -17,7 +17,7 @@ #include "ptrace.h" #include #include -#include +#include // 进程最大可拥有的文件描述符数量 #define PROC_MAX_FD_NUM 16 diff --git a/kernel/sched/sched.c b/kernel/sched/sched.c index 565c378f..5d94c751 100644 --- a/kernel/sched/sched.c +++ b/kernel/sched/sched.c @@ -1,7 +1,7 @@ #include "sched.h" #include #include -#include +#include struct sched_queue_t sched_cfs_ready_queue[MAX_CPU_NUM]; // 就绪队列 diff --git a/kernel/smp/smp.c b/kernel/smp/smp.c index 0bd87513..1e346088 100644 --- a/kernel/smp/smp.c +++ b/kernel/smp/smp.c @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include