Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3cba2a8a78 
								
							 
						 
						
							
							
								
								Kernel: Add a beep() syscall that beeps the PC speaker.  
							
							... 
							
							
							
							Hook this up in Terminal so that the '\a' character generates a beep.
Finally emit an '\a' character in the shell line editing code when
backspacing at the start of the line. 
							
						 
						
							2019-05-15 21:40:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5f7bb9d072 
								
							 
						 
						
							
							
								
								malloc: Make it possible to recycle big allocation blocks as well.  
							
							... 
							
							
							
							This patch makes us recycle up to 8 blocks of 4KB size. This should
probably be extended to handle other sizes. 
							
						 
						
							2019-05-14 16:38:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									GuillaumeGas 
								
							 
						 
						
							
							
							
							
								
							
							
								801d6f572a 
								
							 
						 
						
							
							
								
								Feature/pidof ( #31 )  
							
							... 
							
							
							
							* Added killall command
* Fixed feedbacks of awesomekling
* Implemented pidof program and helper to parse arguments called ArgsParser.
* Fixed feedbacks in pidof implem.
Fixes  #26  
							
						 
						
							2019-05-13 14:31:23 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								43604bf71a 
								
							 
						 
						
							
							
								
								LibC+Shell: Make system() actually work.  
							
							... 
							
							
							
							system() will now fork off a child process and execute the command via
/bin/sh -c. There are probably some things to fix here, but it's a start. 
							
						 
						
							2019-05-13 04:52:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c1b025b5a6 
								
							 
						 
						
							
							
								
								LibC: Oops, I forgot to commit sys/uio.{cpp,h} yesterday.  
							
							
							
						 
						
							2019-05-10 17:38:51 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								99aead4857 
								
							 
						 
						
							
							
								
								Kernel: Add a writev() syscall for writing multiple buffers in one go.  
							
							... 
							
							
							
							We then use this immediately in the WindowServer/LibGUI communication in
order to send both message + optional "extra data" with a single syscall. 
							
						 
						
							2019-05-10 03:19:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								81a280da87 
								
							 
						 
						
							
							
								
								Toolchain: Make sure everything ends up in the right place in Root/  
							
							
							
						 
						
							2019-05-08 15:50:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8b249bd09b 
								
							 
						 
						
							
							
								
								Kernel+Userland: Implement mknod() syscall and add a /bin/mknod program.  
							
							
							
						 
						
							2019-05-03 22:59:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9f633a1871 
								
							 
						 
						
							
							
								
								LibC: Add strcoll() and strxfrm().  
							
							... 
							
							
							
							These are obviously not locale-aware implementations, but rather really just
strcmp() and strcpy() with different names. This makes vim build and run :^) 
							
						 
						
							2019-05-03 18:17:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								66e401d668 
								
							 
						 
						
							
							
								
								LibC: Tune the number of ChunkedBlocks we keep around empty.  
							
							... 
							
							
							
							At the moment, both mmap() and munmap() are kind of slow. Compiling with GCC
was suffering quite badly from munmap() slowness, so let's keep a few more
of the ChunkedBlocks around after they are empty, to avoid having to munmap. 
							
						 
						
							2019-05-02 18:11:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b4e7925e31 
								
							 
						 
						
							
							
								
								LibC: Move full ChunkedBlocks to a separate list in the allocator.  
							
							... 
							
							
							
							This way we only check actually usable blocks when trying to satisfy a new
allocation request. 
							
						 
						
							2019-05-02 17:06:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								60023ff70b 
								
							 
						 
						
							
							
								
								LibC: free() should move kept empty ChunkedBlocks to the end of the list.  
							
							... 
							
							
							
							This ensures that we continue allocating from partially-used blocks until
they are full. 
							
						 
						
							2019-05-02 16:35:57 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								658fff195c 
								
							 
						 
						
							
							
								
								LibC: free() should return free blocks back to the operating system.  
							
							... 
							
							
							
							Okay fine, I'll give them back. But we'll keep 4 blocks per size class on
