Bus Drivers (PCI, USB, PCMCI, SMBus)
Document the Bus Drivers (PCI, USB, PCMCI, SMBus) JNode concept in the wiki.
Value: 5
Concept Summary
Subsystem for enumerating and managing bus devices. Bus Drivers implement the low-level protocols for PCI, USB, PCMCIA, and SMBus, providing device enumeration and resource management for those buses.
Key Files
- core/src/driver/org/jnode/driver/bus/pci/PCIBus.java
- core/src/driver/org/jnode/driver/bus/pci/PCIBusAPI.java
Occurrences
~500 references in bus packages
Wiki Status
NOT documented (Driver-Framework.md covers broadly)
Bridges
Device manager, Hardware enumeration, Resource management
Instructions
Skill to Use
Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.
Context Research
Study the bus driver packages to understand how PCI, USB, PCMCIA, and SMBus enumeration works. Review how devices on each bus are discovered and registered with DeviceManager. Research the bus-specific protocols and how they differ.
Update index.md
- Pages table: Add entry for Bus-Drivers.md
- Concepts → Pages table: Add "Bus Drivers" mapping to [[Bus-Drivers]]
- Source Path → Pages table: Add mappings for
core/src/driver/org/jnode/driver/bus/
- Task Routing table: Add relevant task route(s)
Task Routing Suggestions
- Bus enumeration debugging: Understanding bus drivers is key for device discovery issues
- Adding new bus type: Bus driver architecture knowledge is essential
- Resource allocation: Bus drivers manage resources for connected devices
Wiki Page Structure
# Bus Drivers
> Subsystem for enumerating and managing bus devices (PCI, USB, PCMCIA, SMBus).
## Overview
2-3 paragraph explanation of the bus driver subsystem, the different bus types supported, and how they integrate with DeviceManager.
## Key Components
| Class / File | Role |
|---|---|
| `core/src/driver/org/jnode/driver/bus/pci/PCIBus.java` | PCI bus driver implementation |
| `core/src/driver/org/jnode/driver/bus/` | Bus driver package |
## How It Works
Explanation of how each bus type (PCI, USB, PCMCIA, SMBus) is enumerated, how devices are discovered, and how they're registered with the device framework.
## Gotchas & Non-Obvious Behavior
- Different buses have different discovery mechanisms
- Resource conflicts on buses must be handled
- Hot-plug support varies by bus type
## Related Pages
- [[DeviceManager]]
- [[Device-Discovery]]
- [[Resource-Management]]
Related Concepts: PCI, USB, PCMCIA, SMBus, Hardware enumeration, Device discovery
Bus Drivers (PCI, USB, PCMCI, SMBus)
Value: 5
Concept Summary
Subsystem for enumerating and managing bus devices. Bus Drivers implement the low-level protocols for PCI, USB, PCMCIA, and SMBus, providing device enumeration and resource management for those buses.
Key Files
Occurrences
~500 references in bus packages
Wiki Status
NOT documented (Driver-Framework.md covers broadly)
Bridges
Device manager, Hardware enumeration, Resource management
Instructions
Skill to Use
Use the [[update-wiki|update-wiki skill]] (load with
skill({ name: "update-wiki" })) for understanding JNode internals.Context Research
Study the bus driver packages to understand how PCI, USB, PCMCIA, and SMBus enumeration works. Review how devices on each bus are discovered and registered with DeviceManager. Research the bus-specific protocols and how they differ.
Update index.md
core/src/driver/org/jnode/driver/bus/Task Routing Suggestions
Wiki Page Structure
Related Concepts: PCI, USB, PCMCIA, SMBus, Hardware enumeration, Device discovery