Commit graph

185 commits

Author SHA1 Message Date
stefan
180f370298 - add the directories sbin and var
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@403 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-10 06:47:22 +00:00
stefan
2f595f03c6 - remove compiler warnings
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@402 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 20:23:46 +00:00
stefan
4992537990 - supplement to the last patch
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@401 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 19:15:10 +00:00
stefan
308e023a85 - use non-recursive Makefiles
- this patch based on Florian Zeitz's hint


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@400 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 19:13:40 +00:00
stefan
9130e9f03c - increasing the readability
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@396 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 07:07:07 +00:00
stefan
23ed873c24 - define jump_to_user_code as line function
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@395 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-08 19:47:49 +00:00
stefan
9a9df5ed2e - merge current eduOS branch to MetalSVM
=> add the support of "real" user-space applications, which could be loaded via initrd


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@394 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-08 18:37:56 +00:00
stefan
98769944c8 - remove bug in initrd_read
=> fix the using of the argument "offset" 


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@377 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-19 17:12:20 +00:00
stefan
2bfc5a49dc - move 32bit elf header to arch/x86
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@376 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-19 07:04:50 +00:00
stefan
40d7774f77 - remove typos
- add missing Copyright statement


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@375 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-13 08:07:55 +00:00
stefan
d931830aa1 - fix bug in the routine which determines the free page frames on the SCC
(wrong break condition)


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@371 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-07 05:45:01 +00:00
stefan
810b13f37e - use the function lapic_read instead of direct memory access to the apic entries
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@370 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-07 05:37:42 +00:00
stefan
15487b4817 - remove wrong multiplicator
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@369 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-07 05:34:48 +00:00
stefan
b921da960a - use the record scc_info to determine the cpu frequency
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@368 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-06 10:49:04 +00:00
stefan
91bdd4a38b - remove typo
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@367 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-06 10:39:29 +00:00
stefan
9d2b73c6cb - add a workaround to use paging and the apic at the same time
(we don't use __attribute__((optimize(0))))


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@366 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-05 20:12:07 +00:00
stefan
8646b56a63 - minor changes to support APIC
(currently, we got page fault by entering apic_calibration)
- first steps to realize a loader



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@365 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-05 10:16:53 +00:00
stefan
81d0b19726 - add application processors' boot code
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@347 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-15 20:55:56 +00:00
stefan
7ff346df44 - remove typo
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@344 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-15 13:39:37 +00:00
stefan
2127c42070 - remove typo
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@340 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-15 12:08:37 +00:00
stefan
2dd61c1da6 - move entry point of applications to the user space
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@335 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-14 06:41:59 +00:00
stefan
ab442041c1 - remove bug in the network driver
=> now, we use correct irq number


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@334 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-13 21:58:46 +00:00
stefan
7336c60767 - set svn properties to ignore Makefile.dep
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@328 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:22:40 +00:00
stefan
9a7e2a89b9 - add forgotten files to the project
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@327 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:19:18 +00:00
stefan
45219bce2e - huge commit
- enable the paging support
- redesign of the APIC code

TODO:
- Currently, we are not able to start user-level applications.
- The RTL8139 driver does not longer work. Perhaps, a bug in the output function.
- The APIC codes doesn't work on all systems. Therefore, the code is currently disabled.



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@326 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:16:58 +00:00
stefan
d4ac31f5bf - add the svn property "ignore" to ignore Makefile.dep
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@305 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 19:52:58 +00:00
stefan
dc8a0e808c - add svn property "ignore" to ignore Makefile.dep
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@304 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 19:51:56 +00:00
stefan
7ba3a994b6 - remove some wrong definitions
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@303 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 19:50:03 +00:00
stefan
34e28a36f6 - add some debug messages
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@302 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 19:48:57 +00:00
stefan
c3c7468208 - some code cleanup
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@301 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 19:47:46 +00:00
stefan
71be663e2d - remove some compiler warnings
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@299 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 08:14:11 +00:00
stefan
6f8e291f45 - by default we enable the PCI support
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@298 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 06:07:40 +00:00
stefan
12bfcd2f87 - add lwIP-based echo and ping servers
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@297 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 06:06:28 +00:00
stefan
6dc323dd6e - Add a quick and dirty driver for the RTL8139 network adapters
- Currently, the driver detects only one adapter card. But the driver is already prepared to support several adapters.


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@296 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 06:04:56 +00:00
stefan
55bec7a933 - enable the DHCP support
- optimize the memory alignments


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@295 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 05:52:23 +00:00
stefan
2df0313f16 - remove obsolete ;
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@294 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 01:16:04 +00:00
stefan
f28fd84c68 - redesign of the apic code
- add ioapic support
- currently, all irq will forwarded to the boot processor



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@293 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-29 02:39:10 +00:00
stefan
3e1c151b5f - remove an awful bug in the calculation of the io address
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@292 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-29 02:36:40 +00:00
stefan
645ce10ed4 - cleanup pci code
- add function to determine the iobase address and the irq number of a specific device


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@291 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-27 17:28:32 +00:00
stefan
7871ef692a - add workaround to run the apic code correctly on qemu 12.5
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@290 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 18:15:09 +00:00
stefan
0dd542dc47 - code cleanup
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@289 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 18:14:13 +00:00
stefan
aec80ba9e4 - remove typo
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@274 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 05:38:01 +00:00
stefan
bc67c946af - add APIC support for the SCC
- seems to work, only the APIC timer doesn't work!


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@273 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 05:33:02 +00:00
stefan
1cfc42c5a6 - add automatic conversion form a elf to a flat binary format
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@270 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-25 03:55:44 +00:00
stefan
0419142d83 - add an inline C function for the assembler operation CL1FLUSHMB
- works only on the SCC


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@269 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 22:00:03 +00:00
stefan
6346f54594 - redesign of the function cpuid to avoid unintentional overriding of registers
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@268 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 19:05:04 +00:00
stefan
94ae01747c - avoid needless using of reschedule
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@267 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 19:00:46 +00:00
stefan
d741ef36c8 - now, get_cpu_frequency returns MHz instead of Hz
- more suitable for future architecture


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@266 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 18:58:42 +00:00
stefan
a0acab9861 - use %u instead of %d to print the processor frequency
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@255 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-14 10:38:31 +00:00
stefan
3683e9c84c - use uint32_t instead of an int to detect the processor frequency
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@254 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-13 13:04:57 +00:00