hand, to reduce churn. 
							
						 
						
							2019-05-02 15:58:10 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2dc72bb297 
								
							 
						 
						
							
							
								
								LibC: Improve malloc() mmap names somewhat.  
							
							
							
						 
						
							2019-05-02 02:58:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								4291e96991 
								
							 
						 
						
							
							
								
								LibC: Implement a simple freelist-based malloc() with size classes.  
							
							... 
							
							
							
							It's not thread-safe yet, and there is lots of room for improvement.
Still it's a lot faster than the first-fit bitmap-based one it replaces. 
							
						 
						
							2019-05-02 02:35:29 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								98a0e10319 
								
							 
						 
						
							
							
								
								LibC: Log all malloc() calls if LIBC_LOG_MALLOC is set.  
							
							... 
							
							
							
							This makes it easier to quickly determine if a userspace process is getting
bogged down in memory allocation. 
							
						 
						
							2019-04-30 01:22:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								80850e274d 
								
							 
						 
						
							
							
								
								LibC: Oops, exit_thread() never returns.  
							
							
							
						 
						
							2019-04-29 15:18:21 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d07be1087a 
								
							 
						 
						
							
							
								
								Kernel+LibC: Add exit_thread() syscall.  
							
							
							
						 
						
							2019-04-29 15:17:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									VAN BOSSUYT Nicolas 
								
							 
						 
						
							
							
							
							
								
							
							
								3761bc3ed7 
								
							 
						 
						
							
							
								
								Toolchain: The toolchain script is now working  🎉  
							
							
							
						 
						
							2019-04-29 13:12:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									VAN BOSSUYT Nicolas 
								
							 
						 
						
							
							
							
							
								
							
							
								4977fd22b8 
								
							 
						 
						
							
							
								
								Toolchain: Useit.sh finish and added an install target for the libc's Makefile and a bit of ground work for a gcc port  
							
							
							
						 
						
							2019-04-29 13:12:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								95ddca8a52 
								
							 
						 
						
							
							
								
								LibC: Make the malloc()/free() scrubbing runtime optional (default on.)  
							
							... 
							
							
							
							Memory returned by malloc() is normally memset with 0x85.
Memory passed to free() is normally memset with 0x82.
These behaviors can now be disabled by setting one or both of
LIBC_NOSCRUB_MALLOC and LIBC_NOSCRUB_FREE in your environment. :^) 
							
						 
						
							2019-04-27 21:19:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f80244399d 
								
							 
						 
						
							
							
								
								LibC: Add dummy pthread.h for GCC build.  
							
							
							
						 
						
							2019-04-27 21:19:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d3fb0a56ed 
								
							 
						 
						
							
							
								
								LibC: Make fwrite() buffered.  
							
							... 
							
							
							
							This is a really naive implementation that makes fwrite() call fputc()
internally, but it still performs a lot better due to avoiding the write()
syscall every time. 
							
						 
						
							2019-04-27 17:32:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								100cb2a237 
								
							 
						 
						
							
							
								
								LibC: Various stdio correctness fixes.  
							
							
							
						 
						
							2019-04-27 16:19:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								490e89e240 
								
							 
						 
						
							
							
								
								LibC: Add execvpe() and make execvp()'ed children inherit environment.  
							
							
							
						 
						
							2019-04-26 03:16:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8effdc807a 
								
							 
						 
						
							
							
								
								LibC: Update stdio stream error state in more places.  
							
							
							
						 
						
							2019-04-26 00:41:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0c898e3c2c 
								
							 
						 
						
							
							
								
								Put assertions behind a DEBUG flag to make it easy to build without them.  
							
							
							
						 
						
							2019-04-23 21:52:02 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								1d02c7b6f1 
								
							 
						 
						
							
							
								
								LibC: Return a default locale from localeconv(). (For GCC 8.3.0)  
							
							
							
						 
						
							2019-04-22 13:00:59 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f9d3abf5d0 
								
							 
						 
						
							
							
								
								LibC: Add sched_yield(), needed for GCC 8.3.0 build.  
							
							
							
						 
						
							2019-04-22 00:13:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								57da00b731 
								
							 
						 
						
							
							
								
								Include Makefile.common in all other Makefiles.  
							
							
							
						 
						
							2019-04-21 04:09:39 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5451178c63 
								
							 
						 
						
							
							
								
								LibC: Minor compat tweak, move struct timezone to sys/time.h  
							
							
							
						 
						
							2019-04-21 02:59:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5f63f8120c 
								
							 
						 
						
							
							
								
								Kernel: Remove "restorer" field from SignalActionData.  
							
							... 
							
							
							
							I was originally implementing signals by looking at some man page about
