Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								56c1f9db8e 
								
							 
						 
						
							
							
								
								A userspace process can now GPF and the OS goes on!  
							
							... 
							
							
							
							This is really rickety, but it kinda sorta works for my test GPF! 
							
						 
						
							2018-10-17 23:49:32 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								77299cf54d 
								
							 
						 
						
							
							
								
								Add basic paging. Only identity maps the bottom 4MB as a start.  
							
							
							
						 
						
							2018-10-17 23:13:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								286e27ef40 
								
							 
						 
						
							
							
								
								Allow running in QEMU with "./run q"  
							
							... 
							
							
							
							The kernel doesn't run in QEMU right now and I don't know why. 
							
						 
						
							2018-10-17 16:58:35 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8ff394f83f 
								
							 
						 
						
							
							
								
								Fix a dumb in buffer_putch.  
							
							
							
						 
						
							2018-10-17 16:56:47 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9aa88fe186 
								
							 
						 
						
							
							
								
								Add a PIC::getISR() helper.  
							
							
							
						 
						
							2018-10-17 16:54:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e0f31d38a2 
								
							 
						 
						
							
							
								
								Add -fno-pic -fno-pie to build flags.  
							
							
							
						 
						
							2018-10-17 16:49:30 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f82b25d4f9 
								
							 
						 
						
							
							
								
								Fix some minor build warnings.  
							
							
							
						 
						
							2018-10-17 16:48:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								347e202f7f 
								
							 
						 
						
							
							
								
								Add size_t and ssize_t to kernel builds.  
							
							
							
						 
						
							2018-10-17 16:47:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								7580ac576f 
								
							 
						 
						
							
							
								
								Make VFS host build work again.  
							
							
							
						 
						
							2018-10-17 12:23:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								39fa1eb2c2 
								
							 
						 
						
							
							
								
								Print the contents of motd.txt on boot.  
							
							
							
						 
						
							2018-10-17 12:07:39 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								705832f387 
								
							 
						 
						
							
							
								
								List the root directory after mounting /.  
							
							... 
							
							
							
							So cool that it works! It's spewing out a bunch of terminal escape sequences
that the OS console obviously doesn't support, but we'll get there too. 
							
						 
						
							2018-10-17 11:47:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b05ed591ab 
								
							 
						 
						
							
							
								
								VFS mounts an ext2fs root! :^)  
							
							
							
						 
						
							2018-10-17 11:44:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d2425495ca 
								
							 
						 
						
							
							
								
								VirtualFileSystem class builds inside Kernel.  
							
							
							
						 
						
							2018-10-17 11:40:58 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9171521752 
								
							 
						 
						
							
							
								
								Integrate ext2 from VFS into Kernel.  
							
							
							
						 
						
							2018-10-17 10:57:23 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								aec8ab0a60 
								
							 
						 
						
							
							
								
								Add the basic character devices to kernel.  
							
							
							
						 
						
							2018-10-16 14:33:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								12e515735b 
								
							 
						 
						
							
							
								
								Add a simple IDEDiskDevice class that implements DiskDevice from VFS.  
							
							
							
						 
						
							2018-10-16 14:17:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								8293a0ff36 
								
							 
						 
						
							
							
								
								Rework DiskDevice's read() and write() to be non-virtual wrappers.  
							
							... 
							
							
							
							This way subclasses only have to implement readBlock() and writeBlock().
read() and write() require that the offset and length are both divisible
by the blockSize(). 
							
						 
						
							2018-10-16 14:13:32 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								cafb5b2ad6 
								
							 
						 
						
							
							
								
								Fixup small.fs again.  
							
							
							
						 
						
							2018-10-16 14:00:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5d465582a3 
								
							 
						 
						
							
							
								
								Start fixing up AK to work inside the kernel.  
							
							
							
						 
						
							2018-10-16 13:59:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1203c327c7 
								
							 
						 
						
							
							
								
								Merge some features from gerbert into OwnPtr and RetainPtr.  
							
							
							
						 
						
							2018-10-16 12:21:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								fd708a4cb1 
								
							 
						 
						
							
							
								
								Reduce dependence on STL.  
							
							
							
						 
						
							2018-10-16 12:11:27 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0c1a4e8de3 
								
							 
						 
						
							
							
								
								Add String::substring().  
							
							
							
						 
						
							2018-10-16 12:07:17 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9cd0a34b5c 
								
							 
						 
						
							
							
								
								BlockDevice -> DiskDevice.  
							
							... 
							
							
							
							BlockDevice was the wrong name for this abstraction, since a block device
is a type of file in a unix system, and we should use that name for that
concept in the fs implementation. 
							
						 
						
							2018-10-16 11:21:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								72bb80a9ae 
								
							 
						 
						
							
							
								
								These changes were lying around uncommitted in the old repo.  
							
							... 
							
							
							
							I'm just gonna commit them without too much thinking and then take
