Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8dcec749ed 
								
							 
						 
						
							
							
								
								Kernel: Detect the Home and End keyboard keys.  
							
							
							
						 
						
							2019-03-07 13:19:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9158de6c41 
								
							 
						 
						
							
							
								
								Begin working on a graphical TextEditor.  
							
							... 
							
							
							
							It's gonna be a wrapper around a new GTextEditor widget so I can easily
reuse the functionality anywhere I need it. :^) 
							
						 
						
							2019-03-07 00:31:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e56fe71dbc 
								
							 
						 
						
							
							
								
								Kernel: And some more KResult/KResultOr<T> porting work.  
							
							
							
						 
						
							2019-03-06 22:30:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								028afabf6b 
								
							 
						 
						
							
							
								
								Kernel: Port more code to KResult and KResultOr<T>.  
							
							
							
						 
						
							2019-03-06 22:14:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e6f389a544 
								
							 
						 
						
							
							
								
								Kernel: Add two error checks for open() to return EISDIR or ENODEV.  
							
							
							
						 
						
							2019-03-06 20:27:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e53cef02d5 
								
							 
						 
						
							
							
								
								Kernel: Dump kernel stack trace on assertion failure.  
							
							
							
						 
						
							2019-03-06 14:05:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								26a9d662f4 
								
							 
						 
						
							
							
								
								Kernel+WindowServer: Move mouse input signal parsing to kernel driver.  
							
							... 
							
							
							
							It was silly for the WindowServer to have to know anything about the
format of PS/2 mouse packets.
This patch also enables use of the middle mouse button. 
							
						 
						
							2019-03-05 14:01:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1cc32ebc7e 
								
							 
						 
						
							
							
								
								Kernel: Remove "requested wakeups" feature.  
							
							... 
							
							
							
							I only needed this to support the WindowServer living inside the kernel.
Now that it's been migrated to userspace, this can go. :^) 
							
						 
						
							2019-03-05 13:34:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								91031346e5 
								
							 
						 
						
							
							
								
								Kernel: More signal handling improvements.  
							
							... 
							
							
							
							Finally fixed the weird flaky crashing when resizing Terminal windows.
It was because we were dispatching a signal to "current" from the scheduler.
Yet another thing I dislike about even having a "current" process while
we're in the scheduler. Not sure yet how to fix this.
Let the signal handler's kernel stack be a kmalloc() allocation for now.
Once we can do allocation of consecutive physical pages in the supervisor
memory region, we can use that for all types of kernel stacks. 
							
						 
						
							2019-03-05 12:52:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9e1fcb74a2 
								
							 
						 
						
							
							
								
								Kernel: Returning from a signal handler reset the signal mask correctly.  
							
							... 
							
							
							
							We were setting the handled signal number as the new signal mask, oops. 
							
						 
						
							2019-03-05 11:00:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								251293f2e1 
								
							 
						 
						
							
							
								
								Kernel: Block a signal from being dispatched again until handler returns.  
							
							... 
							
							
							
							We don't handle nesting yet, but this is a step in the right direction. 
							
						 
						
							2019-03-05 10:34:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								67fc42f64e 
								
							 
						 
						
							
							
								
								Kernel: SIGCONT should unblock a blocked process.  
							
							... 
							
							
							
							Otherwise we might stay in BlockedSignal state forever. Unblocking just
means that the current syscall may fail with EINTR. 
							
						 
						
							2019-03-04 11:25:24 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0e4b7990c0 
								
							 
						 
						
							
							
								
								Kernel: Detect the Tab key. :^)  
							
							
							
						 
						
							2019-03-03 13:34:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								57fe316e01 
								
							 
						 
						
							
							
								
								Detect the "Logo" (Windows/Apple/whatever) key and use it for window resize.  
							
							... 
							
							
							
							This will be comfortable enough while I'm still developing with emulators.
QEMU keeps eating my "Alt" key presses and it's making things difficult. 
							
						 
						
							2019-03-03 12:56:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								159fa99539 
								
							 
						 
						
							
							
								
								Kernel: No need to check is_superuser() after may_execute().  
							
							... 
							
							
							
							Since may_execute() incorporates a superuser check. :^) 
							
						 
						
							2019-03-03 12:34:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5e40aa4f1a 
								
							 
						 
						
							
							
								
								LibGUI: Move shortcut actions from GEventLoop to GApplications.  
							
							... 
							
							
							
							I'm gonna want to have nested event loops sooner or later, so let's not
