]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/plr/ex/hello/main.cc
update
[l4.git] / l4 / pkg / plr / ex / hello / main.cc
1 #include <iostream>
2
3 #include <l4/util/util.h>
4 #include <l4/util/rdtsc.h>
5
6 #include "constants.h"
7 #include <l4/plr/measurements.h>
8
9 int main()
10 {
11         std::cout << "starting Hello (C++ version)" << std::endl;
12
13         Measurements::EventBuf *eb = reinterpret_cast<Measurements::EventBuf*>(Romain::REPLICA_LOG_ADDRESS);
14         std::cout << "evbuf @ " << std::hex << eb << " " << eb->index << " " << eb->size << std::endl;
15         
16         for (unsigned i = 0; i < 5; ++i) {
17                 std::cout << "creating event ... " << &eb->index << std::endl;
18                 Measurements::GenericEvent* ev = eb->next();
19                 std::cout << "  next @ " << std::hex << ev << std::endl;
20                 ev->header.tsc  = l4_rdtsc();
21                 ev->header.vcpu = 0x1234;
22                 ev->header.type = Measurements::Foo;
23                 ev->data.foo.start = true;
24                 
25                 std::cout << "HELLO" << std::endl;
26
27                 ev = eb->next();
28                 ev->header.tsc  = l4_rdtsc();
29                 ev->header.vcpu = 0x1234;
30                 ev->header.type = Measurements::Foo;
31                 ev->data.foo.start = false;
32
33                 l4_sleep(1000);
34         }
35
36         return 0;
37 }