monolithium.git
10 months agoRewrite the system clock to use timestamps instead of calendar time
coderain [Sun, 18 Nov 2018 23:20:13 +0000 (00:20 +0100)]
Rewrite the system clock to use timestamps instead of calendar time

10 months agoChange the timer syscalls so that sysret_t can be 32-bit
coderain [Sun, 18 Nov 2018 16:25:31 +0000 (17:25 +0100)]
Change the timer syscalls so that sysret_t can be 32-bit

12 months agoReorganize the files.
coderain [Sat, 13 Oct 2018 15:06:52 +0000 (17:06 +0200)]
Reorganize the files.

12 months agoImplement vectored I/O.
coderain [Thu, 4 Oct 2018 05:02:07 +0000 (07:02 +0200)]
Implement vectored I/O.

12 months agoImplement events using semaphores.
coderain [Tue, 25 Sep 2018 13:52:21 +0000 (15:52 +0200)]
Implement events using semaphores.

12 months agoFix pin_memory.
coderain [Tue, 25 Sep 2018 13:50:31 +0000 (15:50 +0200)]
Fix pin_memory.

12 months agoFix a stack leak. Prevent the kernel stack from overflowing.
coderain [Tue, 25 Sep 2018 13:48:53 +0000 (15:48 +0200)]
Fix a stack leak. Prevent the kernel stack from overflowing.

12 months agoMake sizeof(long) the default heap alignment.
coderain [Tue, 25 Sep 2018 13:44:43 +0000 (15:44 +0200)]
Make sizeof(long) the default heap alignment.

12 months agoGet rid of exception_return
coderain [Tue, 25 Sep 2018 13:40:47 +0000 (15:40 +0200)]
Get rid of exception_return

13 months agoFix a bug in common.mk.
coderain [Sat, 8 Sep 2018 18:55:58 +0000 (20:55 +0200)]
Fix a bug in common.mk.

13 months agoFix a bug in free_page.
coderain [Sat, 8 Sep 2018 18:06:27 +0000 (20:06 +0200)]
Fix a bug in free_page.

13 months agoMake sure the IOCTL buffers are optional.
coderain [Sat, 8 Sep 2018 18:06:05 +0000 (20:06 +0200)]
Make sure the IOCTL buffers are optional.

13 months agoSwitch to the context of the kernel process in vm86_interrupt.
coderain [Sat, 8 Sep 2018 18:05:13 +0000 (20:05 +0200)]
Switch to the context of the kernel process in vm86_interrupt.

13 months agoFix a bug in wait_for_objects.
coderain [Sat, 8 Sep 2018 18:04:36 +0000 (20:04 +0200)]
Fix a bug in wait_for_objects.

13 months agoImprove process/thread termination.
coderain [Sat, 8 Sep 2018 18:04:03 +0000 (20:04 +0200)]
Improve process/thread termination.

13 months agoFix the security check for framebuffer mapping.
coderain [Sat, 8 Sep 2018 17:57:56 +0000 (19:57 +0200)]
Fix the security check for framebuffer mapping.

13 months agoFix bugs in the VESA driver.
coderain [Sat, 8 Sep 2018 17:57:21 +0000 (19:57 +0200)]
Fix bugs in the VESA driver.

13 months agoImprove logging.
coderain [Wed, 5 Sep 2018 02:59:29 +0000 (04:59 +0200)]
Improve logging.

13 months agoFix printf bugs.
coderain [Tue, 4 Sep 2018 04:49:39 +0000 (06:49 +0200)]
Fix printf bugs.

13 months agoPass the machine state from the interrupt for kernel crashes.
coderain [Sat, 1 Sep 2018 21:21:26 +0000 (23:21 +0200)]
Pass the machine state from the interrupt for kernel crashes.

13 months agoFix a minor bug in __crt_vstrprintf.
coderain [Sat, 1 Sep 2018 21:18:52 +0000 (23:18 +0200)]
Fix a minor bug in __crt_vstrprintf.

13 months agoThe assembler needs to know the instruction size.
coderain [Sat, 1 Sep 2018 21:16:47 +0000 (23:16 +0200)]
The assembler needs to know the instruction size.

15 months agoMerge branch 'unit_tests'
coderain [Wed, 18 Jul 2018 12:18:33 +0000 (14:18 +0200)]
Merge branch 'unit_tests'

15 months agoUpdate the node balance when deleting a duplicate in the AVL tree.
coderain [Tue, 17 Jul 2018 23:08:23 +0000 (01:08 +0200)]
Update the node balance when deleting a duplicate in the AVL tree.

15 months agoMove some of the architecture-specific code into a separate unit.
coderain [Fri, 13 Jul 2018 22:20:31 +0000 (00:20 +0200)]
Move some of the architecture-specific code into a separate unit.

15 months agoBegin implementing unit tests. unit_tests
coderain [Wed, 20 Jun 2018 02:19:48 +0000 (04:19 +0200)]
Begin implementing unit tests.

15 months agoSwitch to the new locking API.
coderain [Tue, 19 Jun 2018 18:08:15 +0000 (20:08 +0200)]
Switch to the new locking API.

15 months agoMake waiting for objects generic. Implement access granting/revoking.
coderain [Tue, 19 Jun 2018 15:21:37 +0000 (17:21 +0200)]
Make waiting for objects generic. Implement access granting/revoking.

15 months agoImprove exception handling.
coderain [Mon, 18 Jun 2018 19:39:31 +0000 (21:39 +0200)]
Improve exception handling.

15 months agoIntroduce a uid_t type for user IDs.
coderain [Mon, 18 Jun 2018 18:15:20 +0000 (20:15 +0200)]
Introduce a uid_t type for user IDs.

15 months agoImprove context switching and scheduler APIs.
coderain [Mon, 18 Jun 2018 05:01:01 +0000 (07:01 +0200)]
Improve context switching and scheduler APIs.

16 months agoReimplement basic locking. Fix bugs.
coderain [Sun, 17 Jun 2018 22:05:33 +0000 (00:05 +0200)]
Reimplement basic locking. Fix bugs.

17 months agoAdd an automatic build environment setup script for POSIX-compliant systems.
coderain [Thu, 3 May 2018 23:03:58 +0000 (01:03 +0200)]
Add an automatic build environment setup script for POSIX-compliant systems.

19 months agoImplement serial logging. Finish modularizing power management.
coderain [Sat, 10 Mar 2018 05:39:44 +0000 (06:39 +0100)]
Implement serial logging. Finish modularizing power management.

19 months agoImplement printf in the CRT
coderain [Thu, 8 Mar 2018 20:38:18 +0000 (21:38 +0100)]
Implement printf in the CRT

19 months agoImplement module loading. Move drivers into modules. Fix bugs.
coderain [Sun, 25 Feb 2018 01:31:34 +0000 (02:31 +0100)]
Implement module loading. Move drivers into modules. Fix bugs.

20 months agoUpgrade to multiboot version 2
coderain [Sat, 10 Feb 2018 23:45:33 +0000 (00:45 +0100)]
Upgrade to multiboot version 2

20 months agoReimplement AVL trees
coderain [Wed, 7 Feb 2018 19:45:38 +0000 (20:45 +0100)]
Reimplement AVL trees

21 months agoAutomatically generate syscalls.h and syscalls.c as well
coderain [Sun, 24 Dec 2017 21:54:33 +0000 (22:54 +0100)]
Automatically generate syscalls.h and syscalls.c as well

21 months agoAutomatically generate the system call wrappers
coderain [Sun, 24 Dec 2017 15:35:55 +0000 (16:35 +0100)]
Automatically generate the system call wrappers

21 months agoImprove pipes. Implement pipelines. Use pipes when watching directory changes.
coderain [Sun, 24 Dec 2017 06:29:18 +0000 (07:29 +0100)]
Improve pipes. Implement pipelines. Use pipes when watching directory changes.

23 months ago[kernel] Add command line support, fix bugs
coderain [Wed, 15 Nov 2017 05:21:43 +0000 (06:21 +0100)]
[kernel] Add command line support, fix bugs

23 months ago[kernel] Bug fixes and refactoring
coderain [Wed, 15 Nov 2017 04:44:35 +0000 (05:44 +0100)]
[kernel] Bug fixes and refactoring

23 months agoImplement basic ELF executable loading
coderain [Wed, 15 Nov 2017 04:35:50 +0000 (05:35 +0100)]
Implement basic ELF executable loading

23 months ago[kernel] Fix block copying in the cache
coderain [Wed, 15 Nov 2017 04:31:30 +0000 (05:31 +0100)]
[kernel] Fix block copying in the cache

23 months ago[crt] Set the default heap. Update next_offset after blocks have been merged.
coderain [Wed, 15 Nov 2017 04:22:53 +0000 (05:22 +0100)]
[crt] Set the default heap. Update next_offset after blocks have been merged.

23 months ago[kernel] Fix bugs related to opening/listing devices
coderain [Wed, 15 Nov 2017 04:21:09 +0000 (05:21 +0100)]
[kernel] Fix bugs related to opening/listing devices

23 months agoDon't blindly strdup() optional arguments
coderain [Wed, 15 Nov 2017 04:19:45 +0000 (05:19 +0100)]
Don't blindly strdup() optional arguments

23 months agoMove video I/O control definitions to the SDK
coderain [Wed, 15 Nov 2017 04:18:02 +0000 (05:18 +0100)]
Move video I/O control definitions to the SDK

23 months ago[crt] Improve file descriptors
coderain [Wed, 15 Nov 2017 04:14:26 +0000 (05:14 +0100)]
[crt] Improve file descriptors

23 months ago[crt] Properly implement I/O buffers
coderain [Mon, 30 Oct 2017 23:44:57 +0000 (00:44 +0100)]
[crt] Properly implement I/O buffers

23 months agoImplement setjmp/longjmp
coderain [Sun, 29 Oct 2017 17:47:47 +0000 (18:47 +0100)]
Implement setjmp/longjmp

23 months agoInitialize the heap and file descriptors during CRT startup
coderain [Sat, 28 Oct 2017 21:45:59 +0000 (23:45 +0200)]
Initialize the heap and file descriptors during CRT startup

23 months agoImplement POSIX file descriptors and I/O
coderain [Sat, 28 Oct 2017 21:44:35 +0000 (23:44 +0200)]
Implement POSIX file descriptors and I/O

23 months agoImplement working directories in the CRT (and a bit of kernel support)
coderain [Sat, 28 Oct 2017 21:35:54 +0000 (23:35 +0200)]
Implement working directories in the CRT (and a bit of kernel support)

23 months agoStart implementing CRT I/O
coderain [Mon, 23 Oct 2017 04:30:31 +0000 (06:30 +0200)]
Start implementing CRT I/O

23 months ago[sdk] Remove old unused error codes [crt] Implement errno
coderain [Mon, 23 Oct 2017 02:37:50 +0000 (04:37 +0200)]
[sdk] Remove old unused error codes [crt] Implement errno

23 months agoImplement the CRT heap and use that in the kernel
coderain [Sun, 22 Oct 2017 14:31:10 +0000 (16:31 +0200)]
Implement the CRT heap and use that in the kernel

23 months agoMove synchronization-related system calls to the SDK
coderain [Sat, 21 Oct 2017 23:48:40 +0000 (01:48 +0200)]
Move synchronization-related system calls to the SDK

2 years agoRemove unnecessary system calls
coderain [Sun, 15 Oct 2017 21:29:15 +0000 (23:29 +0200)]
Remove unnecessary system calls