pollute GEventLoop with things that are meant to work globally.
This patch also changes key events to pass around their modifiers as a
bitfield all the way around the system instead of breaking them up. 
							
						 
						
							2019-03-03 12:32:15 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								725b57fe1f 
								
							 
						 
						
							
							
								
								Kernel: Try to do the right thing by default for unhandled signals.  
							
							
							
						 
						
							2019-03-03 12:13:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b0c673265a 
								
							 
						 
						
							
							
								
								Applications: Map Alt+F4 to Quit in FileManager/ProcessManager/Terminal.  
							
							
							
						 
						
							2019-03-03 02:52:22 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c350cf7b95 
								
							 
						 
						
							
							
								
								Kernel: Keyboard should detect the Page Up and Page Down keys.  
							
							
							
						 
						
							2019-03-02 23:58:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2c5a378ccc 
								
							 
						 
						
							
							
								
								Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln.  
							
							... 
							
							
							
							It's now possible to create symbolic links! :^)
This exposed an issue in Ext2FS where we'd write uninitialized data past
the end of an inode's content. Fix this by zeroing out the tail end of
the last block in a file. 
							
						 
						
							2019-03-02 01:52:24 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								37f6844c6c 
								
							 
						 
						
							
							
								
								Kernel: Port stat() to KResult/KResultOr<T>.  
							
							
							
						 
						
							2019-03-02 00:11:27 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f75eb9af16 
								
							 
						 
						
							
							
								
								Kernel: Support chdir() to a directory that's executable but not readable.  
							
							... 
							
							
							
							Also the superuser should be allowed to resolve any possible path without
getting tripped up by EACCES. 
							
						 
						
							2019-03-01 23:54:07 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								274b0260f7 
								
							 
						 
						
							
							
								
								Kernel: Don't send SIGCHLD to parent process if he has SA_NOCLDWAIT set.  
							
							... 
							
							
							
							Just transfer ownership of the dead process to the colonel and let the
scheduler reap it on next iteration. 
							
						 
						
							2019-03-01 15:52:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								6c2089c59d 
								
							 
						 
						
							
							
								
								Put miscellaneous debug spam behind #ifdefs.  
							
							
							
						 
						
							2019-03-01 10:51:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1b16a29044 
								
							 
						 
						
							
							
								
								Kernel+Userland: Implement fchmod() syscall and use it to improve /bin/cp.  
							
							... 
							
							
							
							/bin/cp will now copy the permission bits from source to destination. :^) 
							
						 
						
							2019-03-01 10:39:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								7ee4e79cd6 
								
							 
						 
						
							
							
								
								Kernel: Oops, fix Vector assertion in FS::Sync.  
							
							
							
						 
						
							2019-02-28 22:33:00 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								6b581aff77 
								
							 
						 
						
							
							
								
								Kernel: Make a copy of the dirty inode list before iterating in sync().  
							
							
							
						 
						
							2019-02-28 21:51:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e427b514dc 
								
							 
						 
						
							
							
								
								Kernel: Implement basic SIGSTOP and SIGCONT support.  
							
							
							
						 
						
							2019-02-28 12:27:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c09ab7cc40 
								
							 
						 
						
							
							
								
								Kernel: Only allow sending signals to process you own.  
							
							
							
						 
						
							2019-02-28 11:46:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								258f4671ea 
								
							 
						 
						
							
							
								
								Kernel: kill() syscall should support sending a signal to yourself.  
							
							
							
						 
						
							2019-02-28 09:44:48 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								166aadc4e1 
								
							 
						 
						
							
							
								
								ProcessManager: Start working on a graphical process manager.  
							
							... 
							
							
							
							I need a table view widget for this thing, so I'm also using this to
