Skip to content

Document DeviceManager - Value 5 #58

@LSantha

Description

@LSantha

DeviceManager

Document the DeviceManager JNode concept in the wiki.

Value: 5

Concept Summary

Central registry for devices, drivers, and their bindings. DeviceManager provides the backbone of JNode's device framework, managing device discovery, driver binding, and resource allocation.

Key Files

  • core/src/driver/org/jnode/driver/DeviceManager.java
  • core/src/driver/org/jnode/driver/DefaultDeviceManager.java

Occurrences

~300 references in driver package

Wiki Status

Partially covered (Device-Manager.md)

Bridges

Device framework, Bus drivers, Plugin system

Instructions

Skill to Use

Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.

Context Research

Study DeviceManager.java and DefaultDeviceManager.java to understand the device registry implementation. Review how devices are registered, discovered, and bound to drivers. Research the DeviceManagerListener interface for event handling.

Update index.md

  • Pages table: Add entry for DeviceManager.md
  • Concepts → Pages table: Add "DeviceManager" mapping to [[DeviceManager]]
  • Source Path → Pages table: Add mappings for core/src/driver/org/jnode/driver/
  • Task Routing table: Add relevant task route(s)

Task Routing Suggestions

  1. Device driver development: DeviceManager is central to driver integration
  2. Device discovery: Understanding discovery mechanisms is key
  3. Resource allocation: DeviceManager manages IRQ, DMA, IO port allocation

Wiki Page Structure

# DeviceManager

> Central registry for devices, drivers, and their bindings.

## Overview
2-3 paragraph explanation of DeviceManager, its role in the driver framework, and how it enables device discovery and driver binding.

## Key Components
| Class / File | Role |
|---|---|
| `core/src/driver/org/jnode/driver/DeviceManager.java` | DeviceManager interface |
| `core/src/driver/org/jnode/driver/DefaultDeviceManager.java` | Default implementation |

## How It Works
Explanation of how devices are discovered, registered, and bound to drivers. Include the DeviceToDriverMapper and plugin mechanisms.

## Gotchas & Non-Obvious Behavior
- Device binding must be atomic to prevent race conditions
- Resource conflicts must be detected and handled
- Listener notifications can affect timing of device availability

## Related Pages
- [[Driver-Framework]]
- [[Bus-Drivers]]
- [[Device-To-Driver-Mapper]]

Related Concepts: Device framework, Driver binding, Device discovery, Resource allocation, Plugin system

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions