Compare commits
2 commits
8d126a6dfd
...
c38a0cbf41
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c38a0cbf41 | ||
|
|
4ed3650089 |
13 changed files with 53 additions and 59 deletions
3
config.h
3
config.h
|
|
@ -1,3 +1,5 @@
|
||||||
|
#ifndef KERNEL_CONFIG_H
|
||||||
|
#define KERNEL_CONFIG_H
|
||||||
/*
|
/*
|
||||||
* Number of CPU's For now, this is hard-coded here. It will likely be
|
* Number of CPU's For now, this is hard-coded here. It will likely be
|
||||||
* dynamically discovered in the future.
|
* dynamically discovered in the future.
|
||||||
|
|
@ -6,3 +8,4 @@
|
||||||
|
|
||||||
/* Maximum number of files open */
|
/* Maximum number of files open */
|
||||||
#define NOFILE 10
|
#define NOFILE 10
|
||||||
|
#endif // KERNEL_CONFIG_H
|
||||||
|
|
|
||||||
|
|
@ -1,48 +1,36 @@
|
||||||
|
#ifndef BANNER_H
|
||||||
|
#define BANNER_H
|
||||||
|
|
||||||
unsigned char banner[] = {
|
unsigned char banner[] = {
|
||||||
0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x38, 0x34, 0x6d, 0x20,
|
0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x38, 0x34, 0x6d, 0x20, 0x5f, 0x20, 0x20, 0x20, 0x5f, 0x20, 0x20,
|
||||||
0x5f, 0x20, 0x20, 0x20, 0x5f, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38,
|
0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x37, 0x38, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||||
0x3b, 0x35, 0x3b, 0x31, 0x37, 0x38, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20,
|
0x20, 0x20, 0x5f, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x31, 0x34, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||||
0x20, 0x20, 0x20, 0x20, 0x5f, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b,
|
0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x38, 0x6d, 0x20, 0x20, 0x20,
|
||||||
0x32, 0x31, 0x34, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b,
|
||||||
0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x38,
|
0x32, 0x31, 0x34, 0x6d, 0x7c, 0x20, 0x5c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x5f, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35,
|
||||||
0x6d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b,
|
0x3b, 0x32, 0x30, 0x38, 0x6d, 0x5f, 0x5f, 0x20, 0x5f, 0x20, 0x5f, 0x5f, 0x20, 0x7c, 0x20, 0x1b, 0x5b, 0x33, 0x38,
|
||||||
0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32,
|
0x3b, 0x35, 0x3b, 0x32, 0x30, 0x39, 0x6d, 0x7c, 0x5f, 0x20, 0x5f, 0x20, 0x20, 0x20, 0x5f, 0x20, 0x5f, 0x1b, 0x5b,
|
||||||
0x31, 0x34, 0x6d, 0x7c, 0x20, 0x5c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x5f,
|
0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x33, 0x6d, 0x20, 0x5f, 0x5f, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x5f, 0x20,
|
||||||
0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x38, 0x6d, 0x5f,
|
0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x39, 0x6d, 0x7c, 0x20, 0x20,
|
||||||
0x5f, 0x20, 0x5f, 0x20, 0x5f, 0x5f, 0x20, 0x7c, 0x20, 0x1b, 0x5b, 0x33,
|
0x5c, 0x7c, 0x20, 0x7c, 0x2f, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x33, 0x6d, 0x5f, 0x20,
|
||||||
0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x39, 0x6d, 0x7c, 0x5f, 0x20, 0x5f,
|
0x5c, 0x20, 0x27, 0x5f, 0x20, 0x5c, 0x7c, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x34, 0x6d,
|
||||||
0x20, 0x20, 0x20, 0x5f, 0x20, 0x5f, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35,
|
0x5f, 0x5f, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x39,
|
||||||
0x3b, 0x32, 0x30, 0x33, 0x6d, 0x20, 0x5f, 0x5f, 0x20, 0x20, 0x20, 0x5f,
|
0x38, 0x6d, 0x27, 0x5f, 0x20, 0x5c, 0x20, 0x2f, 0x20, 0x5f, 0x20, 0x5c, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b,
|
||||||
0x5f, 0x5f, 0x20, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38,
|
0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x34, 0x6d, 0x7c, 0x20, 0x7c, 0x5c, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x1b,
|
||||||
0x3b, 0x35, 0x3b, 0x32, 0x30, 0x39, 0x6d, 0x7c, 0x20, 0x20, 0x5c, 0x7c,
|
0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x39, 0x38, 0x6d, 0x5f, 0x5f, 0x2f, 0x20, 0x7c, 0x5f, 0x29, 0x20, 0x7c,
|
||||||
0x20, 0x7c, 0x2f, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32,
|
0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x39, 0x39, 0x6d, 0x7c, 0x5f, 0x7c, 0x20, 0x7c, 0x5f, 0x7c,
|
||||||
0x30, 0x33, 0x6d, 0x5f, 0x20, 0x5c, 0x20, 0x27, 0x5f, 0x20, 0x5c, 0x7c,
|
0x20, 0x7c, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x36, 0x33, 0x6d, 0x7c, 0x20, 0x7c, 0x20, 0x7c,
|
||||||
0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x34, 0x6d,
|
0x20, 0x20, 0x5f, 0x5f, 0x2f, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x39,
|
||||||
0x5f, 0x5f, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x1b, 0x5b,
|
0x39, 0x6d, 0x7c, 0x5f, 0x7c, 0x20, 0x5c, 0x5f, 0x7c, 0x5c, 0x5f, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31,
|
||||||
0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x39, 0x38, 0x6d, 0x27, 0x5f, 0x20,
|
0x36, 0x33, 0x6d, 0x5f, 0x5f, 0x7c, 0x20, 0x2e, 0x5f, 0x5f, 0x2f, 0x20, 0x5c, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35,
|
||||||
0x5c, 0x20, 0x2f, 0x20, 0x5f, 0x20, 0x5c, 0x1b, 0x5b, 0x30, 0x6d, 0x0a,
|
0x3b, 0x31, 0x36, 0x34, 0x6d, 0x5f, 0x5f, 0x7c, 0x5c, 0x5f, 0x5f, 0x2c, 0x5f, 0x7c, 0x5f, 0x1b, 0x5b, 0x33, 0x38,
|
||||||
0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x30, 0x34, 0x6d, 0x7c,
|
0x3b, 0x35, 0x3b, 0x31, 0x32, 0x38, 0x6d, 0x7c, 0x20, 0x7c, 0x5f, 0x7c, 0x5c, 0x5f, 0x5f, 0x5f, 0x7c, 0x1b, 0x5b,
|
||||||
0x20, 0x7c, 0x5c, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38,
|
0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x36, 0x34, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||||
0x3b, 0x35, 0x3b, 0x31, 0x39, 0x38, 0x6d, 0x5f, 0x5f, 0x2f, 0x20, 0x7c,
|
0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x32, 0x38, 0x6d, 0x20, 0x20, 0x7c, 0x5f,
|
||||||
0x5f, 0x29, 0x20, 0x7c, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b,
|
0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x32, 0x39, 0x6d, 0x20, 0x20,
|
||||||
0x31, 0x39, 0x39, 0x6d, 0x7c, 0x5f, 0x7c, 0x20, 0x7c, 0x5f, 0x7c, 0x20,
|
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x39, 0x33, 0x6d, 0x20,
|
||||||
0x7c, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x36, 0x33,
|
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x30, 0x6d};
|
||||||
0x6d, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x20, 0x5f, 0x5f, 0x2f, 0x1b,
|
|
||||||
0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31,
|
|
||||||
0x39, 0x39, 0x6d, 0x7c, 0x5f, 0x7c, 0x20, 0x5c, 0x5f, 0x7c, 0x5c, 0x5f,
|
|
||||||
0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x36, 0x33, 0x6d, 0x5f,
|
|
||||||
0x5f, 0x7c, 0x20, 0x2e, 0x5f, 0x5f, 0x2f, 0x20, 0x5c, 0x1b, 0x5b, 0x33,
|
|
||||||
0x38, 0x3b, 0x35, 0x3b, 0x31, 0x36, 0x34, 0x6d, 0x5f, 0x5f, 0x7c, 0x5c,
|
|
||||||
0x5f, 0x5f, 0x2c, 0x5f, 0x7c, 0x5f, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35,
|
|
||||||
0x3b, 0x31, 0x32, 0x38, 0x6d, 0x7c, 0x20, 0x7c, 0x5f, 0x7c, 0x5c, 0x5f,
|
|
||||||
0x5f, 0x5f, 0x7c, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b, 0x5b, 0x33, 0x38,
|
|
||||||
0x3b, 0x35, 0x3b, 0x31, 0x36, 0x34, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20,
|
|
||||||
0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31,
|
|
||||||
0x32, 0x38, 0x6d, 0x20, 0x20, 0x7c, 0x5f, 0x7c, 0x20, 0x20, 0x20, 0x20,
|
|
||||||
0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x31, 0x32, 0x39, 0x6d,
|
|
||||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b,
|
|
||||||
0x33, 0x38, 0x3b, 0x35, 0x3b, 0x39, 0x33, 0x6d, 0x20, 0x20, 0x20, 0x20,
|
|
||||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x1b,
|
|
||||||
0x5b, 0x30, 0x6d
|
|
||||||
};
|
|
||||||
unsigned int banner_len = 531;
|
unsigned int banner_len = 531;
|
||||||
|
|
||||||
|
#endif // BANNER_H
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,4 @@ void kfree(void *);
|
||||||
*/
|
*/
|
||||||
void kalloc_init(void);
|
void kalloc_init(void);
|
||||||
|
|
||||||
#endif
|
#endif // KALLOC_KERNEL_H
|
||||||
|
|
|
||||||
|
|
@ -13,4 +13,4 @@
|
||||||
*/
|
*/
|
||||||
size_t probe_memory(void);
|
size_t probe_memory(void);
|
||||||
|
|
||||||
#endif
|
#endif // MEMORY_KARNEL_H
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
|
|
||||||
void __panic(const char *restrict fmt, ...);
|
void __panic(const char *restrict fmt, ...);
|
||||||
|
|
||||||
#endif
|
#endif // KERNEL_PANIC_H
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,4 @@ static inline int intr_get() {
|
||||||
return (x & SSTATUS_SIE) != 0;
|
return (x & SSTATUS_SIE) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // RISCV_KERNEL_H
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef KERNEL_Spinlock_H
|
#ifndef KERNEL_SPINLOCK_H
|
||||||
#define KERNEL_Spinlock_H
|
#define KERNEL_SPINLOCK_H
|
||||||
|
|
||||||
#include <proc.h>
|
#include <proc.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
@ -19,4 +19,4 @@ void spin_unlock(spinlock_t *l);
|
||||||
bool spin_is_holding(spinlock_t *l);
|
bool spin_is_holding(spinlock_t *l);
|
||||||
void spin_lock(spinlock_t *l);
|
void spin_lock(spinlock_t *l);
|
||||||
|
|
||||||
#endif
|
#endif // KERNEL_SPINLOCK_H
|
||||||
|
|
|
||||||
|
|
@ -8,4 +8,4 @@ typedef __builtin_va_list va_list;
|
||||||
#define va_end(ap) __builtin_va_end(ap)
|
#define va_end(ap) __builtin_va_end(ap)
|
||||||
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
||||||
|
|
||||||
#endif
|
#endif // _STDARG_H
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
typedef char bool;
|
typedef char bool;
|
||||||
enum { false = 0, true = 1 };
|
enum { false = 0, true = 1 };
|
||||||
|
|
||||||
#endif
|
#endif // _STDBOOL_H
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#pragma once
|
#ifndef STDINT_H
|
||||||
|
#define STDINT_H
|
||||||
|
|
||||||
typedef unsigned char u8;
|
typedef unsigned char u8;
|
||||||
typedef unsigned short u16;
|
typedef unsigned short u16;
|
||||||
|
|
@ -27,3 +28,5 @@ typedef uint64_t uintptr_t;
|
||||||
#define UINT16_MAX (65535)
|
#define UINT16_MAX (65535)
|
||||||
#define UINT32_MAX (4294967295U)
|
#define UINT32_MAX (4294967295U)
|
||||||
#define UINT64_MAX (__UINT64_C(18446744073709551615))
|
#define UINT64_MAX (__UINT64_C(18446744073709551615))
|
||||||
|
|
||||||
|
#endif // STDINT_H
|
||||||
|
|
|
||||||
|
|
@ -42,4 +42,4 @@ char *strchr(const char *s, int c);
|
||||||
char *strrchr(const char *s, int c);
|
char *strrchr(const char *s, int c);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#endif
|
#endif // KERNEL_STRING_H
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,4 @@
|
||||||
/** Send a single character to the UART device */
|
/** Send a single character to the UART device */
|
||||||
void uart_putc(char c);
|
void uart_putc(char c);
|
||||||
|
|
||||||
#endif
|
#endif // UART_KERNEL_H
|
||||||
|
|
|
||||||
|
|
@ -89,4 +89,4 @@ extern Cpu cpus[NCPU];
|
||||||
/** Per-process state */
|
/** Per-process state */
|
||||||
struct Proc {};
|
struct Proc {};
|
||||||
|
|
||||||
#endif
|
#endif // PROC_H
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue