Commit graph

82 commits

Author SHA1 Message Date
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
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
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
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
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
c8c3035a4d - complete redesign of the APIC code
- MetalSVM detects the APIC and initializes the APIC timer
- If an a APIC is available, the PIC timer will be disabled
- SMP is currently not supported



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@233 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-04 20:15:39 +00:00
stefan
141c2c194e - add a unique build number
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@227 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-04 08:27:53 +00:00
stefan
ae16dc414b - remove some typos in the comments
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@197 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-25 16:59:23 +00:00
stefan
b0e600da99 - prepare MetalSVM for multicore environments
- create the variable current_task on each core


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@159 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-12 14:45:03 +00:00
stefan
da2b895d68 - redesign of the initial ram disk
- now, we could map file in subdirectories


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@119 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-22 09:56:02 +00:00
stefan
5cfbfb5a32 - add a simple virtual filesystem and as simple initial ramdisk
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@102 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 21:20:03 +00:00
stefan
a6a9617775 - add the libc "newlib" and their support into MetalSVM
- programs could be load as module by the bootloader Grub



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@95 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 09:59:29 +00:00
stefan
585d6d01cf - first steps to realize a RCKPC driver
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@81 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 20:42:49 +00:00
stefan
7ae2d7a5f0 - move test cases in a seperate file
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@79 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 18:52:43 +00:00
stefan
61907132a8 - rename some functions
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@69 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 13:12:55 +00:00
stefan
eecf33204e - move the greeting message at th begin of the program
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@66 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 10:32:49 +00:00
stefan
311b32aef8 - add macro for a static initialization of a semaphore
- create a special process which reads the kernel messages from a buffer and dump them on the screen



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@51 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 15:43:45 +00:00
stefan
9754bffcc0 - redesign of the atomic operations
- now, we use a ticket lock



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@48 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 13:22:03 +00:00
stefan
71188c92f9 - complete restart of the project
- support of TSS-based task switching
- add a mailbox template
- suport of user level task
- support of system calls


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@47 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 11:47:51 +00:00
stefan
7294c47c98 - add code to detect pci interfaces
- code restructuring
- remove some typos in debug messages



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@42 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-05 11:53:02 +00:00
stefan
507e2afe3b - remove obsolete file
=> include directly <asm/irq.h>


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@39 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 17:22:58 +00:00
stefan
9839840e89 - simplify the code by defining the new task status TASK_IDLE
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@36 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 16:28:59 +00:00
stefan
cac9438b1a - add first steps to integrate LWIP
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@23 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-03 12:07:26 +00:00
stefan
9825532c82 - remove obsolete files
- the function join_kernel_task delivers the return value of the task, which is watinting for
-spinlocks supports irq save functions 


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@21 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-03 10:20:32 +00:00
stefan
c147a6a095 - add a simple implementation of a mailbox
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@20 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-03 07:13:12 +00:00
stefan
44f4de6e80 - add an implementation of a semaphore and some test cases
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@18 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 19:05:33 +00:00
stefan
b11c38d4af - add the support of "join_kernel_task"
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@16 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 13:24:05 +00:00
stefan
e184955a2b - add Multiboot support (http://www.gnu.org/software/grub/manual/multiboot/)
- Multiboot is needed to initialize our memory management


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@14 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 12:32:58 +00:00
stefan
7a8b4eef1c - add the possibility to exclude the keyboard supportwq
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@9 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 08:58:06 +00:00
stefan
0aea73bdc7 - add a simple memory mangement unit
- use a bitmask to mark used pages (see lecture notes "BS")


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@7 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 07:43:56 +00:00
stefan
9778b7b790 - first steps to realize a SVM subsystem in a VM
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@2 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-07-31 15:53:30 +00:00