Commit graph

129 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
7304c8f528 Fixed uninitialized memory bug in the keyboard driver.
This often prevented the letter 'c' from working in x64.
2011-12-01 17:30:14 +01:00
Jonas 'Sortie' Termansen
6562da4092 waitpid(2) now returns ECHILD on error. 2011-12-01 14:54:19 +01:00
Jonas 'Sortie' Termansen
cf53e4a020 Fixed 64-bit resumed system calls. 2011-12-01 14:29:49 +01:00
Jonas 'Sortie' Termansen
c0c20860ed Lots of improvements to 64-bit Sortix.
Fixed 64-bit-ness bug in BSR() and BSF().
Added 64-bit system call stubs in libmaxsi.
Added a Elf64 program loader.
Fixed uninitialized memory bug in the scheduler.
x64/boot.s now takes care of user-space memory permissions.
Fixed bug in x64/syscall.s

That's right. The system now boots in 64-bit mode.

It is horribly unstable, though.
2011-12-01 10:45:44 +01:00
Jonas 'Sortie' Termansen
f460c4abec Added support for 64-bit interrupts. 2011-11-30 23:30:14 +01:00
Jonas 'Sortie' Termansen
f0ec4ffacc Forgot to push %rbp in x64/syscall.s 2011-11-29 11:45:00 +01:00
Jonas 'Sortie' Termansen
0b1c2a77c9 x64 now compiles again and runs on real hardware.
A nasty bug was fixed that caused triple faults on systems with > 1 GiB RAM.
2011-11-29 01:31:54 +01:00
Jonas 'Sortie' Termansen
8c146f14c0 Added uptime(1). 2011-11-28 16:29:53 +01:00
Jonas 'Sortie' Termansen
f232a054d3 Added O=-ON and PANIC_SHORT=1 variables to the makefile. 2011-11-28 15:25:00 +01:00
Jonas 'Sortie' Termansen
cd936886e6 Writing to /dev/vga hides the cursor until a write to /dev/tty. 2011-11-27 12:03:33 +01:00
Jonas 'Sortie' Termansen
4f3a7230b0 Destroying the addressspace after exit prevents leak of at least 16 KiB. 2011-11-27 12:02:34 +01:00
Jonas 'Sortie' Termansen
06909c6df9 Fixed panic when executing non-existent file. 2011-11-27 00:20:23 +01:00
Jonas 'Sortie' Termansen
bd1b1fe3bc Added isatty(2), which is used by editor. 2011-11-26 21:00:40 +01:00
Jonas 'Sortie' Termansen
3f50a335bb devfs now correctly manages sizes of files.
This fixes a regression caused by the RAM fix a few commits ago.
2011-11-26 21:00:37 +01:00
Jonas 'Sortie' Termansen
ce9787a439 Greatly reduced RAM usage in ramfs. 2011-11-26 20:25:25 +01:00
Jonas 'Sortie' Termansen
9152443816 Added memstat, a program for displaying memory usage. 2011-11-26 20:14:57 +01:00
Jonas 'Sortie' Termansen
b6a0fd0374 Removed deprecated VGA API and moved it to /dev/vga. 2011-11-25 13:38:31 +01:00
Jonas 'Sortie' Termansen
724305f3a7 Merge commit '7a233f2938f4e28d61504853e2f6daf4904aab33'
Conflicts:
	sortix/fs/ramfs.cpp
2011-11-24 15:38:45 +01:00
Jonas 'Sortie' Termansen
e72d086a8f Disallow / in filenames in ramfs. 2011-11-23 17:51:18 +01:00
Jonas 'Sortie' Termansen
5bf22b2c4a ramfs doesn't allow opening files as directories. 2011-11-23 14:14:59 +01:00
Jonas 'Sortie' Termansen
2b032b0414 Initial signal support. Please squash improvements into this commit. 2011-11-23 00:19:09 +01:00
Jonas 'Sortie' Termansen
46c0cc6a12 -1 is no longer an allowed system call.
This treats a nasty bug where forking and exiting before the child
causes the kernel to panic, because the syscall -1 is run, which
just contains a trash value that happened to be 0.

The cause is still unknown. Might be the scheduler.

