Kevin Lange
a4d749a91a
fix memcpy/memset clobbers, etc.
2015-05-26 23:38:21 -07:00
Kevin Lange
3bf0d0ed89
Mark off 0.10.1
2015-05-21 14:39:00 -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
3820512357
Merge branch 'strawberry-dev' of github.com:klange/toaruos into strawberry-dev
2015-05-21 03:15:19 -04:00
Dale Weiler
57de8417fa
formattng
2015-05-21 03:13:47 -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
Kevin Lange
1654d371e3
Marking off 0.10.0
2015-05-20 20:34:20 -07: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
82d706f453
Rewrite IDT code
2015-05-20 18:53:03 -04:00
Dale Weiler
51fbc77e3f
Eliminate superfluous strlen pass in vasprintf
2015-05-20 18:21:39 -04:00
Dale Weiler
d6a7db993e
Use PUSH macro when setting up thread argument and return address
2015-05-20 16:53:14 -04:00
Dale Weiler
333d97bc7a
Fix system calls
2015-05-20 16:45:30 -04:00
Dale Weiler
c9f9625722
Use uintptr_t and document sys_mount arguments which are not used with a TODO
2015-05-20 14:59:47 -04:00
Dale Weiler
117225b626
Cleanup system call code and improve branch prediction.
2015-05-20 14:14:51 -04:00
Dale Weiler
31900155fb
ring3 switch code in user.S now
2015-05-20 04:46:10 -04:00
Dale Weiler
ca5a319ee6
Validate syscall inputs
2015-05-20 03:34:39 -04:00
Dale Weiler
01176e0f97
Use GAS instead of YASM.
2015-05-20 03:12:20 -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
Kevin Lange
b4d7e263b6
Fix critical issue in spawn_process
2015-05-18 21:05:41 -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
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