Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8b249bd09b 
								
							 
						 
						
							
							
								
								Kernel+Userland: Implement mknod() syscall and add a /bin/mknod program.  
							
							
							
						 
						
							2019-05-03 22:59:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2470fdcd9b 
								
							 
						 
						
							
							
								
								Kernel: Make Socket inherit from File.  
							
							
							
						 
						
							2019-05-03 20:42:43 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								03da7046bd 
								
							 
						 
						
							
							
								
								Kernel: Prepare Socket for becoming a File.  
							
							... 
							
							
							
							Make the Socket functions take a FileDescriptor& rather than a socket role
throughout the code. Also change threads to block on a FileDescriptor,
rather than either an fd index or a Socket. 
							
						 
						
							2019-05-03 20:15:54 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b8e60b6652 
								
							 
						 
						
							
							
								
								Kernel: Remove unused Region::is_bitmap().  
							
							
							
						 
						
							2019-05-02 23:31:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c3b7ace3e0 
								
							 
						 
						
							
							
								
								Kernel: Assign Lock names in class member initializers.  
							
							
							
						 
						
							2019-05-02 03:28:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								28244039a5 
								
							 
						 
						
							
							
								
								Kernel: Don't symbolicate symbol+offset for obvious non-kernel addresses.  
							
							
							
						 
						
							2019-04-30 14:47:22 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8cbb7f101f 
								
							 
						 
						
							
							
								
								Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.  
							
							... 
							
							
							
							This will allow us to implement different behaviors depending on the role
of the descriptor a File is being accessed through. 
							
						 
						
							2019-04-29 13:58:40 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0a0d739e98 
								
							 
						 
						
							
							
								
								Kernel: Make FIFO inherit from File.  
							
							
							
						 
						
							2019-04-29 04:55:54 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								475a17fa4b 
								
							 
						 
						
							
							
								
								VFS: Also respect the sticky bit of the new parent in rename().  
							
							... 
							
							
							
							Obviously we should not allow overwriting someone else's files in a sticky
directory either. 
							
						 
						
							2019-04-28 23:34:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e4eca17848 
								
							 
						 
						
							
							
								
								VFS: Implement sticky bit behavior for rename() and unlink().  
							
							... 
							
							
							
							Removing entries from a sticky directory is only allowed when you are either
the owner of the entry, or the superuser. :^) 
							
						 
						
							2019-04-28 22:54:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a104d7cc93 
								
							 
						 
						
							
							
								
								Kernel: Make SharedMemory inherit from File.  
							
							
							
						 
						
							2019-04-28 22:31:31 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a6d407fec5 
								
							 
						 
						
							
							
								
								Ext2FS: Put some debug spam behind EXT2_DEBUG.  
							
							
							
						 
						
							2019-04-28 22:14:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								899f6a5de2 
								
							 
						 
						
							
							
								
								Ext2FS: Support shrinking inode to a smaller size.  
							
							... 
							
							
							
							Factor out inode resizing into a separate Ext2FSInode::resize() function.
This is then called both from write_bytes() and truncate().
This patch finally implements freeing of blocks when an inode shrinks. 
							
						 
						
							2019-04-28 22:07:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c91b0d6b5f 
								
							 
						 
						
							
							
								
								FileDescriptor: Let TTY handle its own absolute_path().  
							
							
							
						 
						
							2019-04-28 15:09:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e886337a67 
								
							 
						 
						
							
							
								
								Kernel: Make ProcessTracer inherit from File.  
							
							
							
						 
						
							2019-04-28 15:02:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d32d85e133 
								
							 
						 
						
							
							
								
								Kernel: Fix rename() sometimes failing to move within the same directory.  
							
							... 
							
							
							
							It was wrong to do a reverse name lookup on the old inode after adding
a new name for it, since we might very well get the new inode instead of
the old one, depending on hash table layouts. 
							
						 
						
							2019-04-27 22:38:51 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								52139a2392 
								
							 
						 
						
							
							
								
								DiskBackedFS: Flush write cache if it reaches 32 entries before sync.  
							
							... 
							
							
							
							This is just to avoid chewing through all of the kernel memory. There is a
lot of room for improvement here, and 32 is just a number from the place
where numbers come from. 
							
						 
						
							2019-04-27 17:30:32 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								dde8d90747 
								
							 
						 
						
							
							
								
								Ext2FS: Fix accidental zero-fill when appending to a file.  
							
							... 
							
							
							
							We were using the old file size, rather than the new file size, to determine
how much to zero-fill in the last block of a file. 
							
						 
						
							2019-04-27 17:14:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								44673c4f3b 
								
							 
						 
						
							
							
								
								Kernel: Add a write cache to DiskBackedFS.  
							
							... 
							
							
							
							This way you can spam small write()s on a file without the kernel writing
to disk every single time. Flushes are included in the FS::sync() operation
and will get triggered regularly by syncd. :^) 
							
						 
						
							2019-04-25 22:05:53 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e0cdc5db0d 
								
							 
						 
						
							
							
								
								Ext2FS: Reduce debug spam in block allocation.  
							
							
							
						 
						
							2019-04-25 22:05:32 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d5578826af 
								
							 
						 
						
							
							
								
								Kernel: Make it possible to look up FIFO's by ID.  
							
							... 
							
							
							
							This will be useful when implementing the /proc/PID/fd/N links where N is
a file descriptor referring to a FIFO. 
							
						 
						
							2019-04-25 13:53:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ca9ed13643 
								
							 
						 
						
							
							
								
								Kernel: Simplify Device::open().  
							
							
							
						 
						
							2019-04-24 02:20:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								fd500c79d6 
								
							 
						 
						
							
							
								
								Ext2S: Fix off-by-one error in block allocation.  
							
							
							
						 
						
							2019-04-23 16:38:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b041fc57de 
								
							 
						 
						
							
							
								
								Ext2FS: Bitmaps aren't always at full capacity.  
							
							... 
							
							
							
							Block bitmaps only have (blocks_per_group) entries, while inode bitmaps