This won't help me sleep at night.
2011-11-22 22:08:34 +01:00
Jonas 'Sortie' Termansen
b15763b2de Fixed descriptors not being reset by SysExit.
Indirectly, this fixes the snake; snake; panic bug.
2011-11-22 19:12:04 +01:00
Jonas 'Sortie' Termansen
e234e0a2d4 execve(2) now sets errno=EACCESS on non-buffer files. 2011-11-22 18:21:01 +01:00
Jonas 'Sortie' Termansen
9deb183786 The ELF loader now uses errno. 2011-11-22 18:06:40 +01:00
Jonas 'Sortie' Termansen
1b56d01f17 Improved error codes in devfs. 2011-11-22 17:56:58 +01:00
Jonas 'Sortie' Termansen
9f35df813e Implemented errno(3), added support in both kernel and utils. 2011-11-22 17:26:47 +01:00
Jonas 'Sortie' Termansen
8678ad6444 / is no longer a valid filename under ramfs. 2011-11-22 15:33:47 +01:00
Jonas 'Sortie' Termansen
2c3fb60d52 execve(2) now works relative to current dir. 2011-11-22 15:27:58 +01:00
Jonas 'Sortie' Termansen
e8fb8d885b execve(2) can now load programs from the filesystem.
Previously it was restricted to only the ramdisk.
2011-11-22 14:02:33 +01:00
Jonas 'Sortie' Termansen
324a9a1a22 Fixed bug in initfs causing panics. 2011-11-22 12:44:23 +01:00
Jonas 'Sortie' Termansen
55240fb3f5 Added devfs, with files /tty and /null and mounted it at /dev. 2011-11-21 21:49:13 +01:00
Jonas 'Sortie' Termansen
91a97a2667 Mount-points are now handled properly within the kernel. 2011-11-21 19:39:13 +01:00
Jonas 'Sortie' Termansen
8b2b52b9f6 Added unlink(2) and rm(1). 2011-11-21 19:01:56 +01:00
Jonas 'Sortie' Termansen
d4590cefa1 Added chdir(2), getcwd(2), which mxsh and ls now uses. 2011-11-21 12:19:57 +01:00
Jonas 'Sortie' Termansen
eb035d6a4a Fixed tripple-fault when creating a new frame, after the current was gc'd.
We'll need to get rid of that awful VGA sometime soon.
2011-11-21 00:27:10 +01:00
Jonas 'Sortie' Termansen
313079483a Missing files from the previous two commits. Ooops! 2011-11-21 00:19:55 +01:00
Jonas 'Sortie' Termansen
0b90ab534f ramfs now supports O_TRUNC. 2011-11-21 00:12:20 +01:00
Jonas 'Sortie' Termansen
23fde42249 Added readdirents(2), which ls(1) now uses, and added dir devices.
The initfs and ramfs are now able to list their contents.
2011-11-21 00:02:53 +01:00
Jonas 'Sortie' Termansen
e3bb0dfc9d Fixed bug in previous commit. Ooops. 2011-11-20 22:48:22 +01:00
Jonas 'Sortie' Termansen
c1849ed7d8 / is no longer a valid filename in ramfs. 2011-11-20 22:47:39 +01:00
Jonas 'Sortie' Termansen
06c0777193 Improvements to sortix/mount.cpp 2011-11-20 17:07:34 +01:00
Jonas 'Sortie' Termansen
a6a2c400bf Hard-code-mounted the initd at /bin. 2011-11-20 16:25:55 +01:00
Jonas 'Sortie' Termansen
190989646b Added an filesystem able to browse the initrd. 2011-11-20 16:25:32 +01:00
Jonas 'Sortie' Termansen
446616b3aa Improved JSVM compabillity. 2011-11-20 15:58:42 +01:00
Jonas 'Sortie' Termansen
002a1f9ea6 Hardcoded the PWD as '/'. 2011-11-19 10:32:29 +01:00
Jonas 'Sortie' Termansen
a0eebc01db Added sortix/fs to the sortix/Makefile DIRS variable. 2011-11-19 01:08:51 +01:00
Jonas 'Sortie' Termansen
013e11ca5e Added a RAM filesystem. 2011-11-19 00:57:17 +01:00
Jonas 'Sortie' Termansen
ae423eaeef Added open(2).
Please note that mount points and file systems do not exist yet.
2011-11-19 00:57:17 +01:00
Jonas 'Sortie' Termansen
15329187b9 Unrefing a device that has never been ref'd will also destroy it. 2011-11-17 23:14:45 +01:00