]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/vmm/server/src/vm_memmap.h
Update
[l4.git] / l4 / pkg / vmm / server / src / vm_memmap.h
1 /*
2  * (c) 2013-2014 Alexander Warg <warg@os.inf.tu-dresden.de>
3  *     economic rights: Technische Universität Dresden (Germany)
4  *
5  * This file is part of TUD:OS and distributed under the terms of the
6  * GNU General Public License 2.
7  * Please see the COPYING-GPL-2 file for details.
8  */
9 #pragma once
10
11 #include <l4/sys/l4int.h>
12 #include <map>
13
14 #include "mmio_device.h"
15
16 struct Region
17 {
18   l4_addr_t start;
19   l4_addr_t end;
20
21   Region() {}
22   Region(l4_addr_t a) : start(a), end(a) {}
23   Region(l4_addr_t s, l4_addr_t e) : start(s), end(e) {}
24
25   static Region ss(l4_addr_t start, l4_size_t size)
26   { return Region(start, start + size - 1); }
27
28   bool operator < (Region const &r) const { return end < r.start; }
29 };
30
31 typedef std::map<Region, Vmm::Mmio_device *> Vm_mem;