Commit Graph

136 Commits

Author SHA1 Message Date
Kevin Lange
ccc86c4dc3 Fix multiple modules, make procfs a module 2014-03-15 17:51:33 -07:00
Kevin Lange
1655cfc600 Suggested cleanups from sortie 2014-02-26 21:10:56 -08:00
Kevin Lange
d42617020f random rtl network stuff, not working yet 2014-02-26 21:00:16 -08:00
Kevin Lange
010a461d65 Minor cleanup 2014-02-26 20:59:10 -08:00
Kevin Lange
f5be45a2c9 lots of legacy cleanup 2013-12-15 21:33:46 -08:00
Kevin Lange
ed3c578e64 clean up some legacy util stuff 2013-12-13 20:50:04 -08:00
Kevin Lange
3c9a717429 Tasklet cleanups, make kttydebug useful 2013-11-27 21:21:39 -08:00
Kevin Lange
e95c9eb40b Fix procfs when no cmdline is present 2013-11-27 21:21:09 -08:00
Kevin Lange
8dfd4ff20a Make serial devices more useful
They now use interrupts and thus can be blocked on without sitting in a
busy loop. Not sure if they still work perfectly, need to debug. Works
fine with the console "serial" stuff in qemu.

Todo: Investigate further.
2013-11-27 19:10:38 -08:00
Kevin Lange
922fdd5f38 None of this actually works, but whatever 2013-08-19 19:38:15 -07:00
Kevin Lange
948813d0be Fix buffer clearing and dumping when switching modes 2013-07-27 22:21:04 -07:00
Kevin Lange
720a62d6aa ICANON support (still a bit rough)
This is a massive hack and I admit it.
2013-07-27 22:01:08 -07:00
Kevin Lange
40f0c41932 Preliminary termios support
This is some initial work on support real PTYs.
Canonical mode is not supported at the moment.
2013-07-27 00:18:29 -07:00
Kevin Lange
4c2801beeb Even more strict ext2fs write disabling 2013-06-12 22:24:02 -07:00
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
ff8fd63e62 Fix bad assignment in tmpfs (thx clang) 2013-05-22 16:26:37 -07:00
Kevin Lange
0a064bf3da Remove an unused thing 2013-05-22 01:47:43 -07:00
Kevin Lange
ad19c5eb01 change comment in randomdev 2013-05-21 15:34:18 -06:00
Kevin Lange
4868960364 Build ALL the things! 2013-05-12 00:38:56 -07:00
Kevin Lange
edccf2927b Unbreak ramdisks 2013-04-27 22:04:20 -07:00
Kevin Lange
fde9c6d652 New ioctl commands and userspace improvements 2013-04-27 01:16:36 -07:00
Kevin Lange
5d71eeb013 Kernel stacks are big enough for those... 2013-04-27 01:13:47 -07:00
Kevin Lange
fdc442714a Disable EXT2 with a #define 2013-04-25 23:06:51 -07:00
Kevin Lange
16da56ea9b General support for open() flags
Includes truncation support in tmpfs, and changes the signure of the VFS
open() method. Also tweaked some comment style in the VFS.
2013-04-24 00:19:08 -07:00
Kevin Lange
8c16a86206 Directory support in tmpfs 2013-04-23 23:21:16 -07:00
Kevin Lange
a2a890e1a8 Fresh new VFS syscalls: unlink, chmod, umask 2013-04-23 01:14:33 -07:00
Kevin Lange
6f096454cd Some additions to the VFS 2013-04-22 22:36:47 -07:00
Kevin Lange
7c8d34d1b6 Disable EXT2 writes; add experimental tmpfs
This is still a work in progress. ext2 writes are quite broken, so they
have been completely disabled, but there's a new tmpfs mounted to /tmp
that you can try to poke at. I'm still fixing up quirks in the VFS that
make it incompatible with a bunch of stuff, but I did manage to write
some files with vim, and swap files appear to be working at least
somewhat. It's all still broken as fuck.
2013-04-21 23:17:26 -07:00
Kevin Lange
3871cfcf31 Fix up the serial console so it works again 2013-04-15 01:26:03 -07:00
Kevin Lange
bc51b20380 Generic ringbuffer ds for kernel 2013-04-02 23:02:43 -07:00
Kevin Lange
7303be0eee Also verify those aren't null 2013-04-02 18:06:06 -07:00
Kevin Lange
3ddb877b32 [grok.org.uk advisory] validate more syscall pointers 2013-04-02 15:23:40 -07:00
Kevin Lange
7c4cd8dd51 fix nulldev, add zerodev 2013-03-31 13:01:05 -07:00
Kevin Lange
a55a652e0e new fs node device pointer 2013-03-25 21:48:16 -07:00
Kevin Lange
afac5cd955 fix derp in dev FSes, add /dev/random 2013-03-22 22:38:10 -07:00
Kevin Lange
bc2e4741c7 Random bits and pieces 2013-03-22 15:11:19 -07:00
Kevin Lange
fa79c89e54 Some fixes and cleanup 2013-03-22 11:58:22 -07:00
Kevin Lange
ef459bdaad More rough stubs and fixes 2013-03-20 21:24:55 -07:00
Kevin Lange
21aeb34ea4 Rough ioctl with support for winsize 2013-03-18 23:57:40 -07:00
Kevin Lange
6f94ce2296 procfs extensions and ps command 2013-03-18 21:52:45 -07:00
Kevin Lange
71342f842d procfs, and more pty cleanup 2013-03-18 00:52:12 -07:00
Kevin Lange
e02cf79e2a Rough PTY support (needs work) 2013-03-17 16:34:23 -07:00
Kevin Lange
cef1d359a1 Blocking serial reads 2013-03-17 16:34:01 -07:00
Kevin Lange
eb92cccecd Cleanup 2013-03-15 00:52:09 -07:00
Kevin Lange
8dd2686b40 Really hack VFS implementation 2013-03-15 00:20:55 -07:00
Kevin Lange
e83f88bacb Add time support to vfs 2012-12-09 16:59:55 -08:00
Kevin Lange
3cdb7b8748 make most of ext2fs use debug_print 2012-12-09 16:19:25 -08:00
Kevin Lange
a9d895a923 unify logging 2012-12-07 18:33:07 -08:00
Kevin Lange
50ea1462c3 Fix IDE on new qemu, virtualbox 2012-12-02 21:43:54 -08:00
Kevin Lange
193158079d Bunch of kernel cleanup 2012-11-30 18:26:47 -08:00
Kevin Lange
ed5b9543fb Big commit: Serial console
* fix some terminal bugs (some, not all)
* add a serial device to the VFS
* fix up serial so it works better
* add a serial-console application
* fix a bug in some other stuff relating to allocations
* change size of the terminal described by toaru.terminfo
* adds a new system call
2012-11-28 23:05:19 -08:00
Kevin Lange
05728b0e2f Fix large files on modern ext2 configurations 2012-10-16 22:30:57 -07:00
Kevin Lange
2eb953f1f1 Massive fixes to the EXT2 driver.
* Works with different block sizes
* Works with different inode sizes
* Tested on a real EXT2 file system made with mkfs.ext2

