677 Commits

Author SHA1 Message Date
Kevin Lange
b4d7e263b6 Fix critical issue in spawn_process 2015-05-18 21:05:41 -07:00
Kevin Lange
9df3810da9 Separate pipe write/read locking 2015-05-15 22:51:27 -07:00
Mike Gerow
b06b4af8b9 Add snd sound subsystem.
It's got a long way to go, but this provides basic mixing between
applications.
2015-05-15 01:04:07 -07:00
Mike Gerow
fd8c5db72a Surround list macros in parens in order to allow calls like this:
list_t list;
foreach(node, &list) {
  ...
}
2015-05-15 01:04:07 -07:00
Kevin Lange
e1720dbc8a Fix allocation of common symbols in modules
Fixes #87
2015-05-14 09:47:23 -07:00
Kevin Lange
66938e3123 Fix symbols not marked extern 2015-05-14 09:32:52 -07:00
Mike Gerow
ac17214207 Added ability to check if an IRQ is already occupied.
A proper solution would probably be to introduce shared IRQs at some
point in time.
2015-05-13 01:33:05 -07:00
Kevin Lange
648aedc0a4 Use a different resynch strategy for timer 2015-05-01 23:01:12 -07:00
Kevin Lange
4fd1ae9aa3 Support scrollwheel mice 2015-04-26 18:05:14 -07:00
Kevin Lange
7344a50fe0 Major changes to timing interfaces
- The kernel version has been bumped to 0.9.0
- The timer resolution in the kernel has been increased to millseconds.
- The preemptive scheduling interval has been descreased to one
  millisecond.
- Relative sleep continues to use 10 millsecond intervals for legacy
  reasons.
- `gettimeofday` now uses the internal tick counter to calculate the
  current time. Drift is calculated from the CMOS every 5 seconds and
  applies only to `gettimeofday` and other places that use it.
- The resolution of timing information provided by debug functions has
  been increased to three digits (milliseconds).
- The resolution of timing information provided by the procfs uptime
  virtual file has been increased to three digits (milliseconds).
- Functions have been added to the debug shell to read the TSC. The TSC
  is not used in timing functions at this time.
2015-04-14 23:05:07 -07:00
Kevin Lange
4a36d6bb9e Fix a potential deadlock and improve irq on/off 2015-04-13 23:39:23 -07:00
Kevin Lange
5f84e679ca Add more flags to <ipv4.h> 2015-04-04 12:18:36 -07:00
Kevin Lange
a73a033a29 Experimental updates to write support in ext2 (incomplete, internals only) 2015-02-11 23:12:01 -08:00
Kevin Lange
990d6ae269 Fix #54 - missing close/free in sys_chdir 2014-10-07 10:46:54 -07:00
Kevin Lange
6d2bcef1cb Fix root= argument 2014-08-15 16:25:15 -07:00
Kevin Lange
09a38b3abb Remove unused label 2014-06-11 18:51:36 -07:00
Kevin Lange
87c212017b Various bits of cleanup to unbreak mounting 2014-06-09 21:21:46 -07:00
Kevin Lange
17e332b5e7 expose mounting to userspace 2014-06-09 20:13:11 -07:00
Kevin Lange
d3cddf169a And then some more magic to merge the vimhints and the copyright headers 2014-06-07 23:58:31 -07:00
Kevin Lange
1287af81ef Reinsert vim hints magically 2014-06-07 23:51:01 -07:00
Kevin Lange
71fa8d5185 ... missed a couple 2014-06-07 23:48:18 -07:00
Kevin Lange
a2ed4b4f0e strip vim: lines from kernel 2014-06-07 23:43:21 -07:00
Kevin Lange
e1a9cd87d2 Include additional contributors in kernel/main.c 2014-06-07 23:31:45 -07:00
Kevin Lange
ef7d72c1e1 License headers and a tool to generate them 2014-06-07 23:13:29 -07:00
Kevin Lange
dcaa023347 Processes now inherit names 2014-06-07 18:32:10 -07:00
Kevin Lange
02dbc0e1f4 some vague attempt at revealing links in stat 2014-06-07 12:58:45 -07:00
Kevin Lange
f21ab2b3fb Default st_nlink to 1, not 0 2014-06-05 22:19:46 -07:00
Kevin Lange
34d81fca37 Probably fix mkdir in tmpfs 2014-06-05 19:08:07 -07:00
Kevin Lange
3f6a5e0fdc remove debug output from shebang exec 2014-06-03 23:21:38 -07:00
Kevin Lange
3e03dffc4b merge 2014-06-03 23:20:46 -07:00
Kevin Lange
5eacca2361 Fix argument handling and recursive shebangs 2014-06-03 20:42:59 -07:00
Kevin Lange
4733a26c74 Fix argument offsets 2014-06-01 23:37:00 -07:00
Kevin Lange
389f20f140 fairly naïve shebang implementation 2014-06-01 23:10:11 -07:00
Kevin Lange
fb49a12728 Add reverse foreach for lists 2014-06-01 12:56:55 -07:00
Kevin Lange
9eb63b4bfd more room for panic messages 2014-06-01 01:32:33 -07:00
Kevin Lange
6296aff867 Fix handling of eof in login 2014-05-30 17:05:49 -07:00
Kevin Lange
9eef96cb6a ^D should actually not echo 2014-05-29 23:41:17 -07:00
Kevin Lange
d4b334f119 Remove redundant r_b_interrupts in tty 2014-05-29 22:08:52 -07:00
Kevin Lange
53aee7dc38 Implement ^D 2014-05-29 21:39:56 -07:00
Kevin Lange
84420f9e5c Support closing packetfs connections 2014-05-28 19:21:56 -07:00
Kevin Lange
252fe84ab0 Close and cleanup before we reap. 2014-05-27 23:20:02 -07:00
Kevin Lange
c5d79b2bc6 Fix a memory leak in file opening 2014-05-27 22:52:37 -07:00
Kevin Lange
049057cd23 reenable sigpipe delivery 2014-05-27 21:42:22 -07:00
Kevin Lange
d696f51f8b Real unix pipes 2014-05-27 21:38:30 -07:00
Kevin Lange
ab2a9f056f Quick and dirty display server nesting - lots of mouse event changes 2014-05-26 12:43:22 -07:00
Kevin Lange
f054cebdce naive implementation of sudo and possibly insecure setuid support 2014-05-25 21:59:51 -07:00
Kevin Lange
18251f66c1 Merge pull request #46 from lioncash/leak
Fix a memory leak within vfs.c in kopen.
2014-05-21 17:55:49 -07:00
Lioncash
935f594cd3 Fix a memory leak within vfs.c in kopen. 2014-05-21 20:41:26 -04:00
Lioncash
55bf5fe03d Fix incorrect module size in kmain. 2014-05-21 20:22:24 -04:00
Kevin Lange
290eb0f344 Some IRC cleanup 2014-05-19 19:39:04 -07:00