#![no_std]
extern crate alloc;
extern crate memory_structs;
use alloc::string::String;
use memory_structs::PhysicalAddress;
#[derive(Debug)]
pub struct BootloaderModule {
start_paddr: PhysicalAddress,
end_paddr: PhysicalAddress,
name: String,
}
impl BootloaderModule {
pub fn new(
start_paddr: PhysicalAddress,
end_paddr: PhysicalAddress,
name: String
) -> BootloaderModule {
BootloaderModule { start_paddr, end_paddr, name }
}
pub fn start_address(&self) -> PhysicalAddress {
self.start_paddr
}
pub fn end_address(&self) -> PhysicalAddress {
self.end_paddr
}
pub fn name(&self) -> &String {
&self.name
}
pub fn size_in_bytes(&self) -> usize {
self.end_paddr.value() - self.start_paddr.value()
}
}