obj: implement link objects

This commit is contained in:
2023-06-02 19:34:33 +01:00
parent 648c370679
commit 577abf3bba
4 changed files with 210 additions and 12 deletions

View File

@@ -10,6 +10,7 @@ static spin_lock_t object_types_lock = SPIN_LOCK_INIT;
kern_status_t object_bootstrap(void)
{
init_set_objects();
init_link_objects();
init_global_namespace();
return KERN_OK;
}
@@ -96,12 +97,22 @@ void object_deref(struct object *obj)
vm_cache_free(&obj->ob_type->ob_cache, obj);
}
void object_lock(struct object *obj, unsigned long *flags)
void object_lock(struct object *obj)
{
spin_lock(&obj->ob_lock);
}
void object_unlock(struct object *obj)
{
spin_unlock(&obj->ob_lock);
}
void object_lock_irqsave(struct object *obj, unsigned long *flags)
{
spin_lock_irqsave(&obj->ob_lock, flags);
}
void object_unlock(struct object *obj, unsigned long flags)
void object_unlock_irqrestore(struct object *obj, unsigned long flags)
{
spin_unlock_irqrestore(&obj->ob_lock, flags);
}