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
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