* MBR reading is available
* You can specify a partition with hdd=0 or hdd=1 etc.

* If you make a "real" disk image, you can get GRUB installed in
  its MBR, toss in a suitable config file, and boot right off the
  disk rather than having to use QEMU to boot the kernel or using
  some silly CDROM ramdisk nonsense.
2012-09-29 00:39:01 -07:00
Kevin Lange
f79f345956 Giant ramdisks (works on my desktop)
But not on my laptop...
2012-09-18 22:20:04 -07:00
Kevin Lange
ba358a51ff Bump kernel version
* Panel now displays actual kernel version using the uname hack
2012-09-12 20:08:30 -07:00
Kevin Lange
03181de68b One line fix to a big bug in the ext2 driver
[ci skip]
2012-09-11 00:26:39 -07:00
Kevin Lange
8ed06789ed New debug printing facilities.
- Can now register a userspace file descriptor as the output for kernel
  print statements through kprintf()
- Can set logging levels for debug print messages, which are separate
  from kernel log events and meant to be more readily visible. Log
  events are recorded in a buffer to be viewed later, though nothing
  actually using logging at the moment.
- Serial output is disabled by default now. You can enable it yourself
  by appending the logtoserial argument to the kernel on boot.
2012-09-03 22:35:11 -07:00
Kevin Lange
84ccf49990 Delayed writes [use sysfunc 3 to sync disc]
Please note that 'reboot' will not call sync yet, so make sure you do it
yourself.
2012-05-31 20:52:47 +09:00
Kevin Lange
0242e8aa11 [hopefully] Fix the EXT2 write support 2012-05-31 20:37:38 +09:00
Kevin Lange
5a1a45bc09 Faster mouse response
- Discard lots of packets
- Don't yield?
2012-04-12 23:21:38 -05:00
Kevin Lange
85b958b2cd This is what happens when we don't maintain legacy stuff. 2012-04-10 23:49:22 -05:00
Kevin Lange
639881f931 Make things faster, better, stronger, etc. 2012-03-27 19:09:11 -05:00
Kevin Lange
9fd73be686 Trying a few fixes... We're still doing some things very, very wrong. 2012-03-27 16:52:46 -05:00
Kevin Lange
fb6e5d59e3 Completely rewrite rendering model for compositor.
We know longer accept DAMAGE and REDRAW commands. Instead, we just loop
and redraw everything anyway (efficiently, mind you). Pipes still have
issues when closed and various other different things.
2012-03-27 13:58:21 -05:00
Kevin Lange
29e031e6f6 [docs] Clean up some fixed XXXs and TODOs 2012-03-15 13:15:57 -05:00
Kevin Lange
816ddc8f3e Lots of process cleanup implemented; improved cursor rendering 2012-03-14 22:03:55 -05:00
Kevin Lange
e335a2970a [glogin] Working on the graphical login application 2012-02-19 21:29:40 -06:00
Kevin Lange
e5ed5cdca0 Disable line buffering in pipes. Totally not our job. 2012-02-17 15:01:09 -06:00
Kevin Lange
de0bbe739b Fix a bunch of system calls... 2012-02-12 18:47:01 -06:00
Kevin Lange
aa73f6fc6e Fix a task 0 exit bug 2012-02-08 19:30:35 -06:00
Kevin Lange
c4e33117c0 mkdir and creat testing 2012-02-05 16:04:41 -06:00
Kevin Lange
89d9265c73 Actually deschedule processes when they are waiting 2012-01-31 19:27:38 -06:00
Kevin Lange
71298a5c83 Relatively broken local echo support 2012-01-31 00:16:09 -06:00
Kevin Lange
a8cc561cce Try to write good documentation for the vfs module 2012-01-30 16:48:54 -06:00
Kevin Lange
9061f91e74 stat(), fstat(), /bin/stat 2012-01-27 03:12:29 -06:00
Tianyi Wang
35ce150bb0 Fixes where the block number of inode is incorrectly changed. 2012-01-25 23:30:41 -06:00
Tianyi Wang
cbb739e14b [fix merge conflict] 2012-01-25 19:30:45 -06:00
Tianyi Wang
023865913c fs stuffs 2012-01-25 19:25:59 -06:00
Kevin Lange
1a2cb28fc1 [pipe] Fix write overrun and other issues 2012-01-25 00:54:59 -06:00
Kevin Lange
339b82e10c [massive commit] Userspace terminal.
Completely removes:
* The kernel terminal (both VGA and graphical)
* The kernel ANSI parser (obviously)
* kgets() function
* Dozens of other functions that were made useless

Adds:
* Userspace terminal that should work (relatively) well
* Keyboard device driver (implemented with a "pipe" object)
* Stabalized interrupt interface
* `clear` uses the c library
* All panic screens and kprintf() output goes to the serial line ONLY
* The kernel boots directly into /bin/terminal (no arguments, unless you
  want to add them (such as -f))
2012-01-25 00:19:52 -06:00
Kevin Lange
6c042aba53 Pipes 2012-01-24 18:40:25 -06:00
Kevin Lange
9147549bd5 oops 2012-01-24 17:58:19 -06:00
Kevin Lange
9ba44c73bc [pipe] Pipe (ring buffer) device? 2012-01-24 17:56:35 -06:00
Kevin Lange
e05515844d Null device 2012-01-23 23:01:23 -06:00
Kevin Lange
edebb12573 [misc] Boot logging to screen 2011-12-26 19:23:58 -06:00
Kevin Lange
8c548c0db0 Restructure directory tree for kernel modules 2011-12-14 22:15:47 -06:00