it from there. 
							
						 
						
							2018-10-16 11:06:35 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								87d41bdca4 
								
							 
						 
						
							
							
								
								If an interrupt comes from the slave PIC, both PICs need an EOI.  
							
							
							
						 
						
							2018-10-16 11:05:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9396108034 
								
							 
						 
						
							
							
								
								Import the "gerbert" kernel I worked on earlier this year.  
							
							... 
							
							
							
							It's a lot crappier than I remembered it. It's gonna need a lot of work. 
							
						 
						
							2018-10-16 11:02:00 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f608629704 
								
							 
						 
						
							
							
								
								Implement creating a new directory.  
							
							
							
						 
						
							2018-10-16 00:35:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5c50d02c2e 
								
							 
						 
						
							
							
								
								Fix bug where allocating a new inode forgot that inodes are 1-based.  
							
							
							
						 
						
							2018-10-15 02:42:24 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								b0eaca436c 
								
							 
						 
						
							
							
								
								"stat" command should print st_mode in octal.  
							
							
							
						 
						
							2018-10-15 02:12:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								47fc6344ac 
								
							 
						 
						
							
							
								
								Support the ext2 directory entry file_type field.  
							
							
							
						 
						
							2018-10-15 01:57:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e7901476d3 
								
							 
						 
						
							
							
								
								Bring back the intentionally broken symlink I had for testing.  
							
							
							
						 
						
							2018-10-15 01:00:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								05b088ee2f 
								
							 
						 
						
							
							
								
								Add a simple /dev/random.  
							
							
							
						 
						
							2018-10-15 00:44:54 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9528edab92 
								
							 
						 
						
							
							
								
								Move readEntireInode() up to FileSystem (from ext2.)  
							
							... 
							
							
							
							It's just a wrapper around multiple calls to readInodeBytes() now. 
							
						 
						
							2018-10-15 00:16:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0286b5ea48 
								
							 
						 
						
							
							
								
								Add a "stat" command to test FileHandle::stat().  
							
							
							
						 
						
							2018-10-14 23:39:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c7c957966a 
								
							 
						 
						
							
							
								
								Implement SyntheticFileSystem::readInodeBytes().  
							
							
							
						 
						
							2018-10-14 23:13:45 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								1f41a36c52 
								
							 
						 
						
							
							
								
								Add a Unix namespace for foo_t types.  
							
							... 
							
							
							
							This allows me to keep prototyping things on a random desktop machine,
even if that machine has its own ideas about foo_t types. 
							
						 
						
							2018-10-14 22:57:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c6d6ba7512 
								
							 
						 
						
							
							
								
								Minor errno fixups.  
							
							
							
						 
						
							2018-10-14 22:16:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								39444c5916 
								
							 
						 
						
							
							
								
								Fix HashTable::find() return iterator for items found in non-0 buckets.  
							
							
							
						 
						
							2018-10-14 22:08:36 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c94044a04a 
								
							 
						 
						
							
							
								
								Work on POSIX-like read() and lseek() support.  
							
							
							
						 
						
							2018-10-14 21:19:27 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								9f9b4a2382 
								
							 
						 
						
							
							
								
								Add a simple /dev/full.  
							
							
							
						 
						
							2018-10-14 13:16:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								fc1facf5c0 
								
							 
						 
						
							
							
								
								Let widget have a font() instead of using Font::defaultFont() everywhere.  
							
							
							
						 
						
							2018-10-14 13:06:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e5acbca0e8 
								
							 
						 
						
							
							
								
								Disable the "create /empty" test path for now.  
							
							
							
						 
						
							2018-10-14 03:02:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								93556d6743 
								
							 
						 
						
							
							
								
								Add basic character device support. Start with null and zero.  
							
							
							
						 
						
							2018-10-14 03:01:32 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								fa3b11ac64 
								
							 
						 
						
							
							
								
								Parse out major/minor device from character and block device inodes.  
							
							
							
						 
						
							2018-10-14 02:24:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								03a0dc0103 
								
							 
						 
						
							
							
								
								Add a /dev/zero to the small.fs image.  
							
							
							
						 
						
							2018-10-14 02:09:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								959a1b0750 
								
							 
						 
						
							
							
								
								Close the MsgBox when clicking the OK button.  
							
							... 
							
							
							
							This feels vaguely crashy. I haven't tested window/widget destruction
before so there's sure to be bugs. 
							
						 
						
							2018-10-14 01:23:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3ebea05996 
								
							 
						 
						
							
							
								
								Add a simple MsgBox() :^)  
							
							
							
						 
						
							2018-10-14 00:21:42 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e9e7f7a714 
								
							 
						 
						
							
							
								
								Improve TextBox text placement a little bit.  
							
							
							
						 
						
							2018-10-13 23:23:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d305c316e1 
								
							 
						 
						
							
							
								
								Add TextBox::onReturnPressed.  
							
							
							
						 
						
							2018-10-13 23:19:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								7a0a7abc52 
								
							 
						 
						
							
							
								
								Try out a signal-like system like this:  
							
							... 
							
							
							
							auto* b = new Button;
b->onClick = [] (Button&) {
    printf("The button was clicked!\n");
}; 
							
						 
						
							2018-10-13 23:01:06 +02:00