1.1 --- a/libexec/include/exec/pager.h Sun Jun 12 18:04:17 2022 +0200
1.2 +++ b/libexec/include/exec/pager.h Sun Jun 12 18:56:25 2022 +0200
1.3 @@ -1,5 +1,5 @@
1.4 /*
1.5 - * A system pager implementation.
1.6 + * A system pager interface.
1.7 *
1.8 * Copyright (C) 2022 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 @@ -21,34 +21,21 @@
1.11
1.12 #pragma once
1.13
1.14 -#include <map>
1.15 -
1.16 -#include <exec/mapped_region.h>
1.17 -
1.18 #include "pager_object_interface.h"
1.19
1.20
1.21
1.22 -/* Collection types. */
1.23 -
1.24 -typedef std::map<l4_addr_t, MappedRegion> MappedRegions;
1.25 -
1.26 -
1.27 -
1.28 /* A simple system pager also acting as a region mapper. */
1.29
1.30 class ExecPager : public PagerObject
1.31 {
1.32 -protected:
1.33 - MappedRegions _regions;
1.34 -
1.35 public:
1.36 - virtual void add(MappedRegion region);
1.37 + virtual ~ExecPager();
1.38
1.39 /* Notification methods. */
1.40
1.41 virtual long exception(l4_exc_regs_t regs,
1.42 - l4_snd_fpage_t *region);
1.43 + l4_snd_fpage_t *region) = 0;
1.44
1.45 virtual long page_fault(l4_umword_t pfa, l4_umword_t pc,
1.46 l4_snd_fpage_t *region);