Commit Graph

8 Commits

Author SHA1 Message Date
Kevin Lange
8980f568a3 Consolidate datastructure libraries 2014-03-24 20:18:40 -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
Kevin Lange
deaa6ad513 Rough support for environment variables
- libc functions not implemented yet
- see `env` for an example of reading variables
- see `esh` for an example of how to set and maintain variables for
  sending to other applications

  Both of the above will be the basis for the libc implementation.
2012-10-07 20:46:35 -07:00
Kevin Lange
145c4274d5 [misc] Also the include files... 2011-12-10 17:45:04 -06:00
Kevin Lange
36fd03a4ab [elf] Zero your bss, you fucking moron 2011-04-30 19:09:29 -05:00
Kevin Lange
d31d763058 [util] Readelf utility, actually reading some elfs. Cool. 2011-04-07 01:24:21 -05:00
Kevin Lange
9b3c3a1e60 [bin] Working on ELF binaries. Redid some multiboot stuff (larger ramdisks should work now) 2011-04-06 16:50:37 -05:00