2 years agoSeparate monolithium exceptions from x86 exceptions; Implement lazy FPU switching
coderain [Sat, 14 Oct 2017 16:34:26 +0000 (18:34 +0200)]
Separate monolithium exceptions from x86 exceptions; Implement lazy FPU switching

2 years ago[crt] Fix atexit
coderain [Sat, 14 Oct 2017 15:41:13 +0000 (17:41 +0200)]
[crt] Fix atexit

2 years ago[crt] Implement the entry point, exit(), and atexit()
coderain [Fri, 13 Oct 2017 22:26:03 +0000 (00:26 +0200)]
[crt] Implement the entry point, exit(), and atexit()

2 years agoFix the definitions of strtok and strtok_r
coderain [Fri, 13 Oct 2017 19:28:33 +0000 (21:28 +0200)]
Fix the definitions of strtok and strtok_r

2 years agoMore optimizing
coderain [Wed, 11 Oct 2017 01:40:05 +0000 (03:40 +0200)]
More optimizing

2 years agoOptimize some string functions
coderain [Mon, 9 Oct 2017 21:11:46 +0000 (23:11 +0200)]
Optimize some string functions

2 years agoAdd a missing file header
coderain [Mon, 9 Oct 2017 17:14:08 +0000 (19:14 +0200)]
Add a missing file header

2 years agoMove C runtime stuff into a separate library
coderain [Mon, 9 Oct 2017 17:10:24 +0000 (19:10 +0200)]
Move C runtime stuff into a separate library

2 years agoMove system calls to the SDK and normalize their names
coderain [Sat, 7 Oct 2017 13:18:26 +0000 (15:18 +0200)]
Move system calls to the SDK and normalize their names

2 years agoEven more reorganizing
coderain [Sat, 7 Oct 2017 06:12:45 +0000 (08:12 +0200)]
Even more reorganizing

2 years agoMore reorganizing
coderain [Thu, 5 Oct 2017 16:51:36 +0000 (18:51 +0200)]
More reorganizing

2 years agoMove critical section stuff to sync.c
coderain [Thu, 5 Oct 2017 14:59:58 +0000 (16:59 +0200)]
Move critical section stuff to sync.c

2 years agoReorganize the headers
coderain [Thu, 5 Oct 2017 02:47:38 +0000 (04:47 +0200)]
Reorganize the headers

2 years ago[fat driver] Make sure the device exists
coderain [Sun, 1 Oct 2017 16:37:21 +0000 (18:37 +0200)]
[fat driver] Make sure the device exists

2 years agoBegin the memory manager cleanup
coderain [Sun, 13 Aug 2017 18:51:49 +0000 (20:51 +0200)]
Begin the memory manager cleanup

2 years agoFail open_file_internal if the file is marked as deleted and we don't intend to recre...
coderain [Mon, 24 Jul 2017 21:40:53 +0000 (23:40 +0200)]
Fail open_file_internal if the file is marked as deleted and we don't intend to recreate it

2 years agoMake event watcher lists volume-specific.
coderain [Sun, 23 Jul 2017 04:15:00 +0000 (06:15 +0200)]
Make event watcher lists volume-specific.

2 years agoSpecify the logical type of the reference in a comment near its pointer. Fix bugs...
coderain [Fri, 21 Jul 2017 05:59:07 +0000 (07:59 +0200)]
Specify the logical type of the reference in a comment near its pointer. Fix bugs related to improper reference use.

2 years agoMake wait_directory_event a system call
coderain [Fri, 21 Jul 2017 05:14:03 +0000 (07:14 +0200)]
Make wait_directory_event a system call

2 years agoImplement a subroutine for reporting filesystem events
coderain [Fri, 21 Jul 2017 05:06:03 +0000 (07:06 +0200)]
Implement a subroutine for reporting filesystem events