sigaction() to see how it works. It seems like the restorer thingy is
system-specific and not required by POSIX, so let's get rid of it. 
							
						 
						
							2019-04-20 19:32:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5eedb22834 
								
							 
						 
						
							
							
								
								Sprinkle use of AK::Vector in various places.  
							
							... 
							
							
							
							Some of these are less helpful than others. Avoiding a bunch of mallocs
in the event loop wakeup code is definitely nice. 
							
						 
						
							2019-04-20 14:02:19 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								6d4874cb2e 
								
							 
						 
						
							
							
								
								LibC: Get rid of the now-unneeded AK/kmalloc.cpp  
							
							
							
						 
						
							2019-04-20 13:00:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								301a269ca0 
								
							 
						 
						
							
							
								
								Get rid of SERENITY macro since the compiler already defines __serenity__  
							
							... 
							
							
							
							This makes it a bit easier to use AK templates out-of-tree. 
							
						 
						
							2019-04-20 12:58:49 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9ef06e2117 
								
							 
						 
						
							
							
								
								LibC: stddbg should be opened with O_CLOEXEC.  
							
							
							
						 
						
							2019-04-18 22:20:01 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3817f5f619 
								
							 
						 
						
							
							
								
								Kernel+LibC: Add a DebugLogDevice that forwards everything to I/O port 0xe9.  
							
							... 
							
							
							
							This is then used to implement the userspace dbgprintf() in a far more
efficient way than what we had before. :^) 
							
						 
						
							2019-04-18 16:08:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								34087a9f90 
								
							 
						 
						
							
							
								
								LibC: Bring the C library close enough to newlib to trick GCC.  
							
							... 
							
							
							
							Now we can build GCC with --with-newlib, which hopefully cuts down on weird
toolchain build issues. 
							
						 
						
							2019-04-17 23:16:16 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								26a06f3fcd 
								
							 
						 
						
							
							
								
								Kernel: More work towards POSIX SHM, also add ftruncate().  
							
							
							
						 
						
							2019-04-09 01:10:00 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								99f3cc26c3 
								
							 
						 
						
							
							
								
								Kernel+LibC: Add stubs for POSIX shared memory API.  
							
							... 
							
							
							
							Specifically shm_open() and shm_unlink(). This patch just adds stubs. 
							
						 
						
							2019-04-08 23:44:12 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								9de7a0daaf 
								
							 
						 
						
							
							
								
								AK: Fix problem when building i686-pc-serenity toolchain from scratch.  
							
							
							
						 
						
							2019-04-05 03:58:40 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e19d38e742 
								
							 
						 
						
							
							
								
								LibC: Add some missing stuff in stdint.h for libstdc++.  
							
							
							
						 
						
							2019-04-05 03:37:01 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								96104b5524 
								
							 
						 
						
							
							
								
								Taskbar: More bringup work. We now see a basic window list.  
							
							
							
						 
						
							2019-04-04 01:44:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3dc3754cde 
								
							 
						 
						
							
							
								
								Font: Clean up AK::MappedFile and use it for mapping font files.  
							
							
							
						 
						
							2019-04-03 13:51:49 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								17e02e7450 
								
							 
						 
						
							
							
								
								Move NetworkOrdered.h to AK/ since it's used in both kernel and userspace.  
							
							
							
						 
						
							2019-04-02 20:04:54 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								73f3e05ebb 
								
							 
						 
						
							
							
								
								Stopwatch: Print the result in decimal instead of hexadecimal.  
							
							
							
						 
						
							2019-03-30 04:20:08 +01:00