From f6e07ec33e7e63bc5033bb73d20626fabbb4a3dc Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 13:32:25 +0100 Subject: [PATCH 01/18] Revert "sched.h" This reverts commit 8d128386b96a7ee665adf20ac908ba2276718750. --- include/ke/sched.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/ke/sched.h b/include/ke/sched.h index 32856e4..9005de2 100644 --- a/include/ke/sched.h +++ b/include/ke/sched.h @@ -61,8 +61,8 @@ extern const char *PsPrioClassesNames[]; // Re-scheduling and preemption // XXX atomic operations // -#define PsRequestReSched() do { ++KeCurCPU->needReSched; } while (0) -#define PsDisablePreemption() do { ++KeCurCPU->preemptCount; } while (0) +#define PsRequestReSched() (++KeCurCPU->needReSched) +#define PsDisablePreemption() (++KeCurCPU->preemptCount) #define PsEnablePreemption() do { assert(KeCurCPU->preemptCount > 0); \ --KeCurCPU->preemptCount; } while(0) From e4c09a29efeb64696d45f856c032361ef80eeeeb Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 13:32:50 +0100 Subject: [PATCH 02/18] Revert "scanf (proto)" This reverts commit e0b3c3d81e46e9e4f90b58eb8b5a8d4c4f590dc7. --- include/lib/buf.h | 4 ++-- kaleid/libbuf/bscan.c | 26 +++++++++++++++----------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/include/lib/buf.h b/include/lib/buf.h index 8255d2b..72536b2 100644 --- a/include/lib/buf.h +++ b/include/lib/buf.h @@ -167,8 +167,8 @@ size_t vbprintf(Buffer_t *, const char *, va_list); error_t bgetc(Buffer_t *, uchar *); size_t bread(Buffer_t *, uchar *, size_t); -size_t bscanf(Buffer_t *, const char *, ...); -size_t vbscanf(Buffer_t *, const char *, va_list); +size_t bscanf(Buffer_t *, size_t *, const char *, ...); +size_t vbscanf(Buffer_t *, size_t *, const char *, va_list); error_t bemptybuf(Buffer_t *); error_t bscrolldown(Buffer_t *); diff --git a/kaleid/libbuf/bscan.c b/kaleid/libbuf/bscan.c index f7b5c25..cb31ee8 100644 --- a/kaleid/libbuf/bscan.c +++ b/kaleid/libbuf/bscan.c @@ -21,7 +21,7 @@ // You should have received a copy of the GNU General Public License // // along with OS/K. If not, see . // //----------------------------------------------------------------------------// - +#if 0 #include // @@ -43,7 +43,7 @@ size_t BScanFromBuf(Buffer_t *buf, const char *fmt, ...) size_t BScanFromBufV(Buffer_t *buf, const char *fmt, va_list ap) { - size_t sz; + size_t rc; ExAcquireLock(&buf->lock); sz = vbscanf(buf, fmt, ap); @@ -70,14 +70,13 @@ size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) size_t readcnt = 0; uchar ch = 0; - char *chptr; bool l, h; size_t width; bool ignore; // '*' modifier, don't write to va_list for current mod - if (!buf || !fmt) { seterrno(EINVAL); return 0; } + if (!buf || !fmt) { seterrnp(EINVAL); return 0; } if (buf->flags & (BF_EOF|BF_ERR)) { seterrno(EENDF); return 0; } if (buf->state != BS_RDWR && buf->state != BS_WRONLY) { seterrno(EBADF); @@ -85,7 +84,7 @@ size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) } // Progress in format string - while (*fmt && !rc) { + for (*fmt && !rc) { // Skip all kinds of whitespaces if (isspace(*fmt)) { @@ -155,6 +154,8 @@ size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) fmt++; } + assert(!(width < 0)); + // // Extract length field // @@ -166,7 +167,7 @@ size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) else if (*fmt == 'h') { h = 1; - fmt++; + fmt++ } // @@ -182,17 +183,16 @@ size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) for (; width; width--) { rc = bgetc(buf, &ch); if (!rc) break; - if (ignore) continue; - chptr = va_arg(ap, char *); - *chptr = (char)ch; - readcnt++; + char *chptr = va_arg(ap, char *); + *chptr = (char)ch; + readcnt++; } } // Decimal integer else if (*fmt == 'd') { - ; + } } @@ -205,6 +205,10 @@ size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) +#endif + + + From e7e948cf5ed22405e50a8909fd141cfa85ff81f6 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 13:33:04 +0100 Subject: [PATCH 03/18] Revert "new printf & proto-scanf" This reverts commit 18168ea254010f14486f5aaaeac0b3c072769051. --- include/lib/buf.h | 30 +++--- include/libc.h | 6 +- kaleid/kernel/ke/panic.c | 1 + kaleid/libbuf/bgetc.c | 6 -- kaleid/libbuf/bprint.c | 152 ++++++++++++++-------------- kaleid/libbuf/bscan.c | 208 +-------------------------------------- kaleid/libc/sprintf.c | 18 ++-- 7 files changed, 103 insertions(+), 318 deletions(-) diff --git a/include/lib/buf.h b/include/lib/buf.h index 72536b2..07311dc 100644 --- a/include/lib/buf.h +++ b/include/lib/buf.h @@ -138,18 +138,14 @@ int BGetState(Buffer_t *); error_t BFlushBuf(Buffer_t *); error_t BPutOnBuf(Buffer_t *, uchar); +error_t BWriteOnBuf(Buffer_t *, uchar *, size_t); +error_t BPrintOnBuf(Buffer_t *, const char *, ...); +error_t BPrintOnBufV(Buffer_t *, const char *, va_list); + error_t BGetFromBuf(Buffer_t *, uchar *); - -// The following functions return the number of bytes written to the buffer -size_t BWriteOnBuf(Buffer_t *, uchar *, size_t); -size_t BPrintOnBuf(Buffer_t *, const char *, ...); -size_t BPrintOnBufV(Buffer_t *, const char *, va_list); - -// The following functions return the number of elements from their -// va_list's their wrote too, e.g. successful bscanf("%d %d", &a, &b) == 2 -size_t BReadFromBuf(Buffer_t *, uchar *, size_t); -size_t BScanFromBuf(Buffer_t *, const char *, ...); -size_t BScanFromBufV(Buffer_t *, const char *, va_list); +error_t BReadBuf(Buffer_t *, uchar *, size_t); +error_t BScanBuf(Buffer_t *, const char *, ...); +error_t BScanBufV(Buffer_t *, const char *, va_list); void BLockBuf(Buffer_t *); void BUnlockBuf(Buffer_t *); @@ -161,14 +157,14 @@ bool BTrylockBuf(Buffer_t *); // error_t bputc(Buffer_t *, uchar); -size_t bwrite(Buffer_t *, uchar *, size_t); -size_t bprintf(Buffer_t *, const char *, ...); -size_t vbprintf(Buffer_t *, const char *, va_list); +error_t bwrite(Buffer_t *, uchar *, size_t); +error_t bprintf(Buffer_t *, const char *, ...); +error_t vbprintf(Buffer_t *, const char *, va_list); error_t bgetc(Buffer_t *, uchar *); -size_t bread(Buffer_t *, uchar *, size_t); -size_t bscanf(Buffer_t *, size_t *, const char *, ...); -size_t vbscanf(Buffer_t *, size_t *, const char *, va_list); +error_t bread(Buffer_t *, uchar *, size_t); +error_t bscanf(Buffer_t *, const char *, ...); +error_t vbscanf(Buffer_t *, const char *, va_list); error_t bemptybuf(Buffer_t *); error_t bscrolldown(Buffer_t *); diff --git a/include/libc.h b/include/libc.h index f35ae16..21a52e2 100644 --- a/include/libc.h +++ b/include/libc.h @@ -146,12 +146,8 @@ char *strrev(char *restrict, const char *restrict); char *strrev2(char *); size_t sprintf(char *, const char *, ...); -size_t vsprintf(char *, const char *, va_list); - -// These return the number of bytes **written** -// not the number of bytes which would have been -// written had the buffer been large enough size_t snprintf(char *, size_t, const char *, ...); +size_t vsprintf(char *, const char *, va_list); size_t vsnprintf(char *, size_t, const char *, va_list); //----------------------------------------------------------------------------// diff --git a/kaleid/kernel/ke/panic.c b/kaleid/kernel/ke/panic.c index 0b95652..8f3bf8d 100644 --- a/kaleid/kernel/ke/panic.c +++ b/kaleid/kernel/ke/panic.c @@ -26,6 +26,7 @@ #include #include +error_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap); extern bool KeIdtIsInitialized; // diff --git a/kaleid/libbuf/bgetc.c b/kaleid/libbuf/bgetc.c index ef53d4c..f0f6d0f 100644 --- a/kaleid/libbuf/bgetc.c +++ b/kaleid/libbuf/bgetc.c @@ -43,9 +43,6 @@ error_t BGetFromBuf(Buffer_t *buf, uchar *ch) ExReleaseLock(&buf->lock); return rc; } - -// Note: any change to this must be done while -// keeping in mind vbscanf()'s workaround for ungetc() error_t bgetc(Buffer_t *buf, uchar *ch) { error_t rc = EOK; @@ -73,9 +70,6 @@ error_t bgetc(Buffer_t *buf, uchar *ch) while (buf->rp >= buf->wp) { #ifdef _KALEID_KERNEL KeSleep(1); // XXX synchronization with keyboard driver -#else - buf->flags |= BF_EOF; - return EENDF; // Currently empty #endif } diff --git a/kaleid/libbuf/bprint.c b/kaleid/libbuf/bprint.c index c407cf4..48dbdeb 100644 --- a/kaleid/libbuf/bprint.c +++ b/kaleid/libbuf/bprint.c @@ -31,41 +31,73 @@ // // Prints formatted string on buf according to fmt // -size_t BPrintOnBuf(Buffer_t *buf, const char *fmt, ...) +error_t BPrintOnBuf(Buffer_t *buf, const char *fmt, ...) { - size_t sz; + error_t rc; va_list ap; va_start(ap, fmt); ExAcquireLock(&buf->lock); - sz = vbprintf(buf, fmt, ap); + rc = vbprintf(buf, fmt, ap); ExReleaseLock(&buf->lock); va_end(ap); - return sz; + return rc; } -size_t BPrintOnBufV(Buffer_t *buf, const char *fmt, va_list ap) +error_t BPrintOnBufV(Buffer_t *buf, const char *fmt, va_list ap) { - size_t sz; + error_t rc; ExAcquireLock(&buf->lock); - sz = vbprintf(buf, fmt, ap); + rc = vbprintf(buf, fmt, ap); ExReleaseLock(&buf->lock); - return sz; + return rc; } -size_t bprintf(Buffer_t *buf, const char *fmt, ...) +error_t bprintf(Buffer_t *buf, const char *fmt, ...) { - size_t sz; + error_t rc; va_list ap; va_start(ap, fmt); - sz = vbprintf(buf, fmt, ap); + rc = vbprintf(buf, fmt, ap); va_end(ap); - return sz; + return rc; +} + +// +// Prints 0 for octal, 0x for hexadecimal, 0b for binary +// +static error_t bprinthash(Buffer_t *buf, int base, int cap) +{ + error_t rc; + + if (base != 2 && base != 8 && base != 16) { + return EOK; + } + + rc = bputc(buf, '0'); + + if (!rc && base != 8) { + rc = bputc(buf, (base == 2 ? 'b' : (cap ? 'X' : 'x'))); + } + + return rc; +} + +static error_t bdopadding(Buffer_t *buf, size_t width, size_t len, + char filler) +{ + error_t rc = EOK; + + for (; !rc && width > len ; width--) { + rc = bputc(buf, filler); + } + + return rc; } #define CONVBUFSIZE 100 @@ -74,10 +106,9 @@ size_t bprintf(Buffer_t *buf, const char *fmt, ...) // Actually does BPrintOnBuf's job; doesn't lock anything // Quite a long function // -size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) +error_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) { error_t rc = 0; - size_t written = 0; ssize_t width, prec, len; char type; @@ -103,11 +134,10 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) // Base int base; - if (!buf || !fmt) { seterrno(EINVAL); return 0; } - if (buf->flags & (BF_EOF|BF_ERR)) { seterrno(EENDF); return 0; } + if (!buf || !fmt) return EINVAL; + if (buf->flags & (BF_EOF|BF_ERR)) return EENDF; if (buf->state != BS_RDWR && buf->state != BS_WRONLY) { - seterrno(EBADF); - return 0; + return EBADF; } // Progress in format string @@ -116,14 +146,14 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) // Deal with all non-'%' characters if (*fmt != '%') { rc = bputc(buf, *fmt); - written++; + fmt++; - continue; } // - // %[flags][width|*][.precision|*][length]type + // %[parameter][flags][width|*][.precision|*][length]type + // We aren't dealing with parameters and floating stuff just yet // // Skip the '%' @@ -132,9 +162,8 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) // "%%" modifier if (*fmt == '%') { rc = bputc(buf, '%'); - written++; + fmt++; - continue; } @@ -224,7 +253,6 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) if (type == 'c') { uch = (uchar)va_arg(ap, int); rc = bputc(buf, uch); - written++; continue; } @@ -233,10 +261,8 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) if (type == 'C') { base = va_arg(ap, int); - if (!(base < 0 || base > VGA_COLOR_WHITE)) { + if (!(base < 0 || base > VGA_COLOR_WHITE)) rc = bputc(buf, RtlColorToChar(base)); - written++; - } assert(!rc && 1); @@ -255,7 +281,7 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) // Zero/nonspecified precision means unlimited amount if (prec == 0) prec = INT_MAX; - for (; !rc && *s && prec-- ; s++) { + for (; *s && prec-- ; s++) { rc = bputc(buf, (uchar)*s); } @@ -266,7 +292,6 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) // Make sure width and prec aren't too big // (We didn't do that earlier because %s uses width) if (width > CONVBUFSIZE || prec > CONVBUFSIZE) { - written++; // Work around "if (rc) return written - 1;" rc = EINVAL; break; } @@ -288,16 +313,16 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) // End of string too soon else if (type == '\0') { + bputc(buf, '%'); rc = EINVAL; - written++; // fool the line "if (rc) return written-1;" break; } // Unknown/unsupported modifier else { - rc = bputc(buf, '%'); - written++; - + bputc(buf, '%'); + bputc(buf, '?'); + rc = bputc(buf, type); continue; } @@ -357,63 +382,36 @@ size_t vbprintf(Buffer_t *buf, const char *fmt, va_list ap) } // When padding with spaces, we pad before +/-'s etc - if (!minus && !zero && width > len) { - for (; !rc && width > len ; width--) { - rc = bputc(buf, ' '); - written++; - } - } + if (!minus && !zero && width > len) + bdopadding(buf, width, len, ' '); // Deal with signs and the hash flag - if (*s == '-') { rc = bputc(buf, '-'); s++, len--; written++; } - else if (sgn && plus) { rc = bputc(buf, '+'); written++; } - else if (sgn && space) { rc = bputc(buf, ' '); written++; } - - // Print 0 for octal, 0x for hexadecimal, 0b for binary - else if (hash && (base == 2 || base == 8 || base == 16)) { - rc = bputc(buf, '0'); - written++; - - if (!rc && base != 8) { - rc = bputc(buf, (base == 2 ? 'b' : (cap ? 'X' : 'x'))); - written++; - } - } + if (*s == '-') { rc = bputc(buf, '-'); s++, len--; } + else if (sgn && plus) rc = bputc(buf, '+'); + else if (sgn && space) rc = bputc(buf, ' '); + else if (hash) bprinthash(buf, base, cap); // Deal with padding by zeroes // The 'minus' flag makes no sense with the 'zero' one - if (zero && width > len) { - for (; !rc && width > len ; width--) { - rc = bputc(buf, '0'); - written++; - } - } + if (zero && width > len) + bdopadding(buf, width, len, '0'); // Output the actual number for (; !rc && *s ; s++) { rc = bputc(buf, (uchar)*s); - written++; } // 'minus' padding, only with spaces - if (minus && !zero && width > len) { - for (; !rc && width > len ; width--) { - rc = bputc(buf, ' '); - written++; - } - } - + if (minus && !zero && width > len) + bdopadding(buf, width, base, ' '); + // Carry on to next modifier - } + } + + // For debugging purposes + if(rc)KeStartPanic("%s",strerror(rc)); + assert(!rc && "vbprintf() error"); - // For debugging purposes - assert(!rc && "vbprintf() error"); - seterrno(rc); - - if (rc) - return written - 1; // "- 1" because last bputc() must have failed - - else - return written; + return rc; } diff --git a/kaleid/libbuf/bscan.c b/kaleid/libbuf/bscan.c index cb31ee8..e6df43c 100644 --- a/kaleid/libbuf/bscan.c +++ b/kaleid/libbuf/bscan.c @@ -21,212 +21,6 @@ // You should have received a copy of the GNU General Public License // // along with OS/K. If not, see . // //----------------------------------------------------------------------------// -#if 0 + #include - -// -// Builds string reading from buf according to fmt -// -size_t BScanFromBuf(Buffer_t *buf, const char *fmt, ...) -{ - size_t sz; - va_list ap; - - va_start(ap, fmt); - ExAcquireLock(&buf->lock); - sz = vbscanf(buf, fmt, ap); - ExReleaseLock(&buf->lock); - va_end(ap); - - return sz; -} - -size_t BScanFromBufV(Buffer_t *buf, const char *fmt, va_list ap) -{ - size_t rc; - - ExAcquireLock(&buf->lock); - sz = vbscanf(buf, fmt, ap); - ExReleaseLock(&buf->lock); - - return sz; -} - -size_t bscanf(Buffer_t *buf, const char *fmt, ...) -{ - size_t sz; - va_list ap; - - va_start(ap, fmt); - sz = vbscanf(buf, fmt, ap); - va_end(ap); - - return sz; -} - -size_t vbscanf(Buffer_t *buf, const char *fmt, va_list ap) -{ - error_t rc = EOK; - - size_t readcnt = 0; - uchar ch = 0; - - bool l, h; - - size_t width; - bool ignore; // '*' modifier, don't write to va_list for current mod - - if (!buf || !fmt) { seterrnp(EINVAL); return 0; } - if (buf->flags & (BF_EOF|BF_ERR)) { seterrno(EENDF); return 0; } - if (buf->state != BS_RDWR && buf->state != BS_WRONLY) { - seterrno(EBADF); - return 0; - } - - // Progress in format string - for (*fmt && !rc) { - - // Skip all kinds of whitespaces - if (isspace(*fmt)) { - - another_space: - rc = bgetc(buf, &ch); - - if (!rc) break; - - // Put back non-whitespaces and progress - if (!isspace(ch)) { - buf->rp--; - do { fmt++; } while (isspace(*fmt)); - continue; - } - - else goto another_space; - } - - // Deal with all non-'%' non-whitespace characters - if (*fmt != '%') { - rc = bgetc(buf, &ch); - - // Is it what we expected? - if (!rc && ch != *fmt) { - // No, so put it back - buf->rp--; - break; - } - - // We don't do anything with these characters - continue; - } - - // - // %[*][width][modifier]type - // - - // Skip the % - fmt++; - - // '%%' type - if (*fmt == '%') { - rc = bgetc(buf, &ch); - - if (!rc && ch != '%') { - buf->rp--; - break; - } - - continue; - } - - l = h = 0; - width = 0; - ignore = 0; - - // Don't write to variable - if (*fmt == '*') { - ignore = 1; - fmt++; - } - - // Extract width field - while (isdigit(*fmt)) { - width = 10 * width + (*fmt - '0'); - fmt++; - } - - assert(!(width < 0)); - - // - // Extract length field - // - - if (*fmt == 'l') { - l = 1; - fmt++; - } - - else if (*fmt == 'h') { - h = 1; - fmt++ - } - - // - // Types - // - - // Read character(s) - if (*fmt == 'c') { - if (width == 0) width = 1; - - // For >1 width, read that many characters - // then store them in successive argument pointers - for (; width; width--) { - rc = bgetc(buf, &ch); - if (!rc) break; - - char *chptr = va_arg(ap, char *); - *chptr = (char)ch; - readcnt++; - } - } - - // Decimal integer - else if (*fmt == 'd') { - - } - } - - // For debugging purposes - assert(!rc && "vbscanf() error"); - seterrno(rc); - - return readcnt; -} - - - -#endif - - - - - - - - - - - - - - - - - - - - - - - diff --git a/kaleid/libc/sprintf.c b/kaleid/libc/sprintf.c index bbee9b0..3e0f306 100644 --- a/kaleid/libc/sprintf.c +++ b/kaleid/libc/sprintf.c @@ -35,7 +35,7 @@ // Once libbuf is supports dynamic buffers, the only changes necessary // will be to change the value below to and add a line to vsnprintf() // -#define VSNPRINTF_MAX 4096 +#define VSNPRINTF_MAX 512 // // Format str according to fmt using ellipsed arguments @@ -77,8 +77,8 @@ size_t snprintf(char *str, size_t n, const char *fmt, ...) size_t vsnprintf(char *str, size_t n, const char *fmt, va_list ap) { - error_t rc; - size_t ret, sz; + size_t ret; + error_t rc = EOK; Buffer_t *buf = NULL; assert(str && fmt); @@ -96,11 +96,16 @@ size_t vsnprintf(char *str, size_t n, const char *fmt, va_list ap) goto fail; } - sz = vbprintf(buf, fmt, ap); + rc = vbprintf(buf, fmt, ap); // We don't mind EOFs, just just return how much was successfully written - if (sz == 0) { - if (!(buf->flags & BF_EOF)) { + if (rc != EOK) { + if (rc == EENDF) { + if (!(buf->flags & BF_EOF)) { + goto fail; + } + } + else { goto fail; } } @@ -108,6 +113,7 @@ size_t vsnprintf(char *str, size_t n, const char *fmt, va_list ap) ret = (size_t)buf->wp - (size_t)buf->buf; if (ret > 0) { + // To be changed to memcpy() memmove(str, (char *)buf->buf, ret); } From 314d7985067b442130311205bd8235bf1f2b5a4d Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 13:46:00 +0100 Subject: [PATCH 04/18] Update Readme --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index 7103772..9e84887 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,6 @@ To compile and test, simply use at the root of this project : make test ``` -To compile and install, simply use at the root of this project, with XXX the image or block file you want to use : -``` -make install installdisk=XXX -``` - #### Screenshot ![OS/K Started](https://www.os-k.eu/images/screen6.png) From 8af9b5fdb400812367bb5f7485c6a8975ed62a3c Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Mon, 3 Feb 2020 11:58:34 +0100 Subject: [PATCH 05/18] ACPI RSDT detected ! --- include/io/acpi.h | 18 +++++++++++++ include/kernel.h | 2 ++ kaleid/kernel/init/init.c | 6 ++--- kaleid/kernel/io/acpi.c | 52 +++++++++++++++++++++++++++++++++++++ kaleid/kernel/sh/testcmds.c | 1 - 5 files changed, 75 insertions(+), 4 deletions(-) diff --git a/include/io/acpi.h b/include/io/acpi.h index 9b2d087..3228584 100644 --- a/include/io/acpi.h +++ b/include/io/acpi.h @@ -31,7 +31,25 @@ //----------------------------------------------------------------------------// +// +// ACPI 2.0 Legacy descriptor +// +struct RSDPDescriptor { + char signature[8]; + uchar checksum; + char OEMID[6]; + uchar revision; + uint rsdtAddress; + uint length; + ulong xsdtAddress; + uchar extendedChecksum; + uchar reserved[3]; +} __attribute__ ((packed)); + +//----------------------------------------------------------------------------// + void IoTestAcpi(void); +RSDPDescriptor *IoFindRSDP(void); //----------------------------------------------------------------------------// diff --git a/include/kernel.h b/include/kernel.h index 8000b3d..3c02075 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -56,6 +56,8 @@ typedef struct IdtPtr_t IdtPtr_t; typedef struct ISRList_t ISRList_t; typedef struct ISRFrame_t ISRFrame_t; +typedef struct RSDPDescriptor RSDPDescriptor; + typedef struct MemoryMap_t MemoryMap_t; typedef struct MapEntry_t MapEntry_t; typedef struct GdtEntry_t GdtEntry_t; diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index fb5841d..5855162 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -64,6 +64,9 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) // Sanity checks BtDoSanityChecks(mbMagic); + // ACPI + IoTestAcpi(); + // Memory MmInitMemoryMap(); MmInitGdt(); @@ -83,9 +86,6 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) KeGetCpuInfos(); IoEnableKeyb(); - // ACPI - IoTestAcpi(); - // Scheduler PsInitSched(); diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index b5fdd6a..df1f3fb 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -24,6 +24,7 @@ #include #include +#include void IoTestAcpi(void) { @@ -34,6 +35,57 @@ void IoTestAcpi(void) if (BtFirmwareInfo.apmValid) KernLog("\tApm Table is valid at %p\n", BtFirmwareInfo.apmTable); + RSDPDescriptor *rsdp = IoFindRSDP(); + if (!rsdp) + return; + + KernLog("\tFound ACPI RSDP (%s) version %d at %p\n", + rsdp->OEMID, (uint)rsdp->revision, rsdp + ); return; } + +RSDPDescriptor *IoFindRSDP() +{ + char *rsdp = NULL; + + + // Search in EBDA + for (rsdp = (char *)0x00080000; // EBDA address + (ulong)rsdp < (ulong)0x0009FFFF; // EBDA end + rsdp++) { + + if (rsdp[0] == 'R' && + rsdp[1] == 'S' && + rsdp[2] == 'D' && + rsdp[3] == ' ' && + rsdp[4] == 'P' && + rsdp[5] == 'T' && + rsdp[6] == 'R' && + rsdp[7] == ' ' + ) { + return (RSDPDescriptor *)rsdp; + } + } + + // Search in BDA + for (rsdp = (char *)0x000E0000; // BDA address + (ulong)rsdp < (ulong)0x000FFFFF; // BDA end + rsdp++) { + + if (rsdp[0] == 'R' && + rsdp[1] == 'S' && + rsdp[2] == 'D' && + rsdp[3] == ' ' && + rsdp[4] == 'P' && + rsdp[5] == 'T' && + rsdp[6] == 'R' && + rsdp[7] == ' ' + ) { + return (RSDPDescriptor *)rsdp; + } + } + + return NULL; +} diff --git a/kaleid/kernel/sh/testcmds.c b/kaleid/kernel/sh/testcmds.c index 1f7c376..cc322a7 100644 --- a/kaleid/kernel/sh/testcmds.c +++ b/kaleid/kernel/sh/testcmds.c @@ -143,7 +143,6 @@ error_t CmdDumpMem(int argc, char **argv, char *cmdline) x += step; } - KernLog("\n\n"); return EOK; } From cad56896cd581d45803f4f33fa4302fa06710b80 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Mon, 3 Feb 2020 13:43:40 +0100 Subject: [PATCH 06/18] More proper way for stack allocation --- kaleid/kernel/init/init.c | 13 +++++-------- kaleid/kernel/mm/gdt.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 5855162..d385631 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -64,21 +64,16 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) // Sanity checks BtDoSanityChecks(mbMagic); - // ACPI - IoTestAcpi(); - // Memory MmInitMemoryMap(); + MmInitHeap(); MmInitGdt(); + MmInitPaging(); // Interrupts KeSetupIDT(); KeEnableIRQs(); - // Memory (2) - MmInitHeap(); - MmInitPaging(); - // Interrupt handlers MmActivatePageHandler(); KeEnableRTC(); @@ -86,6 +81,9 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) KeGetCpuInfos(); IoEnableKeyb(); + // ACPI + IoTestAcpi(); + // Scheduler PsInitSched(); @@ -95,5 +93,4 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) //KeCrashSystem(); // Exit ! PoShutdown(); - } diff --git a/kaleid/kernel/mm/gdt.c b/kaleid/kernel/mm/gdt.c index 372bebe..2ed6c78 100644 --- a/kaleid/kernel/mm/gdt.c +++ b/kaleid/kernel/mm/gdt.c @@ -58,11 +58,16 @@ void MmInitGdt(void) tssDesc.veryHighBase = ((ulong)&tss >> 32) & 0xFFFFFFFF; tssDesc.lowLimit = sizeof(tss); - tss.ist1 = (ulong)0x00007BFF; // ISR RESCUE STACK, GARANTIED FREE FOR USE BY OSDEV.ORG - tss.ist2 = (ulong)0x00043F00; // ISR STACK, GARANTIED FREE FOR USE BY OSDEV.ORG - tss.ist3 = (ulong)0x0007FFFF; // ISR STACK, GARANTIED FREE FOR USE BY OSDEV.ORG + tss.ist1 = (ulong)memalign(4*KB, 4*KB) + 4*KB; // ISR RESCUE STACK + tss.ist2 = (ulong)memalign(4*KB, 4*KB) + 4*KB; // ISR STACK + tss.ist3 = (ulong)memalign(4*KB, 4*KB) + 4*KB; // ISR STACK tss.iomap_base = sizeof(tss); + /* KernLog("\tISR Stacks initialized : Rescue %p, Normal %p, %p\n", */ + /* tss.ist1, */ + /* tss.ist2, */ + /* tss.ist3); */ + memmove(&gdt[2], &tssDesc, sizeof(TssDescriptor_t)); /* DebugLog("TSS\n" */ From d79161c6457c5238d60ef9dc2563604431e25a10 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Mon, 3 Feb 2020 15:34:20 +0100 Subject: [PATCH 07/18] RSDT detection successfull --- include/io/acpi.h | 29 +++++++++++++++++++-- include/kernel.h | 1 + kaleid/kernel/io/acpi.c | 58 ++++++++++++++++++++++++++++++++++++++--- 3 files changed, 83 insertions(+), 5 deletions(-) diff --git a/include/io/acpi.h b/include/io/acpi.h index 3228584..41b8d7c 100644 --- a/include/io/acpi.h +++ b/include/io/acpi.h @@ -32,20 +32,45 @@ //----------------------------------------------------------------------------// // -// ACPI 2.0 Legacy descriptor +// ACPI 1.0 descriptor // -struct RSDPDescriptor { +struct RSDPLegacy { char signature[8]; uchar checksum; char OEMID[6]; uchar revision; uint rsdtAddress; +} __attribute__ ((packed)); + +// +// ACPI 2.0 descriptor +// +struct RSDPDescriptor { + // RSDT ACPI 1.0 and above + struct RSDPLegacy legacy; + + // RSDT ACPI 2.0 uint length; ulong xsdtAddress; uchar extendedChecksum; uchar reserved[3]; } __attribute__ ((packed)); +// +// ACPI System Description Table +// +struct SDTHeader { + char signature[4]; + uint length; + uchar revision; + uchar checksum; + char OEMID[6]; + char OEMTableID[8]; + uint OEMRevision; + uint creatorID; + uint creatorRevision; +}; + //----------------------------------------------------------------------------// void IoTestAcpi(void); diff --git a/include/kernel.h b/include/kernel.h index 3c02075..8b9638e 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -57,6 +57,7 @@ typedef struct ISRList_t ISRList_t; typedef struct ISRFrame_t ISRFrame_t; typedef struct RSDPDescriptor RSDPDescriptor; +typedef struct SDTHeader SDTHeader; typedef struct MemoryMap_t MemoryMap_t; typedef struct MapEntry_t MapEntry_t; diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index df1f3fb..af65be3 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -25,9 +25,25 @@ #include #include #include +#include + +SDTHeader *AcpiSDHeader = NULL; + +static inline char DoChecksum(void *ptr, size_t size, + size_t intermediateSize, ulong reason) +{ + char checksum = 0; + for (ulong i=0; i < (ulong)size; i++) { + if (reason && i > (ulong)intermediateSize) + break; + checksum += (uchar)((char*)ptr)[i]; + } + return checksum; +} void IoTestAcpi(void) { + uchar checksum = 0; if (BtFirmwareInfo.romValid) KernLog("\tRom Table is valid at %p\n", BtFirmwareInfo.romTable); @@ -35,14 +51,50 @@ void IoTestAcpi(void) if (BtFirmwareInfo.apmValid) KernLog("\tApm Table is valid at %p\n", BtFirmwareInfo.apmTable); + // FIND RSDP + RSDPDescriptor *rsdp = IoFindRSDP(); if (!rsdp) - return; + KeStartPanic("ACPI RSDP not found in memory"); - KernLog("\tFound ACPI RSDP (%s) version %d at %p\n", - rsdp->OEMID, (uint)rsdp->revision, rsdp + // Checksum calculation + checksum = DoChecksum(rsdp, (size_t)sizeof(RSDPDescriptor), + (size_t)sizeof(struct RSDPLegacy), + !rsdp->legacy.revision + ); + + if (checksum) + KeStartPanic("Invalid checksum : %d vs 0", checksum); + + if (rsdp->legacy.revision == 1 || rsdp->legacy.revision >= 3) + KeStartPanic("Invalid ACPI Revision : %d", rsdp->legacy.revision); + + KernLog("\tACPI Root System Table (OEM %s) Revision %d at %p\n", + rsdp->legacy.OEMID, + (uint)rsdp->legacy.revision, + rsdp->legacy.rsdtAddress ); + AcpiSDHeader = (SDTHeader *)(ulong)rsdp->legacy.rsdtAddress; + + if (rsdp->legacy.revision) { + KernLog("\tFound ACPI Extended System Table (OEM %s) Revision %d at %p\n", + rsdp->legacy.OEMID, + (uint)rsdp->legacy.revision, + rsdp->xsdtAddress + ); + + AcpiSDHeader = (SDTHeader *)rsdp->xsdtAddress; + } + + // Map the Table Header + for (ulong i = 0; i < (sizeof(AcpiSDHeader)/KPAGESIZE) + 1; i++) { + + MmMapPage((void*)((ulong)(AcpiSDHeader) + i*KPAGESIZE), + (void*)((ulong)(AcpiSDHeader) + i*KPAGESIZE), + PRESENT); + } + return; } From fc83361d81b462d53b194be10e7e1d1a097e3145 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Mon, 3 Feb 2020 17:43:05 +0100 Subject: [PATCH 08/18] RSDT read and controlled --- include/io/acpi.h | 3 +- kaleid/kernel/init/init.c | 2 +- kaleid/kernel/io/acpi.c | 175 +++++++++++++++++++++++++------------- 3 files changed, 118 insertions(+), 62 deletions(-) diff --git a/include/io/acpi.h b/include/io/acpi.h index 41b8d7c..8e0d293 100644 --- a/include/io/acpi.h +++ b/include/io/acpi.h @@ -73,8 +73,7 @@ struct SDTHeader { //----------------------------------------------------------------------------// -void IoTestAcpi(void); -RSDPDescriptor *IoFindRSDP(void); +void IoInitAcpi(void); //----------------------------------------------------------------------------// diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index d385631..3a4d4c1 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -82,7 +82,7 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) IoEnableKeyb(); // ACPI - IoTestAcpi(); + IoInitAcpi(); // Scheduler PsInitSched(); diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index af65be3..e4e7b64 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -27,8 +27,14 @@ #include #include -SDTHeader *AcpiSDHeader = NULL; +SDTHeader *AcpiSDT = NULL; +SDTHeader *AcpiFADT = NULL; +char IoACPIVersion = 1; + +// +// Returns the checksum of the given structure +// static inline char DoChecksum(void *ptr, size_t size, size_t intermediateSize, ulong reason) { @@ -41,64 +47,10 @@ static inline char DoChecksum(void *ptr, size_t size, return checksum; } -void IoTestAcpi(void) -{ - uchar checksum = 0; - - if (BtFirmwareInfo.romValid) - KernLog("\tRom Table is valid at %p\n", BtFirmwareInfo.romTable); - - if (BtFirmwareInfo.apmValid) - KernLog("\tApm Table is valid at %p\n", BtFirmwareInfo.apmTable); - - // FIND RSDP - - RSDPDescriptor *rsdp = IoFindRSDP(); - if (!rsdp) - KeStartPanic("ACPI RSDP not found in memory"); - - // Checksum calculation - checksum = DoChecksum(rsdp, (size_t)sizeof(RSDPDescriptor), - (size_t)sizeof(struct RSDPLegacy), - !rsdp->legacy.revision - ); - - if (checksum) - KeStartPanic("Invalid checksum : %d vs 0", checksum); - - if (rsdp->legacy.revision == 1 || rsdp->legacy.revision >= 3) - KeStartPanic("Invalid ACPI Revision : %d", rsdp->legacy.revision); - - KernLog("\tACPI Root System Table (OEM %s) Revision %d at %p\n", - rsdp->legacy.OEMID, - (uint)rsdp->legacy.revision, - rsdp->legacy.rsdtAddress - ); - - AcpiSDHeader = (SDTHeader *)(ulong)rsdp->legacy.rsdtAddress; - - if (rsdp->legacy.revision) { - KernLog("\tFound ACPI Extended System Table (OEM %s) Revision %d at %p\n", - rsdp->legacy.OEMID, - (uint)rsdp->legacy.revision, - rsdp->xsdtAddress - ); - - AcpiSDHeader = (SDTHeader *)rsdp->xsdtAddress; - } - - // Map the Table Header - for (ulong i = 0; i < (sizeof(AcpiSDHeader)/KPAGESIZE) + 1; i++) { - - MmMapPage((void*)((ulong)(AcpiSDHeader) + i*KPAGESIZE), - (void*)((ulong)(AcpiSDHeader) + i*KPAGESIZE), - PRESENT); - } - - return; -} - -RSDPDescriptor *IoFindRSDP() +// +// Returns the address of the RSDP +// +static inline RSDPDescriptor *IoFindRSDP() { char *rsdp = NULL; @@ -141,3 +93,108 @@ RSDPDescriptor *IoFindRSDP() return NULL; } + +// +// R/XSDT Exploration +// +static inline void IoInitRXSDT(void) +{ + char checksum = 1; + + SDTHeader *rxsdt = AcpiSDT; + + // Map the Table Header + for (ulong i = 0; i < (sizeof(SDTHeader)/KPAGESIZE) + 1; i++) { + MmMapPage((void*)((ulong)(rxsdt) + i*KPAGESIZE), + (void*)((ulong)(rxsdt) + i*KPAGESIZE), + PRESENT); + } + + // Checksum calculation + checksum = DoChecksum(rxsdt, (size_t)rxsdt->length, + 0, + 0 + ); + + if (checksum) + KeStartPanic("Invalid RSDT checksum : %d vs 0", checksum); + + if (IoACPIVersion == 1) { + KernLog("\tACPI Root System Table %s (%s) length %d [%p]\n", + rxsdt->signature, + rxsdt->OEMID, + rxsdt->length, + rxsdt + ); + } else { + KernLog("\tACPI Extended System Table %s (%s) length %d [%p]\n", + rxsdt->signature, + rxsdt->OEMID, + rxsdt->length, + rxsdt + ); + } +} + +// +// RSDP Exploration +// +static inline void IoInitRSDP(void) +{ + char checksum = 1; + + RSDPDescriptor *rsdp = IoFindRSDP(); + if (!rsdp) + KeStartPanic("ACPI RSDP not found in memory"); + + // Checksum calculation + checksum = DoChecksum(rsdp, (size_t)sizeof(RSDPDescriptor), + (size_t)sizeof(struct RSDPLegacy), + !rsdp->legacy.revision + ); + + if (checksum) + KeStartPanic("Invalid RSDP checksum : %d vs 0", checksum); + + if (rsdp->legacy.revision == 1 || rsdp->legacy.revision >= 3) + KeStartPanic("Invalid ACPI Revision : %d", rsdp->legacy.revision); + + KernLog("\tACPI Revision %d (OEM %s)\n", + (uint)rsdp->legacy.revision, + rsdp->legacy.OEMID + ); + + AcpiSDT = (void *)(ulong)rsdp->legacy.rsdtAddress; + + if (rsdp->legacy.revision) { + AcpiSDT = (void *)rsdp->xsdtAddress; + IoACPIVersion = 2; + } +} + +// +// Explore all ACPI Tables +// +static inline void IoSearchAcpiTables(void) +{ + return; +} + + +// +// Initialise the ACPI by finding tables +// +void IoInitAcpi(void) +{ + if (BtFirmwareInfo.romValid) + KernLog("\tRom Table is valid at %p\n", BtFirmwareInfo.romTable); + + if (BtFirmwareInfo.apmValid) + KernLog("\tApm Table is valid at %p\n", BtFirmwareInfo.apmTable); + + // FIND RSDP + + IoInitRSDP(); + + IoInitRXSDT(); +} From 8237711a423af9c9ccb634b5ea83af8c1e262d1b Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Tue, 4 Feb 2020 00:41:41 +0100 Subject: [PATCH 09/18] Misc cleanup --- boot/grub/grub.cfg | 3 ++ kaleid/kernel/io/acpi.c | 75 +++++++++++++++++++++-------------------- 2 files changed, 42 insertions(+), 36 deletions(-) diff --git a/boot/grub/grub.cfg b/boot/grub/grub.cfg index 97bc428..b893821 100755 --- a/boot/grub/grub.cfg +++ b/boot/grub/grub.cfg @@ -26,6 +26,9 @@ set timeout=0 set default=0 #Set the default menu entry +insmod vbe +insmod vga + menuentry "OS/K (pre-pre-alpha 0.0.1)" { multiboot /boot/kaleid # The multiboot command replaces the kernel command boot diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index e4e7b64..3cf93b9 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -31,6 +31,7 @@ SDTHeader *AcpiSDT = NULL; SDTHeader *AcpiFADT = NULL; char IoACPIVersion = 1; +int tableCount = 1; // // Returns the checksum of the given structure @@ -94,6 +95,42 @@ static inline RSDPDescriptor *IoFindRSDP() return NULL; } +// +// RSDP Exploration +// +static inline void IoInitRSDP(void) +{ + char checksum = 1; + + RSDPDescriptor *rsdp = IoFindRSDP(); + if (!rsdp) + KeStartPanic("ACPI RSDP not found in memory"); + + // Checksum calculation + checksum = DoChecksum(rsdp, (size_t)sizeof(RSDPDescriptor), + (size_t)sizeof(struct RSDPLegacy), + !rsdp->legacy.revision + ); + + if (checksum) + KeStartPanic("Invalid RSDP checksum : %d vs 0", checksum); + + if (rsdp->legacy.revision == 1 || rsdp->legacy.revision >= 3) + KeStartPanic("Invalid ACPI Revision : %d", rsdp->legacy.revision); + + KernLog("\tACPI Revision %d (OEM %s)\n", + (uint)rsdp->legacy.revision, + rsdp->legacy.OEMID + ); + + AcpiSDT = (void *)(ulong)rsdp->legacy.rsdtAddress; + + if (rsdp->legacy.revision) { + AcpiSDT = (void *)rsdp->xsdtAddress; + IoACPIVersion = 2; + } +} + // // R/XSDT Exploration // @@ -136,42 +173,6 @@ static inline void IoInitRXSDT(void) } } -// -// RSDP Exploration -// -static inline void IoInitRSDP(void) -{ - char checksum = 1; - - RSDPDescriptor *rsdp = IoFindRSDP(); - if (!rsdp) - KeStartPanic("ACPI RSDP not found in memory"); - - // Checksum calculation - checksum = DoChecksum(rsdp, (size_t)sizeof(RSDPDescriptor), - (size_t)sizeof(struct RSDPLegacy), - !rsdp->legacy.revision - ); - - if (checksum) - KeStartPanic("Invalid RSDP checksum : %d vs 0", checksum); - - if (rsdp->legacy.revision == 1 || rsdp->legacy.revision >= 3) - KeStartPanic("Invalid ACPI Revision : %d", rsdp->legacy.revision); - - KernLog("\tACPI Revision %d (OEM %s)\n", - (uint)rsdp->legacy.revision, - rsdp->legacy.OEMID - ); - - AcpiSDT = (void *)(ulong)rsdp->legacy.rsdtAddress; - - if (rsdp->legacy.revision) { - AcpiSDT = (void *)rsdp->xsdtAddress; - IoACPIVersion = 2; - } -} - // // Explore all ACPI Tables // @@ -181,6 +182,8 @@ static inline void IoSearchAcpiTables(void) } +// -------------------------------------------------------------------------- // + // // Initialise the ACPI by finding tables // From 610c0d89bc173cf266d69773167b910b589a1003 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Tue, 4 Feb 2020 17:23:05 +0100 Subject: [PATCH 10/18] Working on ACPI exploration --- include/io/acpi.h | 1 + kaleid/kernel/io/acpi.c | 67 ++++++++++++++++++++++++++++++++++------- 2 files changed, 57 insertions(+), 11 deletions(-) diff --git a/include/io/acpi.h b/include/io/acpi.h index 8e0d293..f33bfcb 100644 --- a/include/io/acpi.h +++ b/include/io/acpi.h @@ -69,6 +69,7 @@ struct SDTHeader { uint OEMRevision; uint creatorID; uint creatorRevision; + uint sdtTablePtr; }; //----------------------------------------------------------------------------// diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index 3cf93b9..c6ba0e1 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -26,6 +26,7 @@ #include #include #include +#include SDTHeader *AcpiSDT = NULL; SDTHeader *AcpiFADT = NULL; @@ -33,10 +34,12 @@ SDTHeader *AcpiFADT = NULL; char IoACPIVersion = 1; int tableCount = 1; +extern MemoryMap_t memoryMap; + // // Returns the checksum of the given structure // -static inline char DoChecksum(void *ptr, size_t size, +static char DoChecksum(const void *ptr, const size_t size, size_t intermediateSize, ulong reason) { char checksum = 0; @@ -140,14 +143,7 @@ static inline void IoInitRXSDT(void) SDTHeader *rxsdt = AcpiSDT; - // Map the Table Header - for (ulong i = 0; i < (sizeof(SDTHeader)/KPAGESIZE) + 1; i++) { - MmMapPage((void*)((ulong)(rxsdt) + i*KPAGESIZE), - (void*)((ulong)(rxsdt) + i*KPAGESIZE), - PRESENT); - } - - // Checksum calculation + /* // Checksum calculation */ checksum = DoChecksum(rxsdt, (size_t)rxsdt->length, 0, 0 @@ -178,7 +174,31 @@ static inline void IoInitRXSDT(void) // static inline void IoSearchAcpiTables(void) { - return; + SDTHeader *xrsdt = AcpiSDT; + SDTHeader *cur = NULL; + SDTHeader *table = NULL; + register char checksum; + int entries; + + if (IoACPIVersion == 1) + entries = (xrsdt->length - sizeof(xrsdt)) / 4; + else + entries = (xrsdt->length - sizeof(xrsdt)) / 8; + + KernLog("\tACPI detected %d entries\n", entries); + + for (int i = 0; i < entries; i++) { + + cur = (SDTHeader *)((ulong)&(xrsdt->sdtTablePtr)); + table = &cur[i]; + + // Checksum calculation + //checksum = DoChecksum(table, (size_t)table->length, 0, 0); + + //KernLog("Checksum : %d\n", (int)checksum); + + KernLog("\tACPI System Table id %s [%p]\n", table->signature, table); + } } @@ -195,9 +215,34 @@ void IoInitAcpi(void) if (BtFirmwareInfo.apmValid) KernLog("\tApm Table is valid at %p\n", BtFirmwareInfo.apmTable); - // FIND RSDP + // MAP ACPI PAGES + // Search the zone where the start address is + for (uint i = 0; i < memoryMap.length; i++) { + // if the address is in an available zone, we can return the length + if (memoryMap.entry[i].type != AVAILABLE_ZONE) { + + // Map each page that is in the busy zone + for (uint j = 0; + j < (memoryMap.entry[i].length + + ((ulong)memoryMap.entry[i].addr) + - ((ulong)memoryMap.entry[i].addr + & 0xFFFFFFFFFFFFF000)) + / KPAGESIZE; + j++) { + MmMapPage(memoryMap.entry[i].addr + KPAGESIZE*j, + memoryMap.entry[i].addr + KPAGESIZE*j, + PRESENT); + //KernLog("ACPI %d ID MAP %p\n", i, + // memoryMap.entry[i].addr + KPAGESIZE*j); + } + } + } + + // FIND RSDP IoInitRSDP(); IoInitRXSDT(); + + IoSearchAcpiTables(); } From 28e1a4278def1224ea766a2a53b561695dba75cc Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 01:26:52 +0100 Subject: [PATCH 11/18] misc --- kaleid/kernel/io/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index c6ba0e1..cb5c74a 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -189,7 +189,7 @@ static inline void IoSearchAcpiTables(void) for (int i = 0; i < entries; i++) { - cur = (SDTHeader *)((ulong)&(xrsdt->sdtTablePtr)); + cur = (SDTHeader *)((ulong)(xrsdt->sdtTablePtr)); table = &cur[i]; // Checksum calculation From 8603f22bcf822c588f7b88006fe662f9259073b9 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 08:59:34 +0100 Subject: [PATCH 12/18] Now detecting FADT --- kaleid/kernel/io/acpi.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index cb5c74a..424eda0 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -175,29 +175,41 @@ static inline void IoInitRXSDT(void) static inline void IoSearchAcpiTables(void) { SDTHeader *xrsdt = AcpiSDT; - SDTHeader *cur = NULL; SDTHeader *table = NULL; + uint *curInt = NULL; + ulong *curLong = NULL; register char checksum; int entries; - if (IoACPIVersion == 1) + if (IoACPIVersion == 1) { entries = (xrsdt->length - sizeof(xrsdt)) / 4; - else + } else { entries = (xrsdt->length - sizeof(xrsdt)) / 8; + } KernLog("\tACPI detected %d entries\n", entries); + curInt = &(xrsdt->sdtTablePtr); + curLong = &(xrsdt->sdtTablePtr); + for (int i = 0; i < entries; i++) { - cur = (SDTHeader *)((ulong)(xrsdt->sdtTablePtr)); - table = &cur[i]; + if (IoACPIVersion == 1) + table = (SDTHeader *)curInt[i]; + else + table = (SDTHeader *)curLong[i]; - // Checksum calculation - //checksum = DoChecksum(table, (size_t)table->length, 0, 0); - - //KernLog("Checksum : %d\n", (int)checksum); - - KernLog("\tACPI System Table id %s [%p]\n", table->signature, table); + //KernLog("\tACPI RSDT[%d] %p\n", i, table); + if (MmIsBusyZone(table)) { + checksum = DoChecksum(table, (size_t)table->length, 0, 0); + if (!checksum) { + KernLog("\tACPI System Table %s (OEM %s) length %d [%p]\n", + table->signature, + table->OEMID, + table->length, + table); + } + } } } From 3bd535e995463d177fd436589d23094e08b9ad47 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 13:18:22 +0100 Subject: [PATCH 13/18] Work on DebugLog in a different buffer --- kaleid/kernel/init/info.c | 2 +- kaleid/kernel/init/init.c | 4 ++++ kaleid/kernel/io/acpi.c | 16 +++++----------- kaleid/kernel/io/vga.c | 13 ++++++++++++- kaleid/kernel/ke/cpuid.c | 2 +- kaleid/kernel/ke/idt.c | 9 ++++++--- kaleid/kernel/ke/log.c | 2 ++ kaleid/kernel/ke/pit.c | 2 +- kaleid/kernel/ke/rtc.c | 2 +- kaleid/kernel/mm/gdt.c | 8 ++++---- kaleid/kernel/mm/map.c | 2 +- kaleid/kernel/mm/paging.c | 14 +++++++------- kaleid/kernel/ps/sched.c | 2 ++ kaleid/kernel/sh/shcmds.c | 4 ++-- 14 files changed, 49 insertions(+), 33 deletions(-) diff --git a/kaleid/kernel/init/info.c b/kaleid/kernel/init/info.c index 9bf6830..a93f8b8 100644 --- a/kaleid/kernel/init/info.c +++ b/kaleid/kernel/init/info.c @@ -111,7 +111,7 @@ void BtDoSanityChecks(uint mbMagic) { if (!(mbMagic == MULTIBOOT_BOOTLOADER_MAGIC)) KeStartPanic("Magic number %x is incorrect\n", mbMagic); - DebugLog("\t Kernel successfully loaded at %p\n", + DebugLog("Kernel successfully loaded at %p\n", BtLoaderInfo.kernelAddr); } diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 3a4d4c1..4cb3564 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -88,6 +88,10 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) PsInitSched(); // Command line (kernel mode) + KernLog("Copyright (C) 2018-2020 The OS/K Team\n" + "This program comes with ABSOLUTELY NO WARRANTY.\n" + "This is free software, type `ver' for details.\n"); + ShStartShell(); //KeCrashSystem(); diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index 424eda0..43064bc 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -121,7 +121,7 @@ static inline void IoInitRSDP(void) if (rsdp->legacy.revision == 1 || rsdp->legacy.revision >= 3) KeStartPanic("Invalid ACPI Revision : %d", rsdp->legacy.revision); - KernLog("\tACPI Revision %d (OEM %s)\n", + DebugLog("ACPI Revision %d (OEM %s)\n", (uint)rsdp->legacy.revision, rsdp->legacy.OEMID ); @@ -153,14 +153,14 @@ static inline void IoInitRXSDT(void) KeStartPanic("Invalid RSDT checksum : %d vs 0", checksum); if (IoACPIVersion == 1) { - KernLog("\tACPI Root System Table %s (%s) length %d [%p]\n", + DebugLog("ACPI Root System Table %s (%s) length %d [%p]\n", rxsdt->signature, rxsdt->OEMID, rxsdt->length, rxsdt ); } else { - KernLog("\tACPI Extended System Table %s (%s) length %d [%p]\n", + DebugLog("ACPI Extended System Table %s (%s) length %d [%p]\n", rxsdt->signature, rxsdt->OEMID, rxsdt->length, @@ -187,7 +187,7 @@ static inline void IoSearchAcpiTables(void) entries = (xrsdt->length - sizeof(xrsdt)) / 8; } - KernLog("\tACPI detected %d entries\n", entries); + DebugLog("ACPI detected %d entries\n", entries); curInt = &(xrsdt->sdtTablePtr); curLong = &(xrsdt->sdtTablePtr); @@ -203,7 +203,7 @@ static inline void IoSearchAcpiTables(void) if (MmIsBusyZone(table)) { checksum = DoChecksum(table, (size_t)table->length, 0, 0); if (!checksum) { - KernLog("\tACPI System Table %s (OEM %s) length %d [%p]\n", + DebugLog("ACPI System Table %s (OEM %s) length %d [%p]\n", table->signature, table->OEMID, table->length, @@ -221,12 +221,6 @@ static inline void IoSearchAcpiTables(void) // void IoInitAcpi(void) { - if (BtFirmwareInfo.romValid) - KernLog("\tRom Table is valid at %p\n", BtFirmwareInfo.romTable); - - if (BtFirmwareInfo.apmValid) - KernLog("\tApm Table is valid at %p\n", BtFirmwareInfo.apmTable); - // MAP ACPI PAGES // Search the zone where the start address is diff --git a/kaleid/kernel/io/vga.c b/kaleid/kernel/io/vga.c index ff3c9fe..41d9662 100644 --- a/kaleid/kernel/io/vga.c +++ b/kaleid/kernel/io/vga.c @@ -176,6 +176,9 @@ error_t IoInitVGABuffer(void) static char bvgabufsrc[1 * MB]; static Buffer_t bvgabufstruct; + static char bdbgbufsrc[1 * MB]; + static Buffer_t bdbgbufstruct; + BStdOut = &bvgabufstruct; BOpenTermBufEx(&BStdOut, @@ -186,7 +189,15 @@ error_t IoInitVGABuffer(void) BEnableAutoScroll(BStdOut); - BStdDbg = BStdOut; + BStdDbg = &bdbgbufstruct; + + BOpenTermBufEx(&BStdDbg, + bdbgbufsrc, BS_WRONLY, + BtVideoInfo.framebufferWidth, + BtVideoInfo.framebufferHeight, + 10, NULL); + + BEnableAutoScroll(BStdDbg); return EOK; } diff --git a/kaleid/kernel/ke/cpuid.c b/kaleid/kernel/ke/cpuid.c index 2682ba2..debbfbb 100644 --- a/kaleid/kernel/ke/cpuid.c +++ b/kaleid/kernel/ke/cpuid.c @@ -44,7 +44,7 @@ void KeGetCpuInfos(void) CpuInfo.frequency = KeGetCpuFrequency(); } - DebugLog("\tCPU %s %#d MHz detected with features %#x\n", + DebugLog("CPU %s %#d MHz detected with features %#x\n", CpuInfo.vendorStr, (long)(CpuInfo.frequency / 1000.0), CpuInfo.featureFlag diff --git a/kaleid/kernel/ke/idt.c b/kaleid/kernel/ke/idt.c index ffc029b..4060b88 100644 --- a/kaleid/kernel/ke/idt.c +++ b/kaleid/kernel/ke/idt.c @@ -27,6 +27,7 @@ #include #include #include +#include IdtEntry_t idt[256] = { 0 }; IdtPtr_t _KeIdtPtr; @@ -183,7 +184,7 @@ void KeSetupIDT(void) // Load IDT KeLoadIDT(); //DebugLog("\tInterrupt table initialized at %p\n", _KeIdtPtr.base); - KernLog("\tInterrupts activated\n"); + DebugLog("Interrupts activated\n"); } // @@ -308,8 +309,10 @@ void _KeHandleISR(ISRFrame_t *regs) } } - bprintf(BStdOut, "[ISR 0x%x] %s\n", regs->intNo, "Unknown ISR Exception"); - BStdOut->flusher(BStdOut); + bprintf(BStdDbg, "[%d]\tISR 0x%x %s\n", + KeGetTicks(), + regs->intNo, + "Unknown ISR Exception"); KeSendEOItoPIC(regs->intNo); } diff --git a/kaleid/kernel/ke/log.c b/kaleid/kernel/ke/log.c index 0765e1f..b8d99ba 100644 --- a/kaleid/kernel/ke/log.c +++ b/kaleid/kernel/ke/log.c @@ -24,6 +24,7 @@ #include #include +#include // // Prints formatted string on standard output @@ -49,6 +50,7 @@ void DebugLog(const char *fmt, ...) va_list ap; va_start(ap, fmt); + BPrintOnBuf(BStdDbg, "[%d]\t", KeGetTicks()); BPrintOnBufV(BStdDbg, fmt, ap); va_end(ap); } diff --git a/kaleid/kernel/ke/pit.c b/kaleid/kernel/ke/pit.c index cd76135..f5902fc 100644 --- a/kaleid/kernel/ke/pit.c +++ b/kaleid/kernel/ke/pit.c @@ -132,7 +132,7 @@ void KeEnablePIT(void) // Setting up the IRQ line KeUnmaskIRQ(0); - DebugLog("\tPIT activated with period %d ms\n", 1000/PIT_FREQUENCY); + DebugLog("PIT activated with period %d ms\n", 1000/PIT_FREQUENCY); KeRestoreIRQs(flags); KeEnableNMI(); diff --git a/kaleid/kernel/ke/rtc.c b/kaleid/kernel/ke/rtc.c index e8fcd5b..16bda2b 100644 --- a/kaleid/kernel/ke/rtc.c +++ b/kaleid/kernel/ke/rtc.c @@ -213,7 +213,7 @@ void KeEnableRTC(void) KeEnableNMI(); srand(KeGetTimeStamp()); // Initializes the kernel number generator - DebugLog("\tRTC interrupt frequency set to %d Hz\n", + DebugLog("RTC interrupt frequency set to %d Hz\n", 32768 >> (RTC_RATE - 1)); } diff --git a/kaleid/kernel/mm/gdt.c b/kaleid/kernel/mm/gdt.c index 2ed6c78..61ecced 100644 --- a/kaleid/kernel/mm/gdt.c +++ b/kaleid/kernel/mm/gdt.c @@ -63,10 +63,10 @@ void MmInitGdt(void) tss.ist3 = (ulong)memalign(4*KB, 4*KB) + 4*KB; // ISR STACK tss.iomap_base = sizeof(tss); - /* KernLog("\tISR Stacks initialized : Rescue %p, Normal %p, %p\n", */ - /* tss.ist1, */ - /* tss.ist2, */ - /* tss.ist3); */ + DebugLog("ISR Stacks initialized : Rescue %p, Normal %p, %p\n", + tss.ist1, + tss.ist2, + tss.ist3); memmove(&gdt[2], &tssDesc, sizeof(TssDescriptor_t)); diff --git a/kaleid/kernel/mm/map.c b/kaleid/kernel/mm/map.c index bf2fd4e..201567a 100644 --- a/kaleid/kernel/mm/map.c +++ b/kaleid/kernel/mm/map.c @@ -99,7 +99,7 @@ static error_t InitMemoryMap(void) if (memoryMap.freeRamSize < MINIMUM_RAM_SIZE) return ENOMEM; - KernLog("\tAvailable RAM size : %u MB\n", + DebugLog("Available RAM size : %u MB\n", memoryMap.freeRamSize / MB); return EOK; diff --git a/kaleid/kernel/mm/paging.c b/kaleid/kernel/mm/paging.c index bcbd8b6..0ef38b2 100644 --- a/kaleid/kernel/mm/paging.c +++ b/kaleid/kernel/mm/paging.c @@ -71,7 +71,7 @@ void MmInitPaging(void) ulong lastDirectoryAddr = 0; ulong phDirSize = 0; - KernLog("\tActivating paging...\n"); + DebugLog("Activating paging...\n"); // Maximum PHYSICAL address in memory ulong phRamSize = memoryMap.freeRamSize + memoryMap.nonfreeRamSize; @@ -171,21 +171,21 @@ void MmInitPaging(void) MmPT[index] = (ulong)curAddrPT | PRESENT; MmPhysicalPageTable[xedni] = (ulong)curAddrPT; MmStackGuards[0] = (ulong)curAddrPT; - //DebugLog("\tStack Guard at %p\n", curAddrPT); + DebugLog("Stack Guard at %p\n", curAddrPT); } else if ((ulong)curAddrPT == (ulong)BtLoaderInfo.kernelEndAddr) { MmPT[index] = (ulong)curAddrPT | PRESENT; MmPhysicalPageTable[xedni] = (ulong)curAddrPT; MmStackGuards[1] = (ulong)curAddrPT; - //DebugLog("\tStack Guard at %p\n", curAddrPT); + DebugLog("Stack Guard at %p\n", curAddrPT); } // SECTION .TEXT PROTECTION else if ((ulong)curAddrPT >= (ulong)&_text && (ulong)curAddrPT <= (ulong)&_text_end) { MmPT[index] = (ulong)curAddrPT | PRESENT; MmPhysicalPageTable[xedni] = (ulong)curAddrPT; - //DebugLog("\tSection .text at %p\n", curAddrPT); + DebugLog("Section .text at %p\n", curAddrPT); } // SECTION .DATA PROTECTION else if ((ulong)curAddrPT >= (ulong)&_data @@ -195,14 +195,14 @@ void MmInitPaging(void) | READWRITE | NX; MmPhysicalPageTable[xedni] = (ulong)curAddrPT; - //DebugLog("\tSection .data at %p\n", curAddrPT); + DebugLog("Section .data at %p\n", curAddrPT); } // SECTION .RODATA PROTECTION else if ((ulong)curAddrPT >= (ulong)&_rodata && (ulong)curAddrPT <= (ulong)&_rodata_end) { MmPT[index] = (ulong)curAddrPT | PRESENT | NX; MmPhysicalPageTable[xedni] = (ulong)curAddrPT; - //DebugLog("\tSection .rodata at %p\n", curAddrPT); + DebugLog("Section .rodata at %p\n", curAddrPT); } // While we're inside the kernel pages else if ((ulong)curAddrPT <= MmPhysLastKernAddress) { @@ -219,7 +219,7 @@ void MmInitPaging(void) MmLoadPML4((void *)MmPageMapLevel4); MmEnableWriteProtect(); - DebugLog("\tPage table size : %u MB\n", (lastDirectoryAddr - firstDirectoryAddr + phDirSize)/MB); + DebugLog("Page table size : %u MB\n", (lastDirectoryAddr - firstDirectoryAddr + phDirSize)/MB); } // diff --git a/kaleid/kernel/ps/sched.c b/kaleid/kernel/ps/sched.c index 54a5fb4..89fe03a 100644 --- a/kaleid/kernel/ps/sched.c +++ b/kaleid/kernel/ps/sched.c @@ -307,6 +307,8 @@ void PsInitSched(void) PsUnlockSched(); PsInitialized = true; + + DebugLog("Scheduler initialized\n"); } // diff --git a/kaleid/kernel/sh/shcmds.c b/kaleid/kernel/sh/shcmds.c index d74d7fd..9991a4e 100644 --- a/kaleid/kernel/sh/shcmds.c +++ b/kaleid/kernel/sh/shcmds.c @@ -4,7 +4,7 @@ // Desc: Kernel shell // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // @@ -166,7 +166,7 @@ error_t CmdVersion(int argc, char **argv, char *cmdline) CN ); - KernLog("Copyright (C) 2018-2019 The OS/K Team\n\n"); + KernLog("Copyright (C) 2018-2020 The OS/K Team\n\n"); KernLog("This program is free software, released under the\n"); KernLog("terms of the GNU GPL version 3 or later as published\n"); KernLog("by the Free Software Foundation.\n"); From 551d9ccac3ac154fae4510c476df6d59d47b3a18 Mon Sep 17 00:00:00 2001 From: Julian Barathieu Date: Thu, 6 Feb 2020 14:07:57 +0100 Subject: [PATCH 14/18] dmesg --- kaleid/kernel/ke/log.c | 3 ++- kaleid/kernel/sh/shcmds.c | 53 ++++++++++++++++++++++++++++----------- 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/kaleid/kernel/ke/log.c b/kaleid/kernel/ke/log.c index b8d99ba..c57fe00 100644 --- a/kaleid/kernel/ke/log.c +++ b/kaleid/kernel/ke/log.c @@ -47,10 +47,11 @@ error_t KernLog(const char *fmt, ...) // void DebugLog(const char *fmt, ...) { + ulong ticks = KeGetTicks(); va_list ap; va_start(ap, fmt); - BPrintOnBuf(BStdDbg, "[%d]\t", KeGetTicks()); + BPrintOnBuf(BStdDbg, "[%d]\t", ticks); BPrintOnBufV(BStdDbg, fmt, ap); va_end(ap); } diff --git a/kaleid/kernel/sh/shcmds.c b/kaleid/kernel/sh/shcmds.c index 9991a4e..43faa9e 100644 --- a/kaleid/kernel/sh/shcmds.c +++ b/kaleid/kernel/sh/shcmds.c @@ -102,6 +102,30 @@ error_t CmdDate(int argc, char **argv, char *cmdline) return EOK; } +error_t CmdDmesg(int argc, char **argv, char *cmdline) +{ + char *ptr; + size_t N = 0; + + if (argc == 1) N = 999; + else if (argc == 2) N = atoi(argv[1]); + else { + KernLog("dmesg: no more than one argument\n"); + return EINVAL; + } + + BLockBuf(BStdDbg); + + ptr = (char *)lmax((ulong)BStdDbg->buf, + (ulong)(BStdDbg->wp - BStdDbg->lastLF - (BStdDbg->lineLen * N))); + + KernLog(ptr); + + BUnlockBuf(BStdDbg); + + return EOK; +} + error_t CmdHelp(int argc, char **argv, char *cmdline) { uint i, count = 0; @@ -182,19 +206,20 @@ error_t CmdVersion(int argc, char **argv, char *cmdline) Command_t shcmdtable[] = { - { "beep", CmdBeep, "Make a beep" }, - { "cls", CmdClear, "Clears standard output" }, - { "color", CmdColor, "Change shell text color" }, - { "date", CmdDate, "Print date" }, - { "exit", CmdQuit, "Initiate shutdown" }, - { "help", CmdHelp, "Show this message" }, - { "march", CmdStarWars, "Play the Imperial March" }, - { "mmap", CmdMemMap, "Show memory map" }, - { "musage", CmdMemUsage, "Show memory statistics" }, - { "quit", CmdQuit, "Alias for 'exit'" }, - { "sleep", CmdSleep, "Sleep x ms" }, - { "time", CmdTime, "Print time" }, - { "test", CmdTest, "Launch the x test" }, - { "ver", CmdVersion, "Version and legal infos" }, + { "beep", CmdBeep, "Make a beep" }, + { "cls", CmdClear, "Clears standard output" }, + { "color", CmdColor, "Change shell text color" }, + { "date", CmdDate, "Print date" }, + { "dmesg", CmdDmesg, "Print N lines of debug log" }, + { "exit", CmdQuit, "Initiate shutdown" }, + { "help", CmdHelp, "Show this message" }, + { "march", CmdStarWars, "Play the Imperial March" }, + { "mmap", CmdMemMap, "Show memory map" }, + { "musage", CmdMemUsage, "Show memory statistics" }, + { "quit", CmdQuit, "Alias for 'exit'" }, + { "sleep", CmdSleep, "Sleep N ms" }, + { "time", CmdTime, "Print time" }, + { "test", CmdTest, "Launch a test" }, + { "ver", CmdVersion, "Version and legal infos" }, { NULL, NULL, NULL } }; From 245b02c76e5781d351c1208f326da1b37ef27753 Mon Sep 17 00:00:00 2001 From: Julian Barathieu Date: Thu, 6 Feb 2020 14:10:56 +0100 Subject: [PATCH 15/18] ssp --- kaleid/kernel/init/ssp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kaleid/kernel/init/ssp.c b/kaleid/kernel/init/ssp.c index bf2d70d..f9e3869 100644 --- a/kaleid/kernel/init/ssp.c +++ b/kaleid/kernel/init/ssp.c @@ -24,7 +24,7 @@ #include -ulong __stack_chk_guard = 0xec0ffec0ffec0ffe; +ulong __stack_chk_guard = 0xc0ffeb4b37a7adcc; noreturn void __stack_chk_fail(void) { From 379a3d95bf3bbc36f1218644cd3eac34e730c6cd Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 14:17:27 +0100 Subject: [PATCH 16/18] New command in sh : dmesg --- kaleid/kernel/init/init.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 4cb3564..410a490 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -67,17 +67,19 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) // Memory MmInitMemoryMap(); MmInitHeap(); - MmInitGdt(); - MmInitPaging(); // Interrupts KeSetupIDT(); KeEnableIRQs(); + KeEnableRTC(); + KeEnablePIT(); + + // Memory (2) + MmInitGdt(); + MmInitPaging(); // Interrupt handlers MmActivatePageHandler(); - KeEnableRTC(); - KeEnablePIT(); KeGetCpuInfos(); IoEnableKeyb(); From 849a0393a76ed9ccee404acecd87837ff3a0ebb1 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 14:23:26 +0100 Subject: [PATCH 17/18] Update legals : repository copyright dates --- .stylehlp | 6 +++--- .stylehlp_sh | 2 +- AUTHORS | 2 +- Makefile | 2 +- ProjectTree | 2 +- boot/folder.desc | 2 +- boot/grub/grub.cfg | 2 +- boot/loader/cpu/cpu.inc | 2 +- boot/loader/cpu/cpu32.inc | 2 +- boot/loader/io/terminal.inc | 2 +- boot/loader/loader.asm | 2 +- boot/loader/mem/management.inc | 2 +- boot/loader/mem/structures.inc | 2 +- boot/loader/multiboot/check.inc | 2 +- boot/loader/multiboot/header.inc | 2 +- build/create_disk.sh | 2 +- build/install-os-k.sh | 2 +- build/kernel.ld | 2 +- include/asm.h | 2 +- include/errno.h | 2 +- include/ex/malloc.h | 2 +- include/init/boot.h | 2 +- include/init/mboot.h | 2 +- include/io/acpi.h | 2 +- include/io/ata.h | 2 +- include/io/cursor.h | 2 +- include/io/keyb.h | 2 +- include/io/spkr.h | 2 +- include/io/vga.h | 2 +- include/ke/cpuid.h | 2 +- include/ke/idt.h | 2 +- include/ke/proc.h | 2 +- include/ke/sched.h | 2 +- include/ke/spinlock.h | 2 +- include/ke/time.h | 2 +- include/kernel.h | 2 +- include/lib/buf.h | 2 +- include/lib/list.h | 2 +- include/libc.h | 2 +- include/mm/gdt.h | 2 +- include/mm/heap.h | 2 +- include/mm/malloc.h | 2 +- include/mm/map.h | 2 +- include/mm/paging.h | 2 +- include/mm/palloc.h | 2 +- include/po/shtdwn.h | 2 +- include/sh/argv.h | 2 +- include/sh/shell.h | 2 +- include/vers.h | 2 +- kaleid/kernel/init/info.c | 2 +- kaleid/kernel/init/init.c | 2 +- kaleid/kernel/init/ssp.c | 2 +- kaleid/kernel/init/table.c | 2 +- kaleid/kernel/io/acpi.c | 2 +- kaleid/kernel/io/ata.asm | 2 +- kaleid/kernel/io/ata.c | 2 +- kaleid/kernel/io/cursor.c | 2 +- kaleid/kernel/io/keyb.c | 2 +- kaleid/kernel/io/scan.c | 2 +- kaleid/kernel/io/vga.c | 2 +- kaleid/kernel/ke/cpuf.asm | 2 +- kaleid/kernel/ke/cpuf.inc | 2 +- kaleid/kernel/ke/cpuid.c | 2 +- kaleid/kernel/ke/idt.c | 2 +- kaleid/kernel/ke/isr.asm | 2 +- kaleid/kernel/ke/log.c | 2 +- kaleid/kernel/ke/panic.c | 2 +- kaleid/kernel/ke/pit.c | 2 +- kaleid/kernel/ke/rtc.c | 2 +- kaleid/kernel/mm/gdt.asm | 2 +- kaleid/kernel/mm/gdt.c | 2 +- kaleid/kernel/mm/heap.c | 2 +- kaleid/kernel/mm/malloc.c | 2 +- kaleid/kernel/mm/map.c | 2 +- kaleid/kernel/mm/paging.asm | 2 +- kaleid/kernel/mm/paging.c | 2 +- kaleid/kernel/mm/palloc.c | 2 +- kaleid/kernel/po/shtdwn.c | 2 +- kaleid/kernel/ps/sched.c | 2 +- kaleid/kernel/sh/argv.c | 2 +- kaleid/kernel/sh/musage.c | 2 +- kaleid/kernel/sh/shell.c | 2 +- kaleid/kernel/sh/shell.h | 2 +- kaleid/kernel/sh/testcmds.c | 2 +- kaleid/libbuf/bclose.c | 2 +- kaleid/libbuf/bflush.c | 2 +- kaleid/libbuf/bgetc.c | 2 +- kaleid/libbuf/bmisc.c | 2 +- kaleid/libbuf/bopen.c | 2 +- kaleid/libbuf/bprint.c | 2 +- kaleid/libbuf/bputc.c | 2 +- kaleid/libbuf/bread.c | 2 +- kaleid/libbuf/bscan.c | 2 +- kaleid/libbuf/bscroll.c | 2 +- kaleid/libbuf/bwrite.c | 2 +- kaleid/libc/atoi.c | 2 +- kaleid/libc/ctype.c | 2 +- kaleid/libc/errno.c | 2 +- kaleid/libc/mem.c | 2 +- kaleid/libc/rand.c | 2 +- kaleid/libc/sprintf.c | 2 +- kaleid/libc/string.c | 2 +- kaleid/libc/strtol.c | 2 +- 103 files changed, 105 insertions(+), 105 deletions(-) diff --git a/.stylehlp b/.stylehlp index 0a8b519..5823947 100644 --- a/.stylehlp +++ b/.stylehlp @@ -4,7 +4,7 @@ // Desc: // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // @@ -28,7 +28,7 @@ ; Desc: ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; @@ -52,7 +52,7 @@ # Desc: # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/.stylehlp_sh b/.stylehlp_sh index d7e2004..1289bfb 100644 --- a/.stylehlp_sh +++ b/.stylehlp_sh @@ -4,7 +4,7 @@ # Desc: # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/AUTHORS b/AUTHORS index ddebb5a..3d91e65 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,7 +4,7 @@ # Desc: Project Authors File # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/Makefile b/Makefile index 6a19b98..eb556e1 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # Desc: Project Makefile # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/ProjectTree b/ProjectTree index d352829..c510093 100644 --- a/ProjectTree +++ b/ProjectTree @@ -4,7 +4,7 @@ # Desc: # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/boot/folder.desc b/boot/folder.desc index e4a46a5..b18f2e4 100644 --- a/boot/folder.desc +++ b/boot/folder.desc @@ -4,7 +4,7 @@ # Desc: Folder description - "boot" # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/boot/grub/grub.cfg b/boot/grub/grub.cfg index b893821..7c24af0 100755 --- a/boot/grub/grub.cfg +++ b/boot/grub/grub.cfg @@ -4,7 +4,7 @@ # Desc: Grub 2 configuration file for OS/K boot # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/boot/loader/cpu/cpu.inc b/boot/loader/cpu/cpu.inc index f0fbc95..f653ab1 100644 --- a/boot/loader/cpu/cpu.inc +++ b/boot/loader/cpu/cpu.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/cpu/cpu32.inc b/boot/loader/cpu/cpu32.inc index 9eaa036..e2831e6 100644 --- a/boot/loader/cpu/cpu32.inc +++ b/boot/loader/cpu/cpu32.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/io/terminal.inc b/boot/loader/io/terminal.inc index 312f0e2..6003b7a 100644 --- a/boot/loader/io/terminal.inc +++ b/boot/loader/io/terminal.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/loader.asm b/boot/loader/loader.asm index 4247928..ed12c2b 100644 --- a/boot/loader/loader.asm +++ b/boot/loader/loader.asm @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/mem/management.inc b/boot/loader/mem/management.inc index 961478f..6b122c4 100644 --- a/boot/loader/mem/management.inc +++ b/boot/loader/mem/management.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/mem/structures.inc b/boot/loader/mem/structures.inc index de8013d..2e0a444 100644 --- a/boot/loader/mem/structures.inc +++ b/boot/loader/mem/structures.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/multiboot/check.inc b/boot/loader/multiboot/check.inc index c045e64..03a4c9f 100644 --- a/boot/loader/multiboot/check.inc +++ b/boot/loader/multiboot/check.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/boot/loader/multiboot/header.inc b/boot/loader/multiboot/header.inc index 1115298..5a0fe5c 100644 --- a/boot/loader/multiboot/header.inc +++ b/boot/loader/multiboot/header.inc @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/build/create_disk.sh b/build/create_disk.sh index f2af324..0318a8d 100755 --- a/build/create_disk.sh +++ b/build/create_disk.sh @@ -4,7 +4,7 @@ # Desc: OS/K image maker script # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/build/install-os-k.sh b/build/install-os-k.sh index 6705e69..68a58f5 100755 --- a/build/install-os-k.sh +++ b/build/install-os-k.sh @@ -4,7 +4,7 @@ # Desc: Grub installation script for the OS/K image # # # # # -# Copyright © 2018-2019 The OS/K Team # +# Copyright © 2018-2020 The OS/K Team # # # # This file is part of OS/K. # # # diff --git a/build/kernel.ld b/build/kernel.ld index 7604bd8..b21fb85 100644 --- a/build/kernel.ld +++ b/build/kernel.ld @@ -5,7 +5,7 @@ // (x86_64 architecture only) // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/asm.h b/include/asm.h index 936ae50..ab05cdd 100644 --- a/include/asm.h +++ b/include/asm.h @@ -4,7 +4,7 @@ // Desc: Inline assembly functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/errno.h b/include/errno.h index 9d3c83c..1256114 100644 --- a/include/errno.h +++ b/include/errno.h @@ -4,7 +4,7 @@ // Desc: Values for error_t and errno // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ex/malloc.h b/include/ex/malloc.h index f63ea44..c8f1202 100644 --- a/include/ex/malloc.h +++ b/include/ex/malloc.h @@ -4,7 +4,7 @@ // Desc: Memory allocation functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/init/boot.h b/include/init/boot.h index 5594870..13dd9df 100644 --- a/include/init/boot.h +++ b/include/init/boot.h @@ -4,7 +4,7 @@ // Desc: Kaleid kernel base include file // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/init/mboot.h b/include/init/mboot.h index a68cb0a..d81f92d 100644 --- a/include/init/mboot.h +++ b/include/init/mboot.h @@ -5,7 +5,7 @@ // // // // // Copyright © 1999,2003,2007-2010 Free Software Foundation, Inc. // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/io/acpi.h b/include/io/acpi.h index f33bfcb..1c4bb30 100644 --- a/include/io/acpi.h +++ b/include/io/acpi.h @@ -4,7 +4,7 @@ // Desc: ACPI, Hardware detection related // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/io/ata.h b/include/io/ata.h index 73ff34b..c8d16af 100644 --- a/include/io/ata.h +++ b/include/io/ata.h @@ -4,7 +4,7 @@ // Desc: Basic Read Only ATA Long mode Driver // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/io/cursor.h b/include/io/cursor.h index 72494b0..452b6d9 100644 --- a/include/io/cursor.h +++ b/include/io/cursor.h @@ -4,7 +4,7 @@ // Desc: Cursor-related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/io/keyb.h b/include/io/keyb.h index b5802f5..24790b3 100644 --- a/include/io/keyb.h +++ b/include/io/keyb.h @@ -4,7 +4,7 @@ // Desc: Keyboard related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/io/spkr.h b/include/io/spkr.h index be9eea5..c80df3c 100644 --- a/include/io/spkr.h +++ b/include/io/spkr.h @@ -4,7 +4,7 @@ // Desc: Speaker functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/io/vga.h b/include/io/vga.h index 9736124..12d7dba 100644 --- a/include/io/vga.h +++ b/include/io/vga.h @@ -4,7 +4,7 @@ // Desc: VGA terminal // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ke/cpuid.h b/include/ke/cpuid.h index c250d83..18dc75b 100644 --- a/include/ke/cpuid.h +++ b/include/ke/cpuid.h @@ -4,7 +4,7 @@ // Desc: CPUID related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ke/idt.h b/include/ke/idt.h index 6e705bf..b312e0b 100644 --- a/include/ke/idt.h +++ b/include/ke/idt.h @@ -4,7 +4,7 @@ // Desc: Interrupt related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ke/proc.h b/include/ke/proc.h index e7b4364..bb150a5 100644 --- a/include/ke/proc.h +++ b/include/ke/proc.h @@ -4,7 +4,7 @@ // Desc: Process-related structs and functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ke/sched.h b/include/ke/sched.h index 9005de2..f63f1f0 100644 --- a/include/ke/sched.h +++ b/include/ke/sched.h @@ -4,7 +4,7 @@ // Desc: Scheduler-related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ke/spinlock.h b/include/ke/spinlock.h index f1e09b1..b8f50e1 100644 --- a/include/ke/spinlock.h +++ b/include/ke/spinlock.h @@ -4,7 +4,7 @@ // Desc: Spinlocks // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/ke/time.h b/include/ke/time.h index 8407312..e04b1ac 100644 --- a/include/ke/time.h +++ b/include/ke/time.h @@ -4,7 +4,7 @@ // Desc: Time-related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/kernel.h b/include/kernel.h index 8b9638e..a74978f 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -4,7 +4,7 @@ // Desc: Kaleid kernel base include file // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/lib/buf.h b/include/lib/buf.h index 07311dc..58808a9 100644 --- a/include/lib/buf.h +++ b/include/lib/buf.h @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/lib/list.h b/include/lib/list.h index dda6e77..7613fd2 100644 --- a/include/lib/list.h +++ b/include/lib/list.h @@ -4,7 +4,7 @@ // Desc: Doubly linked lists implementation // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/libc.h b/include/libc.h index 21a52e2..4ede37b 100644 --- a/include/libc.h +++ b/include/libc.h @@ -4,7 +4,7 @@ // Desc: C Runtime Library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/mm/gdt.h b/include/mm/gdt.h index 289f911..94bddcb 100644 --- a/include/mm/gdt.h +++ b/include/mm/gdt.h @@ -4,7 +4,7 @@ // Desc: GDT related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/mm/heap.h b/include/mm/heap.h index 9342ffa..e822ca6 100644 --- a/include/mm/heap.h +++ b/include/mm/heap.h @@ -4,7 +4,7 @@ // Desc: Heap management functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/mm/malloc.h b/include/mm/malloc.h index 44531ad..bb34b7d 100644 --- a/include/mm/malloc.h +++ b/include/mm/malloc.h @@ -4,7 +4,7 @@ // Desc: Memory allocation functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/mm/map.h b/include/mm/map.h index 5aa1c5e..941d810 100644 --- a/include/mm/map.h +++ b/include/mm/map.h @@ -4,7 +4,7 @@ // Desc: Mapping and checking memory related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/mm/paging.h b/include/mm/paging.h index c4f2845..9e4d9b4 100644 --- a/include/mm/paging.h +++ b/include/mm/paging.h @@ -4,7 +4,7 @@ // Desc: Paging memory related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/mm/palloc.h b/include/mm/palloc.h index 51fda80..64dda39 100644 --- a/include/mm/palloc.h +++ b/include/mm/palloc.h @@ -4,7 +4,7 @@ // Desc: Page allocator related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/po/shtdwn.h b/include/po/shtdwn.h index f7dbf81..48493a6 100644 --- a/include/po/shtdwn.h +++ b/include/po/shtdwn.h @@ -4,7 +4,7 @@ // Desc: Shutdown facilities // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/sh/argv.h b/include/sh/argv.h index 843b2c7..169fad3 100644 --- a/include/sh/argv.h +++ b/include/sh/argv.h @@ -4,7 +4,7 @@ // Desc: Command line parsing utilities // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/sh/shell.h b/include/sh/shell.h index e9cd8b0..41a1e44 100644 --- a/include/sh/shell.h +++ b/include/sh/shell.h @@ -4,7 +4,7 @@ // Desc: Kernel shell // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/include/vers.h b/include/vers.h index 40f219a..58e43a2 100644 --- a/include/vers.h +++ b/include/vers.h @@ -4,7 +4,7 @@ // Desc: Kaleid version // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/init/info.c b/kaleid/kernel/init/info.c index a93f8b8..3ed7397 100644 --- a/kaleid/kernel/init/info.c +++ b/kaleid/kernel/init/info.c @@ -4,7 +4,7 @@ // Desc: Initialization of boot info // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 410a490..f211ca7 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -4,7 +4,7 @@ // Desc: Kernel entry point // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/init/ssp.c b/kaleid/kernel/init/ssp.c index f9e3869..a4a1c25 100644 --- a/kaleid/kernel/init/ssp.c +++ b/kaleid/kernel/init/ssp.c @@ -4,7 +4,7 @@ // Desc: Stack smashing protection // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/init/table.c b/kaleid/kernel/init/table.c index 912a62a..75d200a 100644 --- a/kaleid/kernel/init/table.c +++ b/kaleid/kernel/init/table.c @@ -4,7 +4,7 @@ // Desc: Global variables // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/io/acpi.c b/kaleid/kernel/io/acpi.c index 43064bc..d939bf1 100644 --- a/kaleid/kernel/io/acpi.c +++ b/kaleid/kernel/io/acpi.c @@ -4,7 +4,7 @@ // Desc: ACPI, Hardware detection related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/io/ata.asm b/kaleid/kernel/io/ata.asm index 40dcc08..ac15741 100644 --- a/kaleid/kernel/io/ata.asm +++ b/kaleid/kernel/io/ata.asm @@ -5,7 +5,7 @@ ; (x86_64 architecture only) ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/kaleid/kernel/io/ata.c b/kaleid/kernel/io/ata.c index e92e4fa..3df1fae 100644 --- a/kaleid/kernel/io/ata.c +++ b/kaleid/kernel/io/ata.c @@ -4,7 +4,7 @@ // Desc: Basic Read Only ATA Long mode Driver // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/io/cursor.c b/kaleid/kernel/io/cursor.c index 5095d36..8b7defe 100644 --- a/kaleid/kernel/io/cursor.c +++ b/kaleid/kernel/io/cursor.c @@ -4,7 +4,7 @@ // Desc: Cursor-related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/io/keyb.c b/kaleid/kernel/io/keyb.c index c66e8d8..7c91e58 100644 --- a/kaleid/kernel/io/keyb.c +++ b/kaleid/kernel/io/keyb.c @@ -4,7 +4,7 @@ // Desc: Basic Keyboard Driver // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/io/scan.c b/kaleid/kernel/io/scan.c index ed28c4d..066c264 100644 --- a/kaleid/kernel/io/scan.c +++ b/kaleid/kernel/io/scan.c @@ -4,7 +4,7 @@ // Desc: Basic Scancode Tables // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/io/vga.c b/kaleid/kernel/io/vga.c index 41d9662..dc673ff 100644 --- a/kaleid/kernel/io/vga.c +++ b/kaleid/kernel/io/vga.c @@ -4,7 +4,7 @@ // Desc: VGA terminal functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ke/cpuf.asm b/kaleid/kernel/ke/cpuf.asm index 8120a52..a447db1 100644 --- a/kaleid/kernel/ke/cpuf.asm +++ b/kaleid/kernel/ke/cpuf.asm @@ -4,7 +4,7 @@ ; Desc: CPU management related functions ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/kaleid/kernel/ke/cpuf.inc b/kaleid/kernel/ke/cpuf.inc index be4d109..8ffd688 100644 --- a/kaleid/kernel/ke/cpuf.inc +++ b/kaleid/kernel/ke/cpuf.inc @@ -4,7 +4,7 @@ ; Desc: Interrupt Descriptor Table related macros ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/kaleid/kernel/ke/cpuid.c b/kaleid/kernel/ke/cpuid.c index debbfbb..fd9e461 100644 --- a/kaleid/kernel/ke/cpuid.c +++ b/kaleid/kernel/ke/cpuid.c @@ -4,7 +4,7 @@ // Desc: CPU detection // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ke/idt.c b/kaleid/kernel/ke/idt.c index 4060b88..1e0749d 100644 --- a/kaleid/kernel/ke/idt.c +++ b/kaleid/kernel/ke/idt.c @@ -4,7 +4,7 @@ // Desc: Interrupt related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ke/isr.asm b/kaleid/kernel/ke/isr.asm index 7c07e6f..ec57073 100644 --- a/kaleid/kernel/ke/isr.asm +++ b/kaleid/kernel/ke/isr.asm @@ -4,7 +4,7 @@ ; Desc: Interrupt Descriptor Table related functions ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/kaleid/kernel/ke/log.c b/kaleid/kernel/ke/log.c index c57fe00..7695991 100644 --- a/kaleid/kernel/ke/log.c +++ b/kaleid/kernel/ke/log.c @@ -4,7 +4,7 @@ // Desc: KernLog() and DebugLog() // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ke/panic.c b/kaleid/kernel/ke/panic.c index 8f3bf8d..63773fa 100644 --- a/kaleid/kernel/ke/panic.c +++ b/kaleid/kernel/ke/panic.c @@ -4,7 +4,7 @@ // Desc: How NOT to panic 101 // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ke/pit.c b/kaleid/kernel/ke/pit.c index f5902fc..e02852b 100644 --- a/kaleid/kernel/ke/pit.c +++ b/kaleid/kernel/ke/pit.c @@ -4,7 +4,7 @@ // Desc: PIT Time related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ke/rtc.c b/kaleid/kernel/ke/rtc.c index 16bda2b..1736019 100644 --- a/kaleid/kernel/ke/rtc.c +++ b/kaleid/kernel/ke/rtc.c @@ -4,7 +4,7 @@ // Desc: RTC Time related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/mm/gdt.asm b/kaleid/kernel/mm/gdt.asm index 616da73..ed68dcc 100644 --- a/kaleid/kernel/mm/gdt.asm +++ b/kaleid/kernel/mm/gdt.asm @@ -4,7 +4,7 @@ ; Desc: Interrupt Descriptor Table related functions ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/kaleid/kernel/mm/gdt.c b/kaleid/kernel/mm/gdt.c index 61ecced..5fdf3d7 100644 --- a/kaleid/kernel/mm/gdt.c +++ b/kaleid/kernel/mm/gdt.c @@ -4,7 +4,7 @@ // Desc: GDT related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/mm/heap.c b/kaleid/kernel/mm/heap.c index b4c0c58..8e94ebe 100644 --- a/kaleid/kernel/mm/heap.c +++ b/kaleid/kernel/mm/heap.c @@ -4,7 +4,7 @@ // Desc: Early and very dumb heap managment // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/mm/malloc.c b/kaleid/kernel/mm/malloc.c index f513660..36d7e09 100644 --- a/kaleid/kernel/mm/malloc.c +++ b/kaleid/kernel/mm/malloc.c @@ -4,7 +4,7 @@ // Desc: Early and very dumb memory managment // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/mm/map.c b/kaleid/kernel/mm/map.c index 201567a..ce4e443 100644 --- a/kaleid/kernel/mm/map.c +++ b/kaleid/kernel/mm/map.c @@ -4,7 +4,7 @@ // Desc: Mapping and checking memory related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/mm/paging.asm b/kaleid/kernel/mm/paging.asm index a1a9669..2e83484 100644 --- a/kaleid/kernel/mm/paging.asm +++ b/kaleid/kernel/mm/paging.asm @@ -4,7 +4,7 @@ ; Desc: Paging related functions ; ; ; ; ; -; Copyright © 2018-2019 The OS/K Team ; +; Copyright © 2018-2020 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; diff --git a/kaleid/kernel/mm/paging.c b/kaleid/kernel/mm/paging.c index 0ef38b2..ca658cb 100644 --- a/kaleid/kernel/mm/paging.c +++ b/kaleid/kernel/mm/paging.c @@ -4,7 +4,7 @@ // Desc: Paging memory related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/mm/palloc.c b/kaleid/kernel/mm/palloc.c index 2b4255e..a9a2148 100644 --- a/kaleid/kernel/mm/palloc.c +++ b/kaleid/kernel/mm/palloc.c @@ -4,7 +4,7 @@ // Desc: Page allocator related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/po/shtdwn.c b/kaleid/kernel/po/shtdwn.c index 88c6b49..2fa9a88 100644 --- a/kaleid/kernel/po/shtdwn.c +++ b/kaleid/kernel/po/shtdwn.c @@ -4,7 +4,7 @@ // Desc: Shutdown related function // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/ps/sched.c b/kaleid/kernel/ps/sched.c index 89fe03a..737944e 100644 --- a/kaleid/kernel/ps/sched.c +++ b/kaleid/kernel/ps/sched.c @@ -4,7 +4,7 @@ // Desc: Process scheduler // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/sh/argv.c b/kaleid/kernel/sh/argv.c index 8e132d3..f0b3355 100644 --- a/kaleid/kernel/sh/argv.c +++ b/kaleid/kernel/sh/argv.c @@ -4,7 +4,7 @@ // Desc: Command line parsing utilities // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/sh/musage.c b/kaleid/kernel/sh/musage.c index 47f51ef..d8d5524 100644 --- a/kaleid/kernel/sh/musage.c +++ b/kaleid/kernel/sh/musage.c @@ -4,7 +4,7 @@ // Desc: Kernel shell // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/sh/shell.c b/kaleid/kernel/sh/shell.c index 6ad2fd8..8d04c75 100644 --- a/kaleid/kernel/sh/shell.c +++ b/kaleid/kernel/sh/shell.c @@ -4,7 +4,7 @@ // Desc: Kernel shell // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/sh/shell.h b/kaleid/kernel/sh/shell.h index e2f9b18..7362e4c 100644 --- a/kaleid/kernel/sh/shell.h +++ b/kaleid/kernel/sh/shell.h @@ -4,7 +4,7 @@ // Desc: Kernel shell // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/kernel/sh/testcmds.c b/kaleid/kernel/sh/testcmds.c index cc322a7..6156629 100644 --- a/kaleid/kernel/sh/testcmds.c +++ b/kaleid/kernel/sh/testcmds.c @@ -4,7 +4,7 @@ // Desc: Kernel shell // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bclose.c b/kaleid/libbuf/bclose.c index 21255bd..a4d8446 100644 --- a/kaleid/libbuf/bclose.c +++ b/kaleid/libbuf/bclose.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bflush.c b/kaleid/libbuf/bflush.c index 08c7495..c71efaf 100644 --- a/kaleid/libbuf/bflush.c +++ b/kaleid/libbuf/bflush.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bgetc.c b/kaleid/libbuf/bgetc.c index f0f6d0f..9aa4726 100644 --- a/kaleid/libbuf/bgetc.c +++ b/kaleid/libbuf/bgetc.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bmisc.c b/kaleid/libbuf/bmisc.c index 96f9fa9..eb34fcb 100644 --- a/kaleid/libbuf/bmisc.c +++ b/kaleid/libbuf/bmisc.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bopen.c b/kaleid/libbuf/bopen.c index 8fa6397..cc37f1c 100644 --- a/kaleid/libbuf/bopen.c +++ b/kaleid/libbuf/bopen.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bprint.c b/kaleid/libbuf/bprint.c index 48dbdeb..56faeb9 100644 --- a/kaleid/libbuf/bprint.c +++ b/kaleid/libbuf/bprint.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bputc.c b/kaleid/libbuf/bputc.c index fe14e35..33d8740 100644 --- a/kaleid/libbuf/bputc.c +++ b/kaleid/libbuf/bputc.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bread.c b/kaleid/libbuf/bread.c index 9c383cd..d3305e6 100644 --- a/kaleid/libbuf/bread.c +++ b/kaleid/libbuf/bread.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bscan.c b/kaleid/libbuf/bscan.c index e6df43c..f85037f 100644 --- a/kaleid/libbuf/bscan.c +++ b/kaleid/libbuf/bscan.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bscroll.c b/kaleid/libbuf/bscroll.c index 0a50ae8..1c1b8c4 100644 --- a/kaleid/libbuf/bscroll.c +++ b/kaleid/libbuf/bscroll.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libbuf/bwrite.c b/kaleid/libbuf/bwrite.c index e6df43c..f85037f 100644 --- a/kaleid/libbuf/bwrite.c +++ b/kaleid/libbuf/bwrite.c @@ -4,7 +4,7 @@ // Desc: Buffer library // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/atoi.c b/kaleid/libc/atoi.c index f2e32c3..42d3153 100644 --- a/kaleid/libc/atoi.c +++ b/kaleid/libc/atoi.c @@ -4,7 +4,7 @@ // Desc: Convertion utilities - atoi() family // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/ctype.c b/kaleid/libc/ctype.c index f0482d4..74d6bca 100644 --- a/kaleid/libc/ctype.c +++ b/kaleid/libc/ctype.c @@ -4,7 +4,7 @@ // Desc: Character types // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/errno.c b/kaleid/libc/errno.c index e35315a..4a0b287 100644 --- a/kaleid/libc/errno.c +++ b/kaleid/libc/errno.c @@ -4,7 +4,7 @@ // Desc: strerror() & co. // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/mem.c b/kaleid/libc/mem.c index 46772d2..8e0eb96 100644 --- a/kaleid/libc/mem.c +++ b/kaleid/libc/mem.c @@ -4,7 +4,7 @@ // Desc: mem*() family // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/rand.c b/kaleid/libc/rand.c index 4eb2ea3..1dae354 100644 --- a/kaleid/libc/rand.c +++ b/kaleid/libc/rand.c @@ -4,7 +4,7 @@ // Desc: Random related functions // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/sprintf.c b/kaleid/libc/sprintf.c index 3e0f306..ab5a98f 100644 --- a/kaleid/libc/sprintf.c +++ b/kaleid/libc/sprintf.c @@ -4,7 +4,7 @@ // Desc: *s*printf() family // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/string.c b/kaleid/libc/string.c index 3d1c340..2b50b20 100644 --- a/kaleid/libc/string.c +++ b/kaleid/libc/string.c @@ -4,7 +4,7 @@ // Desc: String manipulation utilities // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // diff --git a/kaleid/libc/strtol.c b/kaleid/libc/strtol.c index 09354d5..03bdc8f 100644 --- a/kaleid/libc/strtol.c +++ b/kaleid/libc/strtol.c @@ -4,7 +4,7 @@ // Desc: strto*l() family // // // // // -// Copyright © 2018-2019 The OS/K Team // +// Copyright © 2018-2020 The OS/K Team // // // // This file is part of OS/K. // // // From bdb2a726ec31e2f96bf379b271dc0b1facf9fa54 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 6 Feb 2020 14:38:58 +0100 Subject: [PATCH 18/18] Update screenshot --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e84887..2cdd656 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ make test ``` #### Screenshot -![OS/K Started](https://www.os-k.eu/images/screen6.png) +![OS/K Started](https://www.os-k.eu/images/screen44.png)