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

Kernel: Require lock rank for Spinlock construction

All users which relied on the default constructor use a None lock rank
for now. This will make it easier to in the future remove LockRank and
actually annotate the ranks by searching for None.
This commit is contained in:
kleines Filmröllchen 2022-08-18 21:46:28 +02:00 committed by Brian Gianforcaro
parent 4809dc8ec2
commit 4314c25cf2
59 changed files with 87 additions and 78 deletions

View file

@ -53,8 +53,8 @@ private:
Vector<Capability> get_capabilities(Address);
Optional<u8> get_capabilities_pointer(Address address);
mutable RecursiveSpinlock m_access_lock;
mutable Spinlock m_scan_lock;
mutable RecursiveSpinlock m_access_lock { LockRank::None };
mutable Spinlock m_scan_lock { LockRank::None };
HashMap<u32, NonnullOwnPtr<HostController>> m_host_controllers;
Vector<DeviceIdentifier> m_device_identifiers;

View file

@ -29,7 +29,7 @@ private:
// Note: All read and writes must be done with a spinlock because
// Linux says that CPU might deadlock otherwise if access is not serialized.
Spinlock m_config_lock;
Spinlock m_config_lock { LockRank::None };
};
}

View file

@ -70,6 +70,7 @@ private:
UHCIDescriptorPool(NonnullOwnPtr<Memory::Region> pool_memory_block, StringView name)
: m_pool_name(name)
, m_pool_region(move(pool_memory_block))
, m_pool_lock(LockRank::None)
{
// Go through the number of descriptors to create in the pool, and create a virtual/physical address mapping
for (size_t i = 0; i < PAGE_SIZE / sizeof(T); i++) {

View file

@ -96,7 +96,7 @@ private:
QueueDriver* m_driver { nullptr };
QueueDevice* m_device { nullptr };
NonnullOwnPtr<Memory::Region> m_queue_region;
Spinlock m_lock;
Spinlock m_lock { LockRank::None };
friend class QueueChain;
};