Commit Graph

73 Commits

Author SHA1 Message Date
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
c8aa5462a8 Cleaner syscall handling 2013-05-08 22:11:02 -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
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
3ddb877b32 [grok.org.uk advisory] validate more syscall pointers 2013-04-02 15:23:40 -07:00
Kevin Lange
674f047bde fix stat for missing file 2013-03-22 12:14:04 -07:00
Kevin Lange
fa79c89e54 Some fixes and cleanup 2013-03-22 11:58:22 -07:00
Kevin Lange
afd0c59de1 Fix warning in syscalls.c 2013-03-21 00:03:05 -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
22f04f137b Relatively compliant uname() implementation
Also, sleep() as a function (implemented by way of nanosleep) and new
absolute and relative sleep system calls added to newlib.

[ci skip] I damn well know this is going to break CI.
2013-03-13 21:55:25 -07:00
Kevin Lange
3a977369af Timed process sleeping (and bug fixes) 2012-12-10 20:28:31 -08:00
Kevin Lange
e83f88bacb Add time support to vfs 2012-12-09 16:59:55 -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
7d5eb42400 Userspace keyboard handling
Kernel driver sends raw scancodes, compositor or terminal handle the
rest. Support for F* keys will be added soon, in the mean time userspace
applications can know about the status of modifiers (control, shift,
alt, and super).

Compositor actions have been changed to Alt+Left Click for move and
Alt+Middle Click for resize. I'll work on adding more mouse events once
I get them to be faster (they're annoyingly slow at the moment... I want
more accuracy and less latency).
2012-10-14 19:53:16 -07:00
Kevin Lange
deaa6ad513 Rough support for environment variables
- libc functions not implemented yet
- see `env` for an example of reading variables
- see `esh` for an example of how to set and maintain variables for
  sending to other applications

  Both of the above will be the basis for the libc implementation.
2012-10-07 20:46:35 -07:00
Kevin Lange
8c20e96fb6 reboot syscall will sync disks 2012-09-29 00:38:45 -07:00
Kevin Lange
777b442a1e Finish rename of bochs driver to lfb driver.
* Removed some deprecated header stuff.
* Renamed functions / global variables.
2012-09-17 22:46:43 -07:00
Kevin Lange
cea692b577 And now with more login.
* Also cleaning up some kernel logging options here.
* You can log in as local or root with passwords local and toor
* Graphical sessions are still buggy, so don't kill that terminal.
2012-09-12 23:19:07 -07:00
Kevin Lange
5914a09735 Neglected to remove an include... 2012-09-04 20:58:19 -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
baaa8bc6c8 Stylistic whitespace update to syscall.c 2012-07-06 21:16:19 -07:00
Kevin Lange
989b43ee68 Fix malloc in libc? 2012-06-01 02:02:02 +09: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
5457de3906 System Debugging Functions syscall 2012-05-16 20:51:37 -04:00
Kevin Lange
639881f931 Make things faster, better, stronger, etc. 2012-03-27 19:09:11 -05:00
Kevin Lange
816ddc8f3e Lots of process cleanup implemented; improved cursor rendering 2012-03-14 22:03:55 -05:00
Kevin Lange
66ba18fc33 Ug. 2012-03-10 15:03:59 -06:00
Kevin Lange
8fb8edba3a I have no idea idea what I'm doing. 2012-03-01 21:13:52 -06:00
Kevin Lange
678ed81c65 Extensive stability fixes. I think I finally squashed those stack bugs. 2012-02-16 22:43:41 -06:00
Kevin Lange
a72f9bc7cf Fix stack bug. 2012-02-16 14:31:40 -06:00
Kevin Lange
c67d2796ef Finish threading (might still be some bugs) 2012-02-16 01:06:44 -06:00
Markus Schober
4453aba2de can haz threads? 2012-02-15 22:56:16 -06:00
Kevin Lange
de0bbe739b Fix a bunch of system calls... 2012-02-12 18:47:01 -06:00
Kevin Lange
9b1e227c0f Fix a dozen different things. 2012-02-12 16:45:23 -06:00
Kevin Lange
58c176dfa0 Syscalls to share file descriptors over a shared memory region 2012-02-08 20:59:34 -06:00
Markus Schober
27d0deed5b [shm] fork() and execve() don't wreak havoc on shm 2012-02-08 19:59:34 -06:00
Kevin Lange
65fa12f482 SIGNALS 2012-02-08 02:40:44 -06:00
Markus Schober
aec24c08f1 Attaching nearly works! 2012-02-07 02:29:28 -06:00
Kevin Lange
1a5057e1fa [minor] typo 2012-02-05 18:14:29 -06:00
Kevin Lange
aba36f4dce Reserving syscall numbers for shared memory 2012-02-05 18:12:50 -06:00
Kevin Lange
c4e33117c0 mkdir and creat testing 2012-02-05 16:04:41 -06:00
Kevin Lange
4366a20a8f Pipe and packet-based mouse device 2012-02-02 16:16:29 -06:00