2 years agoImplement wait_directory_event, and the appropriate cleanup. No actual directory...
coderain [Fri, 21 Jul 2017 04:37:07 +0000 (06:37 +0200)]
Implement wait_directory_event, and the appropriate cleanup. No actual directory events have been defined yet.

2 years agoImplement the basics of a security system for objects.
coderain [Wed, 28 Jun 2017 17:50:14 +0000 (19:50 +0200)]
Implement the basics of a security system for objects.

2 years agoUpdate the hello.asm sample program.
coderain [Thu, 18 May 2017 16:12:28 +0000 (18:12 +0200)]
Update the hello.asm sample program.

2 years agoStart implementing the system manager.
coderain [Thu, 18 May 2017 16:11:40 +0000 (18:11 +0200)]
Start implementing the system manager.

2 years agoFix the call to terminate()
coderain [Tue, 4 Apr 2017 23:55:49 +0000 (01:55 +0200)]
Fix the call to terminate()

2 years agoMove the stack initialization code to process.c
coderain [Tue, 4 Apr 2017 22:16:28 +0000 (00:16 +0200)]
Move the stack initialization code to process.c

2 years agoInclude freestanding headers in common.h
coderain [Tue, 4 Apr 2017 19:41:32 +0000 (21:41 +0200)]
Include freestanding headers in common.h

2 years agoReplace the generated individual system calls with a generic syscall() function,...
coderain [Sun, 2 Apr 2017 18:22:50 +0000 (20:22 +0200)]
Replace the generated individual system calls with a generic syscall() function, like the one in the kernel.

2 years agoDon't leak memory in the filesystem drivers.
coderain [Mon, 27 Feb 2017 05:32:58 +0000 (06:32 +0100)]
Don't leak memory in the filesystem drivers.

2 years agoMake it so that volumes can be mounted anywhere.
coderain [Mon, 27 Feb 2017 05:29:24 +0000 (06:29 +0100)]
Make it so that volumes can be mounted anywhere.

2 years agoImplement strstr.
coderain [Mon, 27 Feb 2017 05:10:15 +0000 (06:10 +0100)]
Implement strstr.

2 years agoImplement a ramdisk filesystem driver.
coderain [Sun, 26 Feb 2017 02:57:26 +0000 (03:57 +0100)]
Implement a ramdisk filesystem driver.

2 years agoAvoid zero-sized reads/writes in the FAT filesystem driver.
coderain [Sun, 26 Feb 2017 02:46:06 +0000 (03:46 +0100)]
Avoid zero-sized reads/writes in the FAT filesystem driver.

2 years agoFix some regressions in the floppy image creation script.
coderain [Sun, 26 Feb 2017 02:44:39 +0000 (03:44 +0100)]
Fix some regressions in the floppy image creation script.

2 years agoAdd information about build prerequisites.
coderain [Sat, 25 Feb 2017 04:35:09 +0000 (05:35 +0100)]
Add information about build prerequisites.

2 years agoUse markdown for the README file.
coderain [Sun, 19 Feb 2017 16:26:55 +0000 (17:26 +0100)]
Use markdown for the README file.

2 years agoClean up the disk image creation script.
coderain [Fri, 17 Feb 2017 21:43:58 +0000 (22:43 +0100)]
Clean up the disk image creation script.

2 years agoAdd test/example programs for monolithium.
coderain [Fri, 17 Feb 2017 02:35:25 +0000 (03:35 +0100)]
Add test/example programs for monolithium.

2 years agoUsers are managed by the object manager now. Fix enum_objects_by_type.
coderain [Thu, 16 Feb 2017 15:46:44 +0000 (16:46 +0100)]
Users are managed by the object manager now. Fix enum_objects_by_type.

2 years agoFix enum_objects_by_type and its usage.
coderain [Thu, 16 Feb 2017 04:11:57 +0000 (05:11 +0100)]
Fix enum_objects_by_type and its usage.