Commit Graph

177 Commits

Author SHA1 Message Date
Kevin Lange
23d833e591 account for modules in some makefile targets 2014-03-11 00:18:51 -07:00
Kevin Lange
47ace6c8d6 Cleanup headers 2014-03-09 23:31:13 -07:00
Kevin Lange
be7dc6fb17 Support more relocation methods 2014-03-09 23:01:30 -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
8658f5ee40 More Makefile cleanup 2014-03-08 22:17:47 -08:00
Kevin Lange
f3b484eeb8 More Makefile cleanup 2014-03-08 21:46:43 -08:00
Kevin Lange
ecf124ece4 Merge branch 'strawberry-dev' of github.com:klange/toaruos into strawberry-dev 2014-02-26 21:00:29 -08:00
Kevin Lange
fd676036cc Build cleanup 2014-02-26 20:58:33 -08:00
Kevin Lange
3fd6a447ef python2 2014-02-12 13:33:19 -08:00
Kevin Lange
0f8e552060 no more ramdisks (for now) 2013-12-15 21:41:50 -08:00
Kevin Lange
ed3c578e64 clean up some legacy util stuff 2013-12-13 20:50:04 -08:00
Kevin Lange
610936ae80 Docs cleanup
- Nuke the old latex docs (They are really, really old, and I have no
  plans to keep them up to date)
- Remove LaTeX docs targets from Makefile
- Move extraneous markdown docs to docs/ and update README links
- Move styleguide to docs/
2013-11-28 19:30:46 -08:00
Kevin Lange
382a24adb8 Fix run-config to work with serial tty 2013-11-28 15:58:57 -08:00
Kevin Lange
283ac3c824 Add some tokenizing 2013-11-27 22:41:27 -08:00
Kevin Lange
bed7567508 Add a 'headless' pseudo target 2013-11-27 19:15:28 -08:00
Kevin Lange
19b5da23f7 WHO BROKE MY QEMU, I WILL FIND YOU 2013-10-18 22:07:35 -07:00
Kevin Lange
7351fa308b Various fixes to help get bash working 2013-08-04 00:04:22 -07:00
Kevin Lange
e176dd0f55 Need to make that a flag... 2013-07-14 22:37:17 -07:00
Kevin Lange
dfa72318a3 Updated build scripts to use cross gcc 2013-06-06 21:59:20 -07:00
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
ac414f005c Fix up some build stuff 2013-05-30 00:57:17 -07:00
Kevin Lange
80445dafcc Various shell and terminal cleanups 2013-05-22 21:59:28 -07:00
Kevin Lange
4e5296ad5a Use cross ld to link kernel 2013-05-08 22:21:20 -07:00
Kevin Lange
b956f6ba8a Use var for ramdisk size in makefile 2013-05-02 23:31:34 -07:00
Kevin Lange
a586afb7d1 Kill loader/ directory 2013-04-21 16:35:56 -07:00
Kevin Lange
f3faf3bc23 512MB disk images (even slower, sadly) 2013-04-21 11:25:34 -07:00
Kevin Lange
47ce8fce81 Double hard disk size 2013-03-29 11:14:20 -07:00
Kevin Lange
9b745b5de0 tags target should depend on userspace properly 2013-02-19 21:10:05 -08:00
Kevin Lange
56b83c1020 I also broke the entire core Makefile 2013-02-10 01:53:23 -08:00
Kevin Lange
b2f94bd393 Completely new build system for userspace 2013-02-10 01:36:35 -08:00
Kevin Lange
0cfa13462c Update build scripts 2013-02-09 20:49:07 -08:00
Kevin Lange
4182bba7de perhaps that'll help 2013-01-27 16:39:54 -08:00
Kevin Lange
48b7101218 Recursively build new compositor.
Also, break all the tests.
2013-01-27 16:37:40 -08:00
Kevin Lange
a4d559a96d Better disk rebuild in core makefile 2012-12-09 19:56:56 -08:00
Kevin Lange
e83f88bacb Add time support to vfs 2012-12-09 16:59:55 -08:00
Kevin Lange
942c49806b retool build utils 2012-12-05 21:40:30 -08:00
Kevin Lange
f5b5b8821d Clean up some minor bits and pieces. 2012-12-04 20:09:06 -08:00
Kevin Lange
50ea1462c3 Fix IDE on new qemu, virtualbox 2012-12-02 21:43:54 -08:00
Kevin Lange
c93b5617e8 Support C++ (roughly) in toolchain
* Reenables building of libstdc++
* Enables building of g++
* WARNING: The static binary loader does NOT support static
  initializer functions! You must run them yourself (see
  userspace/test-cpp.cpp for an example that initializes the standard
  streams in order to use cout) until this is fixed.
* C++ stuff is slow to load, try to manually strip, it'll speed things
  up a bit.
2012-11-20 19:28:22 -08:00
Kevin Lange
05728b0e2f Fix large files on modern ext2 configurations 2012-10-16 22:30:57 -07:00
Kevin Lange
50c5c72389 Use localtime for qemu rtc 2012-10-16 20:42:37 -07:00
Kevin Lange
c8b3a480c7 Scripts to run the clang analyzer 2012-10-09 21:00:50 -07:00
Kevin Lange
f79f345956 Giant ramdisks (works on my desktop)
But not on my laptop...
2012-09-18 22:20:04 -07:00
Kevin Lange
e0e7b8a7ed Double ramdisk size.
8MB can fit some freetype fonts or a dozen extra applications.

[ci skip] since Travis doesn't deal with ramdisks.
2012-09-18 20:00:50 -07:00
Kevin Lange
57534cf009 Fix things up to prepare a working ramdisk. 2012-09-18 00:06:32 -07:00
Kevin Lange
127b24a686 Bump default QEMU memory to 1GB 2012-09-14 21:53:04 -07:00
Kevin Lange
09c01eb2c5 Make docs and utils a separate build path from all
docs require too many extra dependencies and haven't been updated in
ages; utils are not required for anything.

[ci skip]
2012-09-10 22:53:39 -07:00
Kevin Lange
c8cfd50fd7 Rudimentary support for moving the viewport horiz.
Rough, still a bit broken, needs cursor tracking.

[ci skip]
2012-09-08 22:25:32 -07:00
Kevin Lange
3f5dbcaf9b Update core Makefile for building bim for Linux
[ci skip]
2012-09-08 16:49:40 -07:00
Kevin Lange
58ca0b984c Add write support; make sacrifices to the gods
- Write support!
- The widths of characters is now determined with freetype ;-;
  I really wish wcwidth() was a real thing, but it's not.
  This is a sacrifice that had to be made.

  If you are building FOR Linux -rather than toaru- you might need to
  poke at some things to make sure it builds, but in my experience it is
  working just fine (and IMEs now work properly).

  [ci skip]
2012-09-08 15:54:56 -07:00