prototype a model/view thingy. 
							
						 
						
							2019-02-28 01:43:50 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								dda9b9ab1b 
								
							 
						 
						
							
							
								
								Userland: Add a simple /bin/stat program.  
							
							
							
						 
						
							2019-02-27 21:45:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								7c18b86781 
								
							 
						 
						
							
							
								
								Kernel: Allow uid 0 to read/write/execute any file.  
							
							
							
						 
						
							2019-02-27 17:08:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d7d6deaa5c 
								
							 
						 
						
							
							
								
								Ext2FS: Fix hole in Ext2FSInode::directory_entry_count() locking.  
							
							
							
						 
						
							2019-02-27 17:07:34 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								60d0a48be5 
								
							 
						 
						
							
							
								
								Kernel: Use KResult in link().  
							
							
							
						 
						
							2019-02-27 15:31:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5b27f11b97 
								
							 
						 
						
							
							
								
								Kernel: Use KResult in unlink() and rmdir().  
							
							
							
						 
						
							2019-02-27 14:11:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c9d7fc6ec6 
								
							 
						 
						
							
							
								
								Kernel: chmod() should allow superuser to change mode bits of any file.  
							
							
							
						 
						
							2019-02-27 12:34:43 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1d2529b4a1 
								
							 
						 
						
							
							
								
								Add chown() syscall and a simple /bin/chown program.  
							
							
							
						 
						
							2019-02-27 12:32:53 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e421c10735 
								
							 
						 
						
							
							
								
								More compat work towards porting vim.  
							
							... 
							
							
							
							It now builds and runs in the small-featureset configuration. :^) 
							
						 
						
							2019-02-27 00:02:01 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								424368034b 
								
							 
						 
						
							
							
								
								LibC: Make errno codes be #defines instead of enum values.  
							
							... 
							
							
							
							It turns out that a lot of 3rd party software does things like:
    #ifdef EINTR
        ...
    #endif
This won't work if EINTR is an enum. So much for that nice idea. 
							
						 
						
							2019-02-26 22:40:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a356746d04 
								
							 
						 
						
							
							
								
								Compat work towards porting vim.  
							
							
							
						 
						
							2019-02-26 15:57:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2e5b9d318f 
								
							 
						 
						
							
							
								
								Kernel: Simplify ELF loading a bit.  
							
							... 
							
							
							
							Instead of iterating over the sections and memcpy()ing per-section,
do all the copying based on program headers instead. 
							
						 
						
							2019-02-26 15:52:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e0c1541847 
								
							 
						 
						
							
							
								
								Compat work towards making bash-5.0 build with less patches.  
							
							... 
							
							
							
							Hacked implementations of sigsetjmp() and siglongjmp(). I didn't know about
these APIs until just now, but I hope I got them right. 
							
						 
						
							2019-02-26 14:05:28 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3f29a12d90 
								
							 
						 
						
							
							
								
								More compat work. Rename libraries from LibFoo.a => libfoo.a  
							
							... 
							
							
							
							This makes it more straightforward to build a cross-compiler toolchain.
Also move math stuff from LibC to LibM. 
							
						 
						
							2019-02-26 13:30:57 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								cccc8d8aeb 
								
							 
						 
						
							
							
								
								More compat work.  
							
							... 
							
							
							
							Move syscall to int 0x82 since using int 0x80 was kinda prone to fork bombs
when building things on Linux. :^) 
							
						 
						
							2019-02-26 12:57:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9624b54703 
								
							 
						 
						
							
							
								
								More moving towards using signed types.  
							
							... 
							
							
							
							I'm still feeling this out, but I am starting to like the general idea. 
							
						 
						
							2019-02-25 22:06:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								beda478821 
								
							 
						 
						
							
							
								
								Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t.  
							
							... 
							
							
							
							Dealing with the unsigned overflow propagation here just seems unreasonably
error prone. Let's limit ourselves to 2GB buffer sizes instead. 
							
						 
						
							2019-02-25 21:21:12 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5af4e622b9 
								
							 
						 
						
							
							
								
								Kernel: Add KResult and KResultOr<T> classes.  
							
							... 
							
							
							
							The idea here is to combine a potential syscall error code with an arbitrary
type in the case of success. I feel like this will end up much less error
prone than returning some arbitrary type that kinda sorta has bool semantics
(but sometimes not really) and passing the error through an out-param.
This patch only converts a few syscalls to using it. More to come. 
							
						 
						
							2019-02-25 20:50:22 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								15fb917f28 
								
							 
						 
						
							
							
								
								Convert more RetainPtr use to Retained.  
							
							
							
						 
						
							2019-02-25 16:04:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2cfcbdc735 
								
							 
						 
						
							
							
								
								AK: Add Retained<T>, like RetainPtr, but never null.  
							
							... 
							
							
							
							Also use some Clang attribute wizardry to get a warning for use-after-move. 
							
						 
						
							2019-02-25 12:43:52 +01:00