64 Commits

Author SHA1 Message Date
Kevin Lange
7d84693b95 Make ext2 driver should magic on magic mismatch 2014-05-03 02:06:26 -07:00
Kevin Lange
e838019d67 fix ata driver for devices not providing sectors_48 2014-05-03 02:06:08 -07:00
Kevin Lange
ce48da7973 Fix debug_shell module 2014-05-03 00:15:07 -07:00
Kevin Lange
4d8335ad75 Implement proper wait/waitpid.
This is a pretty big commit, so let's run through it in parts:

- All of the userspace changes are to switch away from syscall_wait
  Mostly, this is to waitpid; some things were tweaked to do things
  "properly" instead of waiting for particular processes. Init has
  been fixed to do a proper spin wait.
- syscall_wait is gone - as are its uses. newlib bindings have been
  using just waitpid for a while now.
- waitpid now performs like a Unix waitpid
- process reaping is no longer a "do this on next change thing":
  it happens when a process is waited on, like it should
  (That means we can have real zombies: terminated processes that
  have not yet been waited on)
- Reparenting of children to init has been implemented, so you
  can fork-daemonize!

Overall, this is pretty big... So I hope it doesn't break everything.
2014-04-27 01:37:33 -07:00
Kevin Lange
5fb5e07b8e pcspkr - add device to makefile (but not module) 2014-04-26 20:18:30 -07:00
Kevin Lange
f07b2c18aa pcspkr module because why not 2014-04-26 20:12:06 -07:00
Kevin Lange
6d85b85b60 More progress maybe 2014-04-19 15:00:20 -07:00
Kevin Lange
e8bbfd3221 Add an ioctl to query available pex data 2014-04-16 18:29:49 -07:00
Kevin Lange
9934846531 make crash mod actually crash 2014-04-13 00:51:50 -07:00
Kevin Lange
8b5bc834d9 Change debug levels in packetfs module 2014-04-12 16:19:50 -07:00
Kevin Lange
4a09128a10 change format of modules command so it looks more orderly 2014-04-12 00:22:08 -07:00
Kevin Lange
faeab1ee2f Now all the descriptions fit in 80 chars 2014-04-11 22:51:16 -07:00
Kevin Lange
38429b9f03 Update description for divine-size 2014-04-11 22:50:02 -07:00
Kevin Lange
d3b873cd04 Kill some silly debug shell commands 2014-04-11 22:48:25 -07:00
Kevin Lange
3d7a3969eb Support launching arbitrary debug shells 2014-04-11 22:43:39 -07:00
Kevin Lange
a5a17099f6 pretty kernel debug shell 'help' command 2014-04-11 18:29:28 -07:00
Kevin Lange
9b2d31f51f make pci_scan take an extra arg 2014-04-10 23:34:55 -07:00
Kevin Lange
62f0afa077 stub usb-uhci module 2014-04-10 23:22:10 -07:00
Kevin Lange
75a7d5e7f2 Fix some module loading silliness 2014-04-10 23:08:07 -07:00
Kevin Lange
cf2bad7886 debug shell pci command - use correct widths 2014-04-10 22:23:36 -07:00
Kevin Lange
b728f1ce16 determine count of procfs functions at compile time 2014-04-10 20:57:33 -07:00
Kevin Lange
a9b9c2e20d Random header cleanup 2014-04-05 16:36:17 -07:00
Kevin Lange
521dc9b77b rename fs_printf, move it to logging, kill kprintf
fs_printf is now fprintf
kprint_to_file is now debug_file

debug_file and fprintf are defined in logging
kprintf has been removed
2014-04-05 16:12:09 -07:00
Kevin Lange
d0c6ff36a8 fix debug_print("...\n")s 2014-04-05 15:22:57 -07:00
Kevin Lange
5277e3ce64 More PEX cleanup 2014-04-02 22:50:32 -07:00
Kevin Lange
d810a9cca1 Fix packet sending 2014-04-02 00:42:35 -07:00
Kevin Lange
272afa1999 Rudimentary packetfs 2014-04-02 00:26:15 -07:00
Kevin Lange
0659d923d7 Support . and .. in a few more dynamic fs modules 2014-04-01 22:54:14 -07:00
Kevin Lange
9ff5bd39da Expose tmpfs functionality so modules can extend it later 2014-03-27 23:38:22 -07:00
Kevin Lange
6f4d55aeff workaround not having a real readline-ish in debug shell 2014-03-26 21:41:58 -07:00
Kevin Lange
1e91dea4cc Move rtl experiments into separate module 2014-03-24 20:00:16 -07:00
Kevin Lange
e0ac170a18 terminal size divination should be a command
and don't do it by default
2014-03-23 20:18:11 -07:00
Kevin Lange
3edad6870c Allow direct reads on directories 2014-03-19 23:03:51 -07:00
Kevin Lange
6e2b1c3e4d Clear out ext2_fs_t before using it
(or we end up with a stale lock sometimes)
2014-03-19 23:01:02 -07:00
Kevin Lange
468c15e57e entire ext2 module should not be #if 1... 2014-03-19 22:40:35 -07:00
Kevin Lange
9b5cf9cec5 Video as a module, kill device_init 2014-03-19 18:56:07 -07:00
Kevin Lange
0122c943aa Add a command to support mounting arbitrary ext2 filesystems 2014-03-18 23:07:10 -07:00
Kevin Lange
2f7fbfb5a7 Export a mount function for ext2 2014-03-18 23:06:57 -07:00
Kevin Lange
7ecf83f32a reimplement ATA write support 2014-03-18 22:57:07 -07:00
Kevin Lange
17d092e3ff Ramdisk support (again) 2014-03-18 21:37:12 -07:00
Kevin Lange
8080a74a2d Module dependencies 2014-03-18 20:11:56 -07:00
Kevin Lange
93ec0cf0d0 Make kbd+mouse appear as character devices 2014-03-16 21:50:04 -07:00
Kevin Lange
aa8ac11dd2 Fix GRUB boot stuff 2014-03-16 18:54:32 -07:00
Kevin Lange
0a08fa257e Partition mappings 2014-03-16 18:39:03 -07:00
Kevin Lange
ee30393e48 Keyboard + Mouse as modules 2014-03-16 15:13:27 -07:00
Kevin Lange
cc0c32f278 Detect segfaults in modules and print information 2014-03-16 14:39:39 -07:00
Kevin Lange
013939fbc3 New ext2 module 2014-03-16 13:30:25 -07:00
Kevin Lange
984fa1d4c6 EXT2 backed by block device
WARNING: THIS BREAKS PARTITIONS

Until I get partition maps and can produce device entries like
/dev/hda1, partitions will be broken, so DON'T TRY TO BUILD AN IMAGE
WITH THE IMAGE BUILDER.

Hopefully this is all rectified in under 24 hours...
2014-03-16 01:33:01 -07:00
Kevin Lange
c6b0ca84be ATA block devices 2014-03-16 00:46:03 -07:00
Kevin Lange
1ccd39de5c kill kprint_to_screen 2014-03-15 23:56:10 -07:00