Commit Graph

140 Commits

Author SHA1 Message Date
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
Kevin Lange
82a917d270 no more serial syscall
More cleanup

Oopsy
2014-03-15 20:51:11 -07:00
Kevin Lange
877c2d9d6f tmpfs, random to mods; drop ext2ramdisk 2014-03-15 19:58:38 -07:00
Kevin Lange
b46d632116 serial, null, zero to modules 2014-03-15 19:48:51 -07:00
Kevin Lange
ccc86c4dc3 Fix multiple modules, make procfs a module 2014-03-15 17:51:33 -07:00
Kevin Lange
dba78d67d2 those are kibibytes 2014-03-15 00:50:17 -07:00
Kevin Lange
99db031259 Module listing shell commands 2014-03-15 00:03:48 -07:00
Kevin Lange
903f7f6524 Expose shell to other modules (TODO: dependencies) 2014-03-14 23:37:42 -07:00
Kevin Lange
91767bcc69 Debug shell as a module 2014-03-14 23:17:59 -07:00
Kevin Lange
e9e892bae5 Unresolved symbol handling 2014-03-12 00:18:55 -07:00
Kevin Lange
ed03c517ad More real module loading
Still need to do proper loading of the ELF sections somewhere, but other
than that, we've got a standard interface now. Needs a syscall so we can
write an insmod or something like that.
2014-03-11 23:56:08 -07:00
Kevin Lange
be7dc6fb17 Support more relocation methods 2014-03-09 23:01:30 -07:00
Kevin Lange
1389916cba quick cleanup 2014-03-09 22:37:49 -07:00
Kevin Lange
c051fe7ee1 First module load! 2014-03-09 22:31:34 -07:00
Kevin Lange
cc4391d783 Initial work on modules
There's a lot here, so let's through it:
- Lots of work to include a symbol table in the kernel. We can't rely on
  our bootloader to give us our own ELF information, so we do this
  separately. This probably should be changed to output a C source
  rather than assembly, but that's a TODO.
- Makefile can now generate modules. It works basically the same way any
  other kernel object works, expect with a slightly different linking
  scheme.
- Commands have been added to the debug shell to load modules, but they
  don't work yet - still need to get through relocation and linking.
- Commands have been added to the debug shell to print the symbol list,
  as well as print symbol values (but note that printing symbol values
  is kinda dangerous if you don't know what they are, so don't just go
  printing things willy-nilly).
2014-03-09 19:36:28 -07:00