Commit Graph

116 Commits

Author SHA1 Message Date
Kevin Lange
2de26fafe1 Lazy FPU/SSE, more correct-er 2013-04-16 00:03:23 -07:00
Kevin Lange
41030465a8 Save/restore sse (poorly) 2013-04-15 23:23:56 -07:00
Kevin Lange
3ddb877b32 [grok.org.uk advisory] validate more syscall pointers 2013-04-02 15:23:40 -07:00
Kevin Lange
bac4d54bed Revert version to 0.4.99 2013-03-25 21:48:03 -07:00
Kevin Lange
bc2e4741c7 Random bits and pieces 2013-03-22 15:11:19 -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
e223c57af8 Reserve some entries for process scheduling 2013-03-17 16:33:28 -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
09ec69340c New version tree 2013-03-03 17:11:41 -08:00
Kevin Lange
c4545dcc51 bump version in light of toolchain updates 2013-01-25 21:39:12 -08:00
Kevin Lange
3b06b5c464 bump version to 0.4.2 2012-12-10 20:38:59 -08: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
a1099c1566 Bump kernel version 2012-12-08 00:25:01 -08:00
Kevin Lange
a9d895a923 unify logging 2012-12-07 18:33:07 -08:00
Kevin Lange
ce1a0ed15d bump to 0.4.0 2012-12-03 00:10:31 -08:00
Kevin Lange
3a45200d3d lol wat 2012-12-02 22:16:59 -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
6e909acd07 Save/restore FPU state on task switch 2012-10-21 20:17:47 -07: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
9d84988778 Bump version number to 0.3.7
Getting close to the big 0.4.0, but I really want to fix my ATA drivers
and possibly get some CD/ISO stuff in before then.

[ci skip]
2012-10-13 22:06:51 -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
742a6e7448 Fix up style in system.c, fix some bugs, too 2012-10-03 22:01:45 -07:00
Kevin Lange
8c20e96fb6 reboot syscall will sync disks 2012-09-29 00:38:45 -07:00
Kevin Lange
9f282a7916 Fix alloc init bug, bump version.
We'll keep that graphic testing thing in there just in case.
2012-09-18 01:19:30 -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
4c67b5da84 Completely rewrote compositing engine
The compositor itself still needs work, but the compositing engine
within now does full blitting and is faster than the old method.
Transparency is now supported properly, though telling the compositor to
use it on a window will degrade performance. One terminal is usually
okay, and everything runs faster than it did before; two terminals is
pushing it; three will make you very sad. The stacking logic has also
been updated. Presumably, alpha blitting for transparent windows could
be done with SIMD instructions and be extremely fast.

All graphics libraries have also been updated to (hopefully) work
properly with alpha bits.
2012-09-13 22:12:47 -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
ba358a51ff Bump kernel version
* Panel now displays actual kernel version using the uname hack
2012-09-12 20:08:30 -07:00
Kevin Lange
af6be648d4 A lot of refactoring 2012-09-07 20:17:00 -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
bba242dd62 Add a testing framework.
This is an automated system by which we boot qemu headless and use the
serial line to capture output from a testing application that is started
on bootup, running with the VGA terminal shell. This might be expanded
to boot to the graphical display within VNC and perform more advanced
tests with the Python shim using a VNC module for Python; we'll see.
2012-09-02 02:24:25 -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
915ebc1dac Increment version to 0.2.1 2012-04-11 00:16:24 -05:00
Kevin Lange
8096d89c16 [temp] Stop freeing file nodes (XXX) 2012-04-03 13:17:26 -05:00
Kevin Lange
35eb731ccb Bump version to 0.2.0, change branch to -dev 2012-03-27 21:52:38 -05:00
Kevin Lange
f68ca25622 Boot-to-shell through kernel argument 'single' 2012-03-27 21:47:25 -05:00