diff --git a/src/Makefile b/src/Makefile index 416e972..123ce38 100644 --- a/src/Makefile +++ b/src/Makefile @@ -99,10 +99,20 @@ bochsg: $(BUILD_PATH)/master.img @rm -rf $(BUILD_PATH)/*lock bochs-gdb -q -f ../bochs/bochsrc.gdb -.PHONY: qemu -qemu: $(BUILD_PATH)/master.img - qemu-system-i386 \ - -s -S \ + +QEMU:= qemu-system-i386 \ -m 64M \ -boot c \ - -hda $< \ No newline at end of file + -drive file=$(BUILD_PATH)/master.img,if=ide,index=0,media=disk,format=raw \ + -audiodev pa,id=hda \ + -machine pcspk-audiodev=hda \ + -rtc base=localtime \ + + +.PHONY: qemug +qemug: $(BUILD_PATH)/master.img + $(QEMU) -s -S \ + +.PHONY: qemu +qemu: $(BUILD_PATH)/master.img + $(QEMU) \ No newline at end of file diff --git a/src/include/onix/rtc.h b/src/include/onix/rtc.h new file mode 100644 index 0000000..3abcebf --- /dev/null +++ b/src/include/onix/rtc.h @@ -0,0 +1,12 @@ +#ifndef ONIX_RTC_H +#define ONIX_RTC_H +#include +#include + + +u8 cmos_read(u8 addr); +void cmos_write(u8 addr, u8 value); + + + +#endif \ No newline at end of file diff --git a/src/include/onix/time.h b/src/include/onix/time.h index 0285816..c4726cb 100644 --- a/src/include/onix/time.h +++ b/src/include/onix/time.h @@ -38,7 +38,7 @@ typedef struct tm{ void time_read_bcd(tm *time); void time_read(tm *time); -// 将struct tm 结构体类型表示的时间转换为从 1970 年 1 月 1 日 00:00:00 +0000 (UTC) 到该时间点的秒数 +// 将struct tm 结构体类型表示的时间转换为从 1970年1月1日00:00:00 +0000(UTC) 到该时间点的秒数 usize mktime(tm *time); void time_init(); diff --git a/src/kernel/rtc.c b/src/kernel/rtc.c new file mode 100644 index 0000000..e69de29 diff --git a/src/kernel/time.c b/src/kernel/time.c index 3e24155..bcb4c99 100644 --- a/src/kernel/time.c +++ b/src/kernel/time.c @@ -192,4 +192,6 @@ void time_init() // 计算得到时间戳 startup_time = mktime(&time); + DEBUGK("时间戳 time: %d", startup_time); + } \ No newline at end of file