only have (inodes_per_group) entries. 
							
						 
						
							2019-04-23 16:21:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								14ceabeca8 
								
							 
						 
						
							
							
								
								Ext2FS: More bitmap misunderstanding cleanups.  
							
							... 
							
							
							
							Inode bitmaps are also only ever one block. 
							
						 
						
							2019-04-23 15:07:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1bf37db9a9 
								
							 
						 
						
							
							
								
								Ext2FS: Simplify block bitmap stuff.  
							
							... 
							
							
							
							Block bitmaps are only ever one block in size. I don't know why I thought
otherwise, but use this info to simplify the code. :^) 
							
						 
						
							2019-04-23 14:51:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								58240fdb33 
								
							 
						 
						
							
							
								
								Do a pass of compiler warning fixes.  
							
							... 
							
							
							
							This is really making me question not using 64-bit integers more. 
							
						 
						
							2019-04-23 13:00:53 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5c68929aa1 
								
							 
						 
						
							
							
								
								Kernel: Add a systrace() syscall and implement /bin/strace using it.  
							
							... 
							
							
							
							Calling systrace(pid) gives you a file descriptor with a stream of the
syscalls made by a peer process. The process must be owned by the same
UID who calls systrace(). :^) 
							
						 
						
							2019-04-22 18:44:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c02c6fef28 
								
							 
						 
						
							
							
								
								Kernel+ProcessManager: Show per-process syscall counts.  
							
							... 
							
							
							
							Added a simple syscall counter to the /proc/all contents. :^) 
							
						 
						
							2019-04-17 23:16:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								33920df299 
								
							 
						 
						
							
							
								
								AK: Try to use StringViews more for substrings and splitting.  
							
							
							
						 
						
							2019-04-16 02:39:16 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2533e0b57b 
								
							 
						 
						
							
							
								
								Kernel: Reduce kmallocing in /proc/all and /proc/memstat.  
							
							
							
						 
						
							2019-04-16 00:36:17 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d384c7815f 
								
							 
						 
						
							
							
								
								Kernel: Make it possible to have kmalloc() dump call stacks.  
							
							... 
							
							
							
							This can be enabled at any time using a sysctl:
    sysctl kmalloc_stacks=1
The stacks will go to the debugger output only. 
							
						 
						
							2019-04-15 23:58:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e9c0f4567d 
								
							 
						 
						
							
							
								
								Kernel+ProcessManager: Expose the number of kmalloc/kfree calls.  
							
							... 
							
							
							
							This will be very helpful in tracking down unwanted kmalloc traffic. :^) 
							
						 
						
							2019-04-15 19:43:12 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								13041f894f 
								
							 
						 
						
							
							
								
								Kernel: Start using StringView in the VFS class.  
							
							... 
							
							
							
							The less kmalloc() we can do, the better. Calling kmalloc() disables all
interrupts while it runs, so it's directly affecting responsiveness. 
							
						 
						
							2019-04-15 14:57:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c0fe48635b 
								
							 
						 
						
							
							
								
								Kernel: Add /proc/uptime file (number of seconds since boot.)  
							
							... 
							
							
							
							Also added a simple /bin/uptime to pretty-print this information. :^) 
							
						 
						
							2019-04-14 15:19:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3f6408919f 
								
							 
						 
						
							
							
								
								AK: Improve smart pointer ergonomics a bit.  
							
							
							
						 
						
							2019-04-14 02:36:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								29d0412a06 
								
							 
						 
						
							
							
								
								Kernel: Remove system.h and make the uptime global a qword.  
							
							
							
						 
						
							2019-04-14 01:29:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								60a819c14a 
								
							 
						 
						
							
							
								
								Kernel: Yet more work on bringing up POSIX SHM.  
							
							
							
						 
						
							2019-04-09 02:37:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								26a06f3fcd 
								
							 
						 
						
							
							
								
								Kernel: More work towards POSIX SHM, also add ftruncate().  
							
							
							
						 
						
							2019-04-09 01:10:00 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								37ae00a4dd 
								
							 
						 
						
							
							
								
								Kernel+Userland: Add the rename() syscall along with a basic /bin/mv.  
							
							
							
						 
						
							2019-04-07 23:35:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								644c887594 
								
							 
						 
						
							
							
								
								Kernel: Move FIFO into FileSystem/ and Socket+LocalSocket into Net/.  
							
							
							
						 
						
							2019-04-06 20:29:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b9738fa8ac 
								
							 
						 
						
							
							
								
								Kernel: Move VM-related files into Kernel/VM/.  
							
							... 
							
							
							
							Also break MemoryManager.{cpp,h} into one file per class. 
							
						 
						
							2019-04-03 15:13:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								58c4d41c5f 
								
							 
						 
						
							
							
								
								Kernel: Remove Limits.h  
							
							
							
						 
						
							2019-04-03 13:18:42 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ab43658c55 
								
							 
						 
						
							
							
								
								Kernel: Move devices into Kernel/Devices/.  
							
							
							
						 
						
							2019-04-03 12:36:40 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9fca94269e 
								
							 
						 
						
							
							
								
								Kernel: Move TTY-related files into Kernel/TTY/.  
							
							
							
						 
						
							2019-04-03 12:28:45 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f9864940eb 
								
							 
						 
						
							
							
								
								Kernel: Move FS-related files into Kernel/FileSystem/  
							
							
							
						 
						
							2019-04-03 12:25:24 +02:00