1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:27:35 +00:00

Kernel: Remove some friendships and make some classes non-copy/moveable

This commit is contained in:
Andreas Kling 2021-07-13 23:17:02 +02:00
parent 424afdd72b
commit de4ba1f39b
4 changed files with 11 additions and 7 deletions

View file

@ -105,9 +105,6 @@ extern RecursiveSpinLock s_mm_lock;
class MemoryManager { class MemoryManager {
AK_MAKE_ETERNAL AK_MAKE_ETERNAL
friend class PageDirectory;
friend class PhysicalPage;
friend class PhysicalRegion;
friend class AnonymousVMObject; friend class AnonymousVMObject;
friend class Region; friend class Region;
friend class VMObject; friend class VMObject;

View file

@ -12,9 +12,10 @@
namespace Kernel { namespace Kernel {
class PhysicalPage { class PhysicalPage {
AK_MAKE_NONCOPYABLE(PhysicalPage);
AK_MAKE_NONMOVABLE(PhysicalPage);
friend class MemoryManager; friend class MemoryManager;
friend class PageDirectory;
friend class VMObject;
public: public:
PhysicalAddress paddr() const; PhysicalAddress paddr() const;

View file

@ -13,7 +13,10 @@
namespace Kernel { namespace Kernel {
class PhysicalRegion { class PhysicalRegion {
AK_MAKE_ETERNAL AK_MAKE_ETERNAL;
AK_MAKE_NONCOPYABLE(PhysicalRegion);
AK_MAKE_NONMOVABLE(PhysicalRegion);
public: public:
static OwnPtr<PhysicalRegion> try_create(PhysicalAddress lower, PhysicalAddress upper) static OwnPtr<PhysicalRegion> try_create(PhysicalAddress lower, PhysicalAddress upper)
{ {

View file

@ -17,7 +17,10 @@ namespace Kernel {
// The allocator uses a buddy block scheme internally. // The allocator uses a buddy block scheme internally.
class PhysicalZone { class PhysicalZone {
AK_MAKE_ETERNAL AK_MAKE_ETERNAL;
AK_MAKE_NONCOPYABLE(PhysicalZone);
AK_MAKE_NONMOVABLE(PhysicalZone);
public: public:
static constexpr size_t ZONE_CHUNK_SIZE = PAGE_SIZE / 2; static constexpr size_t ZONE_CHUNK_SIZE = PAGE_SIZE / 2;
using ChunkIndex = i16; using ChunkIndex = i16;