diff --git a/ChangeLog b/ChangeLog index 317677c..a847e59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -86,6 +86,7 @@ IDT Overhaul * RTC : basic timer wait() 2019-05-08 @os-k-team - * Shell : basic shell that can beep, scroll up, scroll down and shutdwn + * Shell : basic shell that can beep, scroll up, scroll down and shutdwn, and + with a help command. * Power management : implementation of shutdown on qemu, virtualbox etc * Terminal : actual scroll up and down diff --git a/Makefile b/Makefile index 2617155..aaed139 100644 --- a/Makefile +++ b/Makefile @@ -144,6 +144,8 @@ $(KOBJDIR)/libc/mem.o: $(KALEIDDIR)/libc/mem.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR) @$(KCC) -fno-strict-aliasing $< -o $@ @echo ${CL2}[$@] ${CL}Compiled.${CL3} +## MISC MAKEFILE ------------------------------------------------------------- # + $(KOBJDIR)/kernel/cpu/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c \ $(KALEIDDIR)/kernel/cpu/isr.asm $(INCLUDEDIR)/*/*.h | $(KOBJDIR) @mkdir -p $(shell dirname $@) @@ -153,6 +155,15 @@ $(KOBJDIR)/kernel/cpu/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c \ @rm -f $@.1 $@.2 @echo ${CL2}[$@] ${CL}Compiled.${CL3} +$(KOBJDIR)/kernel/cpu/cpuid.o: $(KALEIDDIR)/kernel/cpu/cpuid.c \ + $(KALEIDDIR)/kernel/cpu/cpuf.asm $(INCLUDEDIR)/*/*.h | $(KOBJDIR) + @mkdir -p $(shell dirname $@) + @$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/cpuf.asm -o $@.1 + @$(KCC) $< -o $@.2 + @$(LD) $(LDFLAGS) -r $@.1 $@.2 -o $@ + @rm -f $@.1 $@.2 + @echo ${CL2}[$@] ${CL}Compiled.${CL3} + ## MAIN MAKEFILE ------------------------------------------------------------- # $(KOBJDIR)/%.o: %.c $(INCLUDEDIR)/*/*.h $(KALEIDDIR)/*/*/*.h | $(KOBJDIR) diff --git a/ProjectTree b/ProjectTree index 9abb272..70b5e50 100644 --- a/ProjectTree +++ b/ProjectTree @@ -76,6 +76,7 @@ │   │   │   ├── ke │   │   │   │   ├── log.o │   │   │   │   ├── panic.o +│   │   │   │   ├── shcmds.o │   │   │   │   └── shell.o │   │   │   ├── mm │   │   │   │   ├── gdt.o @@ -109,8 +110,6 @@ │   │   ├── string.o │   │   └── strtol.o │   ├── grub.log -│   ├── kaleid32_disasm.asm -│   ├── kaleid64_disasm.asm │   └── kernel.ld ├── include │   ├── base @@ -136,6 +135,7 @@ │   │   ├── heap.h │   │   ├── idt.h │   │   ├── iomisc.h +│   │   ├── keyboard.h │   │   ├── mboot.h │   │   ├── mm.h │   │   ├── proc.h @@ -172,7 +172,9 @@ │   │   ├── ke │   │   │   ├── log.c │   │   │   ├── panic.c -│   │   │   └── shell.c +│   │   │   ├── shcmds.c +│   │   │   ├── shell.c +│   │   │   └── shell.h │   │   ├── mm │   │   │   ├── gdt.c │   │   │   ├── heap.c @@ -207,8 +209,10 @@ ├── AUTHORS ├── ChangeLog ├── COPYING +├── kaleid32_disasm.asm +├── kaleid64_disasm.asm ├── Makefile ├── ProjectTree └── README.md -39 directories, 147 files +39 directories, 151 files diff --git a/kaleid/kernel/cpu/cpuf.asm b/kaleid/kernel/cpu/cpuf.asm new file mode 100644 index 0000000..c5bff22 --- /dev/null +++ b/kaleid/kernel/cpu/cpuf.asm @@ -0,0 +1,23 @@ +;=----------------------------------------------------------------------------=; +; GNU GPL OS/K ; +; ; +; Desc: CPU management related functions ; +; ; +; ; +; Copyright © 2018-2019 The OS/K Team ; +; ; +; This file is part of OS/K. ; +; ; +; OS/K is free software: you can redistribute it and/or modify ; +; it under the terms of the GNU General Public License as published by ; +; the Free Software Foundation, either version 3 of the License, or ; +; (at your option) any later version. ; +; ; +; OS/K is distributed in the hope that it will be useful, ; +; but WITHOUT ANY WARRANTY; without even the implied warranty of ; +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; +; GNU General Public License for more details. ; +; ; +; You should have received a copy of the GNU General Public License ; +; along with OS/K. If not, see . ; +;=----------------------------------------------------------------------------=;