complete_pic/lib.rs
1//! A complete interface for both the legacy 8259 PIC and the newer APIC. More specific documentation can be found by reading the documentation of the
2//! modules designated for the [8259 PIC](crate::pic8259) and APIC.
3//!
4//! # Usage
5//! To use this crate, add it to your `Cargo.toml` file:
6//! ```toml
7//! [dependencies]
8//! complete_pic = "0.3.0"
9//! ```
10//!
11//! ## Crate Features
12//! - `8259pic` - Enable interface for the legacy 8259 PIC (not on by default)
13//! - `apic` - Enable interface for the newer APIC (enabled by default; crate assumes you want to use the more modern variant)
14
15#![no_std]
16
17#[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
18compile_error!("This crate will only work on x86 platforms");
19
20#[cfg(feature = "8259pic")]
21pub mod pic8259;