KESO Nachbildung des Memprot1 Tests.

Tasknummern entsprechen Prioritäten

- Domain A / App0
	- Task T0, Autostart
	- Task T2

- Domain B / App1
	- Task T1

- Domain D / App2
	- Task T3, Autostart

========= Stufe 1 (Variante: KMemprot1_gen/software.vdm)
Alle Domains laufen als TRUSTED APPLICATIONS. Es findet KEINE
INTERDOMAIN-KOMMUNIKATION statt. Speicherschutz ist aktiviert, jedoch kein
Schutz für Non-Trusted Applikations.

   text    data     bss     dec     hex filename
   8708     716     968   10392    2898 KMemprot1_gen.elf

Anmerkung:
	Zum Kompilieren sind folgende Tweaks notwendig:

 **** FIXED: KESO Daten sind jetzt nicht mehr Teil der C++-Klasse ****
    - Entfernen der von KESO generierten Prototypen für die Taskobjekte. Diese
      sind (derzeit von Hand) in appcode.h definiert.

 **** FIXED: EXTRACPPFLAGS koennen jetzt im APP-Makefile definiert werden ****
    - Entfernen von #include "appcode.h" aus dem generierten bind.ah
        oder alternativ
    - Hinzufügen von $(KESOSRCPATH)/kore sowie des Testfallverzeichnisses zu
      den Includes des OS Makefiles.
			-I$(KESOSRCPATH)/kore -I$(CIAOVARIANT)/os/test/ciao/os/mp/KMemprot1_gen

======== Stufe 2 (Variante: KMemprot1_gen/hardware.vdm)
Alle Domains laufen nun als NON-TRUSTED APPLICATIONS. Es findet weiterhin KEINE
INTERDOMAIN-KOMMUNIKATION statt. Der Schutz von Non-Trusted Applikations wurde
nun zusätzlich aktiviert. Die Stacks der Tasks untereinander sind nicht
geschützt. Beim Taskwechsel muss nun per Trap-Mechanismus ins System gewechselt
werden, damit Daten des Betriebssystems sowie globale rw-Daten von KESO (also
keso_curr_task und keso_curr_domain) angepasst werden können.

   text    data     bss     dec     hex filename
   8946     804     976   10726    29e6 KMemprot1_gen.elf

Anmerkungen:
  - Alle Apps in config.xml als non-trusted markieren.

 **** HACK config.xml kann jetzt auch applicationpointcuts definieren ****
  - Die Übergangspunkte von non-trusted Applikation zu System werden anhand
    der Funktionsnamen bestimmt; die Funktionen der non-trusted Applikation
    werden aufgrund ihrer Komponente/Klasse identifiziert.
    Die von KESO generierten Funktionen sind allerdings C-Funktionen im
    globalen Namespace, mit denen dieser Mechanismus nicht funktioniert.
    Für diesen Test ist es hinreichend, alle von KESO generierten Funktionen
    der non-trusted Codebasis zuzuordnen.
    Bei dem später angepeilten Mischbetrieb ist diese einfache Lösung nicht
    mehr möglich.
 
 **** FIXED: AS.h definiert Pointcuts für OSEK-API  ****
  - Der pcOS-Pointcut funktioniert nicht korrekt, weil aus KESO
    Wrapperfunktionen verwendet werden. Entweder die Wrapperfunktionen
    entfernen und die Calls direkt durchführen, oder die Wrapper in den pcOS
    pointcut mit aufnehmen.

  - Speicherzugriff über Memory-Objekte ist nicht mehr möglich. KESO Domains,
    die einen solchen Zugriff benötigen, sollten als trusted-Applikation
    konfiguriert werden.
