53e756eca0
kernel: add boot argument parsing
2023-12-27 17:34:59 +00:00
3233169f25
dev: implement reading from block devices
...
reading from block devices is done using the block cache (bcache).
This cache stores sectors from a block device in pages of memory
marked as 'cached', which will allow them to be reclaimed when
memory pressure is high (TODO).
while block device drivers implement callbacks allowing reading/writing
at block-granularity, the device subsystem uses the block cache to
implement reading/writing at byte-granularity in a driver-agnostic way.
block drivers can disable the block cache for their devices, but this
will require that any clients communicate with the devices at
block-granularity.
also added an offset parameter to device and object read/write functions/callbacks.
2023-07-09 21:58:40 +01:00
31a4e00fdc
tty: retain reference to foreground tty and input devices
2023-06-14 21:45:05 +01:00
2656696757
tty: reading input from a tty is now handled by the line discipline
2023-06-14 17:38:11 +01:00
cdb9fef36c
tty: remove tty event queues
2023-06-11 19:00:55 +01:00
a7c28e983c
kernel: tty: implement tty input using line disciplines
2023-06-11 16:47:33 +01:00
3cc72f1f24
kernel: tty: support printing output from printk()
2023-06-11 14:55:47 +01:00
0245d2254b
kernel: tty: support for printing newlines
2023-06-11 14:54:39 +01:00
abe4af093e
tty: implement read/write support
2023-06-11 09:23:57 +01:00
d09ad5838e
kernel: implement tty driver system
2023-06-10 21:41:07 +01:00
ff8902ef1c
kernel: add more status codes
2023-06-08 20:46:20 +01:00
6cf8f4234a
x86_64: print stack trace during panic
2023-05-06 22:18:40 +01:00
94ea756b31
kernel: write to all registered consoles with printk()
2023-05-06 21:32:19 +01:00
cec6b644ac
kernel: add functions to query the number of available/online CPUs
2023-05-05 15:25:44 +01:00
bb524c1576
kernel: add support for getting percpu variables that belong to other CPUs
2023-05-04 21:42:51 +01:00
a52571eb19
kernel: add panic() function that accepts a cpu_context
2023-05-03 19:26:09 +01:00
40762ffb95
kernel: add function to query the current preempt count
2023-05-01 08:26:41 +01:00
72d8facd47
kernel: add standard clock system
2023-04-28 20:51:51 +01:00
e7fe5a8f8e
kernel: add function to query CPU clock cycle count
2023-04-22 21:07:34 +01:00
b6f8c1ccaa
kernel: don't use typedef for enums or non-opaque structs
2023-04-13 11:40:52 +01:00
981a5f2a0d
kernel: add kern_status_string()
2023-04-09 16:38:31 +01:00
da415c7f6d
kernel: implement panic()
2023-04-09 16:35:15 +01:00
7d003da960
sched: add current_task(), current_thread(), and preempt_disable/enable()
2023-03-28 21:40:56 +01:00
768e6c4ff6
kernel: fix off-by-one in per-cpu area allocation size
2023-03-19 20:35:25 +00:00
57eaf4e01c
kernel: implement cpu IDs and per-cpu variables
2023-03-18 19:35:00 +00:00
5b9bdd4848
kernel: add definitions for a TTY device interface.
2023-02-09 11:35:35 +00:00
d56fc961fa
kernel: print log messages directly to the console if log_buffer is full
2023-02-08 17:10:13 +00:00
31cb7aab8b
kernel: add basic console registration system and printk()
2023-02-04 19:03:45 +00:00
d0a431c860
kernel: add basic spinlocks
2023-02-04 19:03:30 +00:00
247bb2b530
kernel: port sandbox components
2023-02-03 20:51:23 +00:00
40f83922da
sandbox: moved all sources to main kernel tree
2023-02-03 20:43:38 +00:00
bcdf101779
kernel: add stub logging function
2023-02-03 20:26:02 +00:00
8475a6139e
Implemented some basic libc functions and a text console
2022-12-21 08:29:33 +00:00