Commit Graph

304 Commits

Author SHA1 Message Date
Matt White
a27d971fef No longer place TCP ACKs with no payload in receive queue 2015-07-31 10:57:51 -07:00
Kevin Lange
93549c53f6 hacked-together irc stuff 2015-07-31 09:30:20 -07:00
Matt White
46345f9c29 Rudimentary support for multiple connections. Seq/Acks are probably not great 2015-07-31 00:41:35 -07:00
Matt White
4547929321 Can successfully send valid SYN packet 2015-07-30 22:40:21 -07:00
Matt White
f34285a3de Removed bit fields and change to doing some bit math to remove compiler warnings 2015-07-30 17:02:14 -07:00
Matt White
de43948e73 Fix wrong struct name 2015-07-30 16:54:07 -07:00
Matt White
19c5b581ab Remove dependency of net module on rtl module 2015-07-30 16:46:08 -07:00
Matt White
3447ffcb03 Super basic outline of separating network stuff from rtl module into net module 2015-07-30 15:48:31 -07:00
Kevin Lange
20367b15f9 Fixups for merging symlinks 2015-06-10 20:59:27 -07:00
Mike Gerow
84846c6dac Added symlink support to ext2 module 2015-06-03 19:08:38 -07:00
Mike Gerow
e8689bb0c6 Added symlink support to vfs and plumbed it to syscall layer
This commit requires a rebuild of the toolchain.
2015-06-03 19:07:08 -07:00
Kevin Lange
20c9535d29 Clean up termemu and add a new kernel vga logging mechanism 2015-06-01 00:20:02 -07:00
Dale Weiler
d6ff2dc428 Better PID allocation technique 2015-05-21 16:23:31 -04:00
Dale Weiler
e27cb1b96f Align stack pointer on kernel proper entry to 16-byte. Eliminate dead-lock in frame allocator on OOM. Formatting. 2015-05-21 15:09:42 -04:00
Dale Weiler
a699c91ddd ISR/IRQ cleanup 2015-05-21 13:22:06 -04:00
Dale Weiler
0dbd5ab089 Cleanup and improve spin lock code 2015-05-21 04:28:14 -04:00
Dale Weiler
cb0e217c31 Cleaned up, optimized and rewrote crucial parts of libc for the kernel, fixed a few bugs as well. 2015-05-21 03:12:09 -04:00
Dale Weiler
12ef7fba8b Optimizations 2015-05-20 23:32:21 -04:00
Dale Weiler
6e1a594adc Wait for IO on IRQ remap. 2015-05-20 23:08:58 -04:00
Dale Weiler
5ddbbf8199 Some IRQ cleanup 2015-05-20 19:52:19 -04:00
Dale Weiler
31900155fb ring3 switch code in user.S now 2015-05-20 04:46:10 -04:00
Kevin Lange
9d41b3fc25 Merge branch 'mixer-rebase' of https://github.com/gerow/toaruos into gerow-mixer-rebase 2015-05-18 21:15:25 -07:00
Kevin Lange
9a72bfc4cd Add half-assed support for IRQ chaining.
We only support 4 total chain entries at the moment, but that can be
"easily expanded"... We don't really have a lite dynamic vector, just
the big fat dynamic lists, so improving on this needs some extra effort.

This commit also drags in a bunch of random network work by necessity.
2015-05-18 21:07:06 -07:00
Mike Gerow
0f35a5bfe3 Add ioctl interface for snd mixer 2015-05-17 20:31:36 -07:00
Mike Gerow
f53ea98e05 Implement snd mixer interface in ac97.c 2015-05-17 20:31:36 -07:00
Mike Gerow
ad708efd5a Add support for managing mixer knobs to snd interface 2015-05-17 20:31:36 -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
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
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
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
02dbc0e1f4 some vague attempt at revealing links in stat 2014-06-07 12:58:45 -07:00
Kevin Lange
fb49a12728 Add reverse foreach for lists 2014-06-01 12:56:55 -07:00
Kevin Lange
252fe84ab0 Close and cleanup before we reap. 2014-05-27 23:20:02 -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
290eb0f344 Some IRC cleanup 2014-05-19 19:39:04 -07:00
Kevin Lange
1dfa71aee9 A start on cleaning up network stack 2014-05-17 23:16:30 -07:00
Kevin Lange
03f8f5062c Interactive IRC connection 2014-05-17 12:40:01 -07:00
Kevin Lange
3ae82af245 Fix DHCP packets 2014-05-14 00:37:06 -07:00
Kevin Lange
98d6516cd4 Craft our own packets instead of using prebuilt ones 2014-05-13 22:09:15 -07:00
Kevin Lange
913c4b004f make the video panic screen display a message 2014-05-10 19:12:31 -07:00
Kevin Lange
898c5f23d3 Desaturate entire display on kernel panic 2014-05-10 14:03:13 -07:00