@@ -52,11 +52,12 @@ pub use elf_sections::{
52
52
pub use framebuffer:: { FramebufferColor , FramebufferField , FramebufferTag , FramebufferType } ;
53
53
pub use image_load_addr:: ImageLoadPhysAddr ;
54
54
pub use memory_map:: {
55
- EFIMemoryAreaType , EFIMemoryDesc , EFIMemoryMapTag , MemoryArea , MemoryAreaIter , MemoryAreaType ,
56
- MemoryMapTag ,
55
+ BasicMemoryInfoTag , EFIMemoryAreaType , EFIMemoryDesc , EFIMemoryMapTag , MemoryArea ,
56
+ MemoryAreaIter , MemoryAreaType , MemoryMapTag ,
57
57
} ;
58
58
pub use module:: { ModuleIter , ModuleTag } ;
59
59
pub use rsdp:: { RsdpV1Tag , RsdpV2Tag } ;
60
+ pub use smbios:: SmbiosTag ;
60
61
use tag_type:: TagIter ;
61
62
pub use tag_type:: { Tag , TagType , TagTypeId } ;
62
63
pub use vbe_info:: {
@@ -76,6 +77,7 @@ mod image_load_addr;
76
77
mod memory_map;
77
78
mod module;
78
79
mod rsdp;
80
+ mod smbios;
79
81
mod tag_type;
80
82
mod vbe_info;
81
83
@@ -218,6 +220,11 @@ impl BootInformation {
218
220
self . get ( ) . total_size as usize
219
221
}
220
222
223
+ /// Search for the basic memory info tag.
224
+ pub fn basic_memory_info_tag ( & self ) -> Option < & BasicMemoryInfoTag > {
225
+ self . get_tag :: < BasicMemoryInfoTag , _ > ( TagType :: BasicMeminfo )
226
+ }
227
+
221
228
/// Search for the ELF Sections tag.
222
229
pub fn elf_sections_tag ( & self ) -> Option < ElfSectionsTag > {
223
230
self . get_tag :: < Tag , _ > ( TagType :: ElfSections )
@@ -304,6 +311,11 @@ impl BootInformation {
304
311
self . get_tag :: < VBEInfoTag , _ > ( TagType :: Vbe )
305
312
}
306
313
314
+ /// Search for the SMBIOS tag.
315
+ pub fn smbios_tag ( & self ) -> Option < & SmbiosTag > {
316
+ self . get_tag :: < SmbiosTag , _ > ( TagType :: Smbios )
317
+ }
318
+
307
319
fn get ( & self ) -> & BootInformationInner {
308
320
unsafe { & * self . inner }
309
321
}